.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-modern-checkout,
						.cartflows_step-template .select2-container--default .select2-results__option--highlighted[aria-selected],
						.cartflows_step-template .select2-container--default .select2-results__option--highlighted[data-selected]{--wcf-primary-color:#f16334;}.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form.wcf-embed-checkout-form-modern-checkout .woocommerce form .form-row input.input-text:focus,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form.wcf-embed-checkout-form-modern-checkout .woocommerce form .form-row textarea:focus,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form.wcf-embed-checkout-form-modern-checkout .woocommerce #order_review .wcf-custom-coupon-field input.input-text:focus{box-shadow:0 0 0 1px #f16334;}.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-two-step .wcf-embed-checkout-form-steps .step-one.wcf-current:before,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-two-step .wcf-embed-checkout-form-steps .step-two.wcf-current:before{background-color:#f16334;}.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-two-step .wcf-embed-checkout-form-note:before{border-top-color:#f16334;}.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-two-step .woocommerce .wcf-embed-checkout-form-nav-btns .wcf-next-button,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-two-step .wcf-embed-checkout-form-note,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form .wcf-custom-coupon-field button.wcf-submit-coupon,
						.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form .woocommerce #order_review button,
						body .wcf-pre-checkout-offer-wrapper #wcf-pre-checkout-offer-content button.wcf-pre-checkout-offer-btn{background-color:#f16334;border-color:#f16334;}.elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form, .elementor-69 .elementor-element.elementor-element-7e4ce01 .wcf-embed-checkout-form-modern-checkout{--wcf-heading-color:#000000;}/* Start custom CSS for checkout-form, class: .elementor-element-7e4ce01 *//* ================================================
   CHECKOUT ETAPAS NUMERADAS - CARTFLOWS
   Versão reduzida (upsell): Email + Primeiro nome + País
   ================================================ */

/* Reset geral */
.woocommerce-checkout h3 {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  color: #333;
}

/* -------- ETAPA 1: INFORMAÇÕES DO CLIENTE -------- */
#customer_information_heading {
  background: #f8f8f8;
  border: 1px solid #e0e0e0;
  padding: 14px 20px;
  border-radius: 6px 6px 0 0;
  position: relative;
  padding-left: 50px;
  margin-bottom: 0;
}
#customer_information_heading::before {
  content: "1";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  background: #333;
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
}
.woocommerce-billing-fields-custom {
  margin-bottom: 20px;
}
.woocommerce-billing-fields__customer-info-wrapper {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  padding: 20px;
  border-radius: 0 0 6px 6px;
  margin-bottom: 0;
}

/* Usuário logado */
.wcf-logged-in-customer-info {
  background: #f9f9f9;
  padding: 12px 16px;
  border-radius: 4px;
  border-left: 3px solid #62c96b;
  font-size: 14px;
  color: #555;
  margin: 0;
}

/* -------- SEPARAR CAMPOS: INFORMAÇÕES PESSOAIS -------- */
#billing_fields_heading {
  display: none;
}
.woocommerce-billing-fields {
  margin-bottom: 0;
}
.woocommerce-billing-fields__field-wrapper {
  padding: 0;
  margin: 0;
}

/* Segurança: caso o CartFlows ainda renderize sobrenome/telefone
   escondidos no DOM, garantimos que não aparecem nem quebram a caixa. */
#billing_last_name_field,
#billing_phone_field,
#billing_address_1_field,
#billing_city_field,
#billing_postcode_field {
  display: none !important;
}

/* Caixa da Etapa 1: Primeiro Nome e Email.
   Cada campo é uma caixa fechada e independente (4 cantos arredondados).
   Isso é proposital: em alguns fluxos do CartFlows o campo de e-mail some
   sozinho quando o cliente já está logado (aparece só o aviso "bem-vindo
   de volta"), e uma caixa "grudada" quebraria o visual nesse caso. Com
   caixas independentes, funciona igual não importa quais campos aparecem. */
#billing_first_name_field,
#billing_email_field {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px !important;
}

/* -------- ETAPA 2: PAÍS -------- */
/* Como sobrou só o campo País, ele forma a caixa inteira sozinho
   (topo + corpo), com o cabeçalho "2" embutido via ::before. */
#billing_country_field {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px !important;
  position: relative;
}
#billing_country_field::before {
  content: "Endereço";
  display: block;
  background: #f8f8f8;
  border: 1px solid #e0e0e0;
  padding: 14px 20px;
  border-radius: 6px 6px 0 0;
  position: relative;
  padding-left: 50px;
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin: -20px -20px 20px -20px;
}
#billing_country_field::after {
  content: "2";
  position: absolute;
  left: 18px;
  top: 14px;
  background: #333;
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
}

/* -------- RESUMO DO PEDIDO -------- */
#order_review_heading {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: #333;
}
.shop_table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
}
.shop_table thead th {
  background: #f8f8f8;
  padding: 12px 16px;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid #e0e0e0;
}
.shop_table tbody td,
.shop_table tfoot td,
.shop_table tfoot th {
  padding: 12px 16px;
  border-bottom: 1px solid #f5f5f5;
  font-size: 14px;
}
.shop_table tfoot tr:last-child td,
.shop_table tfoot tr:last-child th {
  border-bottom: none;
}
.shop_table .cart-subtotal th,
.shop_table .cart-subtotal td {
  padding-top: 12px;
  padding-bottom: 12px;
}
.shop_table .order-total th,
.shop_table .order-total td {
  font-weight: 600;
  font-size: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
}

/* -------- ETAPA 3: PAGAMENTO -------- */
.wcf-payment-option-heading {
  margin-top: 0;
  margin-bottom: 0;
}
#payment_options_heading {
  background: #f8f8f8;
  border: 1px solid #e0e0e0;
  padding: 14px 20px;
  border-radius: 6px 6px 0 0;
  position: relative;
  padding-left: 50px;
  margin-bottom: 0;
}
#payment_options_heading::before {
  content: "3";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  background: #333;
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
}
#payment {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  padding: 20px;
  border-radius: 0 0 6px 6px;
  margin-bottom: 0;
}

/* -------- CAMPOS DE INPUT -------- */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select {
  height: 46px;
  border-radius: 5px;
  border: 1px solid #d1d1d1;
  font-size: 14px;
  padding: 0 14px;
  background: #fff;
  transition: all 0.2s;
  width: 100%;
}
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout select:focus {
  border-color: #62c96b;
  outline: none;
  box-shadow: 0 0 0 3px rgba(98, 201, 107, 0.1);
}

/* Labels */
.woocommerce-checkout label {
  font-size: 14px;
  font-weight: 500;
  color: #444;
  margin-bottom: 6px;
  display: block;
}

/* Campos obrigatórios */
.woocommerce-checkout .required {
  color: #e74c3c;
}

/* -------- ESPAÇAMENTO DOS CAMPOS -------- */
.woocommerce-checkout .form-row {
  margin-bottom: 16px;
}
#billing_country_field .form-row {
  margin-bottom: 0;
}

/* -------- BOTÃO FINALIZAR PEDIDO -------- */
.form-row.place-order {
  margin: 0;
  padding: 0;
}
#place_order {
  background-color: #62c96b !important;
  border: none !important;
  border-radius: 6px;
  height: 52px;
  font-size: 16px;
  font-weight: 600;
  color: #fff !important;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}
#place_order:hover {
  background-color: #52b95b !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(98, 201, 107, 0.3);
}

/* -------- TERMOS E PRIVACIDADE -------- */
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
}
.woocommerce-privacy-policy-text {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  padding: 12px;
  background: #f8f8f8;
  border-radius: 4px;
  margin: 0 0 16px 0;
}
.woocommerce-privacy-policy-text p {
  margin: 0;
}
.woocommerce-privacy-policy-text a {
  color: #62c96b;
  text-decoration: underline;
}

/* -------- AJUSTES GERAIS DE LAYOUT -------- */
.wcf-order-wrap {
  margin-top: 0;
}

/* -------- ORDER BUMP -------- */
div.wcf-bump-order-wrap.wcf-bump-order-ivc {
  border: 2px dashed #28a745;
  border-radius: 12px;
  padding: 20px;
  background-color: #f9fff9;
  margin-bottom: 20px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
  box-sizing: border-box;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-image {
  flex: 0 0 auto;
  width: 90px;
  max-width: 100%;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-image img {
  border-radius: 8px;
  width: 100%;
  height: auto;
  display: block;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-info {
  flex: 1;
  padding: 0;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-label {
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin-bottom: 6px;
  display: block;
  line-height: 1.2;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-desc {
  font-size: 14px;
  line-height: 1.5;
  color: #666;
  margin-bottom: 12px;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-offer {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 10px 15px;
  border-radius: 8px;
  border: 1px solid #ddd;
  width: fit-content;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-right: 10px;
  accent-color: #28a745;
  cursor: pointer;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-offer-label {
  font-weight: 700;
  font-size: 15px;
  color: #28a745;
  margin: 0;
}
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-offer .wcf-bump-order-price ins,
div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-offer .amount {
  color: #28a745;
  font-size: 20px;
  font-weight: 800;
  margin-left: 5px;
  text-decoration: none;
}

/* -------- RESPONSIVE -------- */
@media (max-width: 768px) {
  #customer_information_heading::before,
  #payment_options_heading::before {
    width: 22px;
    height: 22px;
    font-size: 12px;
    left: 14px;
  }

  #customer_information_heading,
  #payment_options_heading {
    padding-left: 46px;
    font-size: 14px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  #billing_country_field::before {
    padding-left: 46px;
    font-size: 14px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  #billing_country_field::after {
    width: 22px;
    height: 22px;
    font-size: 12px;
    left: 14px;
    top: 12px;
  }

  #payment,
  .woocommerce-billing-fields__customer-info-wrapper {
    padding: 16px;
  }

  #billing_first_name_field,
  #billing_email_field,
  #billing_country_field {
    padding: 16px;
  }

  .shop_table thead th,
  .shop_table tbody td,
  .shop_table tfoot td,
  .shop_table tfoot th {
    padding: 10px 12px;
    font-size: 13px;
  }

  /* Order bump empilhado e centralizado no mobile */
  div.wcf-bump-order-wrap.wcf-bump-order-ivc {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-image {
    width: 120px;
    margin: 0 auto;
  }
  div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-info {
    width: 100%;
  }
  div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-label {
    font-size: 18px;
  }
  div.wcf-bump-order-wrap.wcf-bump-order-ivc .wcf-bump-order-offer {
    justify-content: center;
    margin: 0 auto;
    padding: 12px 20px;
    gap: 10px;
  }
  div .woocommerce-Price-amount.amount {
    color: #28a745 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    display: inline-block;
    margin-left: 4px;
  }
}/* End custom CSS */