.elementor-80 .elementor-element.elementor-element-71f264e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-80 .elementor-element.elementor-element-c9bfbd2{column-gap:0px;}.elementor-80 .elementor-element.elementor-element-6d07c307{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-950e2c5 *//* Container principal do checkout */
.woocommerce-checkout {
  max-width: 100% !important;
  margin: 0 auto;
}

.woocommerce-checkout .site-content,
body.woocommerce-checkout .site-content {
    background-color: #ecebeb !important;
}

/* Borda nas colunas */
.woocommerce-checkout .col-lg {
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  padding: 20px !important;
}

/* Ocultar "Informação adicional" */
.woocommerce-additional-fields {
  display: none !important;
}

/* Seções do checkout */
.checkout-step-section {
  display: none;
  animation: fadeInUp 0.4s ease;
}

.checkout-step-section.active {
  display: block;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Inputs e Selects - APENAS dentro do formulário de checkout */
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout .select,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout input[type="text"],
.woocommerce-checkout form.checkout input[type="email"],
.woocommerce-checkout form.checkout input[type="tel"],
.woocommerce-checkout form.checkout textarea {
  width: 100% !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #333333 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid #e0e0e0 !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
  outline: none !important;
}

.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout .select:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout input[type="text"]:focus,
.woocommerce-checkout form.checkout input[type="email"]:focus,
.woocommerce-checkout form.checkout input[type="tel"]:focus,
.woocommerce-checkout form.checkout textarea:focus {
  border-bottom-color: #D72232 !important;
  background: rgba(215, 34, 50, 0.05) !important;
}

/* Placeholder */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: #999 !important;
  opacity: 1 !important;
}

/* Labels - Mostrar apenas para métodos de pagamento */
.woocommerce-checkout label {
  display: none !important;
}

/* Labels dos métodos de pagamento devem aparecer */
.woocommerce-checkout .wc_payment_method label,
.woocommerce-checkout #payment ul.payment_methods label {
  display: inline-block !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #333333 !important;
  cursor: pointer !important;
  margin-bottom: 0 !important;
}

/* Labels de checkbox e radio devem aparecer */
.woocommerce-checkout label.checkbox,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.custom-file-label,
.woocommerce-checkout label.screen-reader-text {
  display: inline-block !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #333333 !important;
  cursor: pointer !important;
  margin-left: 8px !important;
}

/* Labels que devem estar visíveis mas fora da tela */
.woocommerce-checkout label.screen-reader-text {
  position: absolute !important;
  left: -9999px !important;
  display: block !important;
}

/* Labels para file inputs */
.woocommerce-checkout label.custom-file-label {
  display: block !important;
  margin-left: 0 !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #666 !important;
  position: relative !important;
}

.woocommerce-checkout label.custom-file-label:hover {
  border-color: #D72232 !important;
  background: rgba(215, 34, 50, 0.05) !important;
  color: #D72232 !important;
}

/* Ícone visual para file input */
.woocommerce-checkout label.custom-file-label::before {
  content: '📎 ' !important;
  margin-right: 8px !important;
  font-size: 18px !important;
}

/* Estilo específico para labels dos métodos de pagamento */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label {
  color: #D72232 !important;
  background: transparent !important;
  width: 100% !important;
  padding: 15px 8px 15px 35px !important;
  border-radius: 0 !important;
}

/* ===== LAYOUT GRID RESPONSIVO ===== */

/* Wrapper dos campos do formulário */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px 24px !important;
}

/* Campos que ocupam largura total */
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout .show-if-educator,
.woocommerce-checkout .checkbox-group,
.woocommerce-checkout #billing_persontype_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_state_field {
  grid-column: 1 / -1 !important;
}

/* Campos que ficam lado a lado naturalmente */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  grid-column: auto !important;
}

/* Form rows */
.woocommerce-checkout .form-row {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* Checkbox e Radio customizados - EXCETO métodos de pagamento */
.woocommerce-checkout input[type="checkbox"]:not(.wc_payment_method input),
.woocommerce-checkout input[type="radio"]:not(.wc_payment_method input) {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin-right: 10px !important;
  border: 2px solid #333333 !important;
  border-radius: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  vertical-align: middle !important;
  background: transparent !important;
}

/* Checkboxes marcados */
.woocommerce-checkout input[type="checkbox"]:checked {
  background: #D72232 !important;
  border-color: #D72232 !important;
}

/* Checkbox de educador - alinhamento à esquerda */
.woocommerce-checkout #is_checkout_educator_field {
  text-align: left !important;
  margin-top: 15px !important;
}

/* Radio buttons dos métodos de pagamento */
.woocommerce-checkout .wc_payment_method input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  margin-right: 10px !important;
  border: 2px solid #333333 !important;
  border-radius: 50% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Remover a bolinha branca do centro */
.woocommerce-checkout .wc_payment_method input[type="radio"]:checked::before,
.woocommerce-checkout #payment ul.payment_methods input[type="radio"]:checked::before {
  display: none !important;
}

.woocommerce-checkout input[type="checkbox"]:checked::after {
  content: '✓' !important;
  color: #fff !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* File inputs customizados */
.woocommerce-checkout input[type="file"] {
  display: block !important;
  opacity: 0 !important;
  position: absolute !important;
  z-index: -1 !important;
}

.woocommerce-checkout .custom-file {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin-bottom: 10px !important;
}

/* Container do file input */
.woocommerce-checkout .custom-file.d-block {
  display: block !important;
  width: 100% !important;
}

/* Grupos de checkbox */
.woocommerce-checkout .checkbox-group {
  display: block !important;
  padding: 15px 20px !important;
  background: transparent !important;
  border: 1px solid #e0e0e0 !important;
  margin-bottom: 0 !important;
}

.woocommerce-checkout .checkbox-group > label:first-child {
  display: block !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  margin-bottom: 10px !important;
  margin-left: 0 !important;
  color: #333333 !important;
}

.woocommerce-checkout .checkbox-group span.d-block {
  display: block !important;
  margin-bottom: 8px !important;
}

/* Descriptions e small texts */
.woocommerce-checkout small,
.woocommerce-checkout .description {
  display: block !important;
  font-size: 12px !important;
  color: #666 !important;
  margin-top: 8px !important;
}

/* Description específica para evitar cores indesejadas */
.woocommerce-checkout span.description {
  color: #666 !important;
  font-style: italic !important;
}

/* Description do educator_payslip com fundo vermelho */
.woocommerce-checkout #educator_payslip-description {
  background: #D72232 !important;
  color: #fff !important;
  padding: 10px 15px !important;
  border-radius: 4px !important;
  font-style: normal !important;
  margin-top: 10px !important;
}

/* Lista de métodos de pagamento */
.woocommerce-checkout ul.wc_payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout .wc_payment_method {
  padding: 0 !important;
  margin-bottom: 10px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}

/* Ocultar descrições dos métodos de pagamento */
.woocommerce-checkout .payment_box {
  display: none !important;
}

/* Grupos de campos */
.woocommerce-billing-fields,
.woocommerce-shipping-fields {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Checkbox "Entregar para um endereço diferente?" */
.woocommerce-checkout #ship-to-different-address {
  text-align: left !important;
  margin-bottom: 20px !important;
}

.woocommerce-checkout #ship-to-different-address label {
  display: inline-block !important;
  margin-left: 8px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #333333 !important;
  cursor: pointer !important;
}

/* Campos de shipping - visibilidade controlada pelo WooCommerce */
.woocommerce-checkout .shipping_address {
  animation: fadeInUp 0.4s ease;
}

/* Remover backgrounds mantendo transparent */
.woocommerce-checkout .bg-light,
.woocommerce-checkout .bg-secondary {
  background-color: transparent !important;
  border-radius: 0 !important;
}

/* Remover padding horizontal das divs */
.woocommerce-checkout .px-2,
.woocommerce-checkout .px-sm-5,
.woocommerce-checkout .rounded-xs {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Títulos das seções */
.woocommerce-checkout h3,
.woocommerce-checkout h2 {
  color: #333333 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin-bottom: 30px !important;
  text-align: left !important;
  position: relative !important;
  padding-bottom: 15px !important;
}

.woocommerce-checkout h3::after,
.woocommerce-checkout h2::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 60px !important;
  height: 3px !important;
  background: #D72232 !important;
}

/* Mudar "Seu pedido" para "Resumo do pedido" */
.woocommerce-checkout #order_review_heading::before {
  content: 'Resumo do pedido' !important;
}

.woocommerce-checkout #order_review_heading {
  font-size: 0 !important;
}

.woocommerce-checkout #order_review_heading::before {
  font-size: 24px !important;
}

/* Garantir que métodos de pagamento apareçam */
.woocommerce-checkout #payment {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  display: block !important;
}

/* ===== BOTÕES DE NAVEGAÇÃO ===== */
.checkout-navigation {
  display: flex !important;
  justify-content: space-between;
  gap: 20px;
  margin: 40px 0;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.checkout-btn-prev,
.checkout-btn-next {
  padding: 16px 40px;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 10px;
}

.checkout-btn-prev {
  background: transparent;
  color: #333333;
  border: 2px solid #333333;
}

.checkout-btn-prev:hover {
  background: #333333;
  color: #fff;
}

.checkout-btn-next {
  background: #D72232;
  color: #fff;
  margin-left: auto;
}

.checkout-btn-next:hover {
  background: #B61D2A;
  transform: translateY(-2px);
}

.checkout-btn-prev:disabled,
.checkout-btn-next:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Botão de finalizar pedido */
.woocommerce-checkout #place_order {
  width: 100% !important;
  padding: 20px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  background: #D72232 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  margin-top: 20px !important;
}

.woocommerce-checkout #place_order:hover {
  background: #B61D2A !important;
  transform: translateY(-2px) !important;
}

/* Mudar texto do botão "Finalizar pedido" para "Finalizar >" */
.woocommerce-checkout #place_order::before {
  content: 'Finalizar >' !important;
}

.woocommerce-checkout #place_order {
  font-size: 0 !important;
}

.woocommerce-checkout #place_order::before {
  font-size: 18px !important;
}

/* ===== RESPONSIVO ===== */
@media (max-width: 768px) {
  .progress-step-label {
    font-size: 11px;
  }
  
  .progress-step-circle {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .progress-steps::before,
  .progress-steps::after {
    left: 30px;
    right: 30px;
    top: 20px;
  }
  
  .checkout-navigation {
    flex-direction: column;
  }
  
  .checkout-btn-prev,
  .checkout-btn-next {
    width: 100%;
    justify-content: center;
  }
  
  .checkout-btn-next {
    margin-left: 0;
  }
  
  /* Grid responsivo - uma coluna em mobile */
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  /* Em tablets, mantém 2 colunas mas com gap menor */
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    gap: 16px 20px !important;
  }
}/* End custom CSS */