:root {
  --wooflow-primary: #7c3aed;
  --wooflow-secondary: #16a34a;
  --wooflow-btn-primary-bg: #7c3aed;
  --wooflow-btn-primary-text: #ffffff;
  --wooflow-btn-primary-bg-hover: #6d28d9;
  --wooflow-btn-primary-text-hover: #ffffff;
  --wooflow-btn-secondary-bg: #ffffff;
  --wooflow-btn-secondary-text: #111827;
  --wooflow-btn-secondary-bg-hover: #f3f4f6;
  --wooflow-btn-secondary-text-hover: #111827;
  --wooflow-bg: #f8fafc;
  --wooflow-card-bg: #ffffff;
  --wooflow-border: #e5e7eb;
  --wooflow-text: #111827;
  --wooflow-muted: #6b7280;
  --wooflow-btn-radius: var(--btn-accented-brd-radius, 10px);
}

.wooflow-checkout-page {
  background: var(--wooflow-bg);
  color: var(--wooflow-text);
  padding: 16px;
  max-width: 1320px;
  margin: 0 auto;
}

.wooflow-step1-login-toggle {
  margin-top: 8px;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid var(--wooflow-border);
  border-radius: 10px;
  margin-bottom: 12px;
}

.wooflow-inline-login-form {
  display: none !important;
}

/* Esconde qualquer login de topo injetado por tema/plugins no checkout. */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout form.woocommerce-form-login {
  display: none !important;
}

/* Mantém visível apenas o toggle do bloco 1 do WooFlow. */
.woocommerce-checkout
  .wooflow-step1-login-toggle
  .woocommerce-form-login-toggle {
  display: block !important;
  text-align: center;
}

.wooflow-step1-login-toggle:not(.is-open)
  > *:not(.woocommerce-form-login-toggle) {
  display: none !important;
}

.wooflow-step1-login-toggle.is-open > *:not(.woocommerce-form-login-toggle) {
  display: block !important;
}

:root
  :is(.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle)
  > div {
  margin-bottom: 0px !important;
}

.wooflow-step1-login-fields {
  margin-top: 12px !important;
}

.wooflow-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 14px 16px;
  background: var(--wooflow-card-bg);
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
}

.wooflow-topbar-brand img {
  max-height: var(--wooflow-logo-max-height, 42px);
  width: auto;
}

.wooflow-topbar-security {
  color: var(--wooflow-secondary);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wooflow-topbar-security::before {
  content: "\1F512";
  font-size: 0.95em;
  line-height: 1;
}

.wooflow-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.wooflow-main {
  display: grid;
  gap: 12px;
}

.wooflow-steps-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
}

.wooflow-steps-column {
  display: grid;
  gap: 12px;
}

.wooflow-summary-toggle {
  width: 100%;
  margin: 0 0 12px;
  border-radius: var(--wooflow-btn-radius);
  border-color: var(--wooflow-border) !important;
  background: var(--wooflow-btn-secondary-bg) !important;
  color: var(--wooflow-btn-secondary-text) !important;
}

.wooflow-summary-toggle:hover,
.wooflow-summary-toggle:focus {
  border-color: var(--wooflow-border) !important;
  background: var(--wooflow-btn-secondary-bg-hover) !important;
  color: var(--wooflow-btn-secondary-text-hover) !important;
}

.wooflow-step,
.wooflow-card {
  background: var(--wooflow-card-bg);
  border: 1px solid var(--wooflow-border);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.05);
  padding: 16px;
}

.wooflow-step__header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
}

.wooflow-step__header h3 {
  margin: 0;
  font-size: 1.1rem;
}

.wooflow-step__header p {
  margin: 4px 0 0;
  font-size: 0.9rem;
  color: var(--wooflow-muted);
}

.wooflow-step__badge {
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2ff;
  color: var(--wooflow-primary);
  font-weight: 700;
}

.wooflow-step--done .wooflow-step__badge,
.wooflow-step--active .wooflow-step__badge {
  background: var(--wooflow-primary);
  color: #fff;
}

/* Usa visibility-based hiding (não display:none) para que SDKs como Pagar.me tokenizecard.js
   possam inicializar seus elementos no carregamento da página mesmo com o step bloqueado.
   Com display:none, o SDK não consegue inicializar as máscaras de cartão. */
.wooflow-step--locked .wooflow-step__content {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  margin-top: 0;
}

/* Para steps bloqueados que contêm #payment, mantemos o mesmo comportamento de
   ocultar o conteúdo até que a etapa seja liberada. Isso garante que a etapa
   de pagamento permaneça visualmente fechada enquanto o cliente não concluir
   as etapas anteriores. Gateways sensíveis são reativados quando o step é
   marcado como ativo via JS (refreshSensitiveGatewayUiOnStepActivation). */
.wooflow-step--locked.wooflow-step--contains-payment .wooflow-step__content {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  margin-top: 0;
}

.wooflow-step--locked {
  opacity: 0.82;
}

.wooflow-step--done .wooflow-step__content {
  display: none;
}

.wooflow-step--locked .wooflow-step__locked-message {
  display: block;
  margin-top: 8px;
  color: var(--wooflow-muted);
  font-size: 0.9rem;
}

.wooflow-step__locked-message {
  display: none;
}

.wooflow-step-edit {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--wooflow-primary);
  font-weight: 600;
  cursor: pointer;
  display: none;
  padding: 2px 0;
  align-items: center;
  gap: 6px;
}

.wooflow-step--done .wooflow-step-edit {
  display: inline-flex;
}

.wooflow-step-edit::before {
  content: "\270E";
  font-size: 0.9em;
  line-height: 1;
}

.wooflow-step-edit[disabled] {
  opacity: 0.45;
  pointer-events: none;
}

.wooflow-step__content {
  margin-top: 16px;
}

.wooflow-layout.wooflow-layout-vertical .wooflow-steps-columns {
  grid-template-columns: 1fr;
}

.wooflow-layout.wooflow-layout-vertical .wooflow-step.wooflow-step--active {
  border-color: var(--wooflow-primary);
  box-shadow: 0 8px 24px rgba(124, 58, 237, 0.16);
}

.wooflow-grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.wooflow-address-grid {
  display: grid;
  gap: 10px;
}

.wooflow-address-row {
  display: grid;
  gap: 10px;
}

/* Garante que os campos dentro da grade de endereço respeitem o grid mesmo com CSS do tema. */
.wooflow-address-grid .form-row,
.wooflow-address-row .form-row {
  margin: 0;
  width: 100% !important;
  max-width: 100%;
  float: none !important;
  box-sizing: border-box;
}

.wooflow-address-row--number-neighborhood {
  grid-template-columns: 30% 70%;
}

.wooflow-address-row--city-state {
  grid-template-columns: 1fr 1fr;
}

.wooflow-person-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 6px;
  background: #f8fafc;
  border: 1px solid var(--wooflow-border);
  border-radius: 10px;
  margin-bottom: 12px;
}

.wooflow-person-type__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--wooflow-text);
  font-weight: 600;
  padding: 10px;
  border-radius: 8px;
  cursor: pointer;
}

.wooflow-person-type__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.wooflow-person-type__icon svg {
  width: 12px;
  height: auto;
  vertical-align: middle;
}

.wooflow-person-type__btn.is-active {
  background: #e5e7eb;
}

.wooflow-person-pj {
  display: none;
}

.wooflow-step__actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}

.wooflow-btn-primary,
.wooflow-btn-secondary {
  border-radius: var(--wooflow-btn-radius);
  padding: 10px 16px;
}

/* Garante aparência consistente dos botões mesmo em temas com bordas/botões personalizados (Woodmart / Moderno). */
.wooflow-checkout-page .button,
.wooflow-checkout-page button,
.wooflow-checkout-page input[type="submit"],
.wooflow-checkout-page .c-button,
.wooflow-checkout-page .c-cart__place-order-btn {
  border-style: solid;
  border-width: 1px;
  border-radius: var(--wooflow-btn-radius);
}

.wooflow-btn-primary {
  background: var(--wooflow-btn-primary-bg) !important;
  border-color: var(--wooflow-btn-primary-bg) !important;
  color: var(--wooflow-btn-primary-text) !important;
}

.wooflow-btn-primary:hover,
.wooflow-btn-primary:focus {
  background: var(--wooflow-btn-primary-bg-hover) !important;
  border-color: var(--wooflow-btn-primary-bg-hover) !important;
  color: var(--wooflow-btn-primary-text-hover) !important;
}

.wooflow-btn-secondary {
  background: var(--wooflow-btn-secondary-bg) !important;
  border-color: var(--wooflow-border) !important;
  color: var(--wooflow-btn-secondary-text) !important;
}

.wooflow-btn-secondary:hover,
.wooflow-btn-secondary:focus {
  background: var(--wooflow-btn-secondary-bg-hover) !important;
  border-color: var(--wooflow-border) !important;
  color: var(--wooflow-btn-secondary-text-hover) !important;
}

/* Cursor pointer consistente em todos os botões / controles clicáveis, independente do tema. */
.wooflow-checkout-page .wooflow-btn-primary,
.wooflow-checkout-page .wooflow-btn-secondary,
.wooflow-checkout-page .wooflow-summary-toggle,
.wooflow-checkout-page .wooflow-step-edit,
.wooflow-checkout-page .wooflow-person-type__btn,
.wooflow-checkout-page .wooflow-payment-tab,
.wooflow-checkout-page .wooflow-qty-btn,
.wooflow-checkout-page .wooflow-cart-remove,
.wooflow-checkout-page .button,
.wooflow-checkout-page button,
.wooflow-checkout-page input[type="submit"],
.wooflow-checkout-page #place_order,
.wooflow-checkout-page .c-button,
.wooflow-checkout-page .c-cart__place-order-btn {
  cursor: pointer;
}

.wooflow-payment-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.wooflow-payment-tab {
  border: 1px solid var(--wooflow-border);
  background: #fff;
  color: var(--wooflow-text);
  padding: 8px 12px;
  border-radius: var(--wooflow-btn-radius);
  cursor: pointer;
}

.wooflow-payment-tab.is-active {
  background: var(--wooflow-btn-primary-bg) !important;
  border-color: var(--wooflow-btn-primary-bg) !important;
  color: var(--wooflow-btn-primary-text) !important;
}

.wooflow-payment-tab:hover,
.wooflow-payment-tab:focus {
  background: var(--wooflow-btn-secondary-bg-hover) !important;
  border-color: var(--wooflow-border) !important;
  color: var(--wooflow-btn-secondary-text-hover) !important;
}

.wooflow-payment-tab.is-active:hover,
.wooflow-payment-tab.is-active:focus {
  background: var(--wooflow-btn-primary-bg-hover) !important;
  border-color: var(--wooflow-btn-primary-bg-hover) !important;
  color: var(--wooflow-btn-primary-text-hover) !important;
}

.wooflow-hint {
  font-size: 0.86rem;
  color: var(--wooflow-muted);
}

.wooflow-step-validation-message {
  display: none;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #fca5a5;
  border-radius: 10px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 0.92rem;
}

.wooflow-step-validation-message.is-visible {
  display: block;
}

.wooflow-inline-error {
  display: none;
  margin-top: 6px;
  font-size: 0.82rem;
  line-height: 1.3;
  color: #b42318;
}

.wooflow-inline-error.is-visible {
  display: block;
}

.wooflow-inline-warning {
  display: none;
  margin-top: 6px;
  font-size: 0.82rem;
  line-height: 1.3;
  color: #a16207;
}

.wooflow-inline-warning.is-visible {
  display: block;
}

.wooflow-email-suggestion {
  display: none;
  margin-top: 6px;
  font-size: 0.82rem;
  line-height: 1.3;
  color: #0f766e;
}

.wooflow-email-suggestion.is-visible {
  display: block;
}

.wooflow-email-suggestion__action {
  display: inline;
  background: none;
  border: 0;
  padding: 0;
  color: var(--wd-entities-title-color);
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  text-transform: none;
  box-shadow: none;
  border-radius: 0;
}

.wooflow-account-invite {
  display: none;
  grid-column: 1 / -1;
  margin-top: -2px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #f8fafc;
}

.wooflow-account-invite .woocommerce-form__label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.35;
}

.wooflow-account-invite .woocommerce-form__input-checkbox {
  margin-top: 2px;
  flex: 0 0 auto;
}

.wooflow-account-password-row {
  margin-top: 8px;
}

/* As abas de pagamento selecionam o método via radio sem modificar o DOM dos gateways.
   Nenhuma regra de dim/focus é aplicada em li.wc_payment_method para evitar interferência
   com SDKs como Pagar.me tokenizecard.js, Mercado Pago e PayPal. */

/* Botão Mercado Livre PIX*/

.mp-details-pix-button {
  width: 100% !important;
}

/* Bloco entre endereço e fretes: Order Delivery Date Pro, etc. */
.wooflow-checkout-delivery-date-slot {
  margin-top: 16px;
  margin-bottom: 8px;
}

.wooflow-shipping-methods {
  margin-top: 8px;
  padding: 25px;
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
  background: #fff;
}

.wooflow-shipping-methods h4 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.wooflow-shipping-methods .woocommerce-shipping-methods {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.wooflow-shipping-methods .woocommerce-shipping-methods li label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}

.wooflow-order-bump {
  margin: 16px 0;
  padding: 14px;
  border: 1px solid var(--bump-border);
  background: var(--bump-bg);
  border-radius: 12px;
}

.wooflow-order-bump__toggle {
  margin-bottom: 10px;
}

.wooflow-order-bump__content > strong {
  display: block;
  margin: 0 0 4px;
  font-size: 1.15rem;
  line-height: 1.25;
}

.wooflow-order-bump__content > p {
  margin: 0;
  color: rgba(11, 19, 32, 0.92);
}

.wooflow-order-bump .wooflow-order-bump__product-card {
  display: block !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  margin-top: 12px;
}

.wooflow-order-bump .wooflow-order-bump__thumb-wrap {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
}

.wooflow-order-bump .wooflow-order-bump__thumb {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  border-radius: 8px;
  object-fit: cover;
  display: block;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.09);
}

.wooflow-order-bump__details {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 6px;
}

.wooflow-order-bump__product {
  display: block;
  justify-content: space-between;
  gap: 8px;
  font-weight: 600;
  margin-bottom: 4px;
}

.wooflow-order-bump__product span:first-child {
  flex: 1;
  min-width: 0;
  font-size: 1.03rem;
}

.wooflow-order-bump__price-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2px;
}

.wooflow-order-bump__price-old {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: rgba(11, 19, 32, 0.52);
  text-decoration: line-through;
  line-height: 1.2;
  margin-bottom: 2px;
}

.wooflow-order-bump__price-current {
  display: block;
  font-size: 1.07rem;
  font-weight: 700;
  line-height: 1.2;
}

.wooflow-order-bump__details small {
  display: block;
  line-height: 1.55;
  color: rgba(11, 19, 32, 0.86);
}

@media (max-width: 480px) {
  .wooflow-order-bump .wooflow-order-bump__product-card {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  .wooflow-order-bump .wooflow-order-bump__thumb-wrap {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
  }

  .wooflow-order-bump .wooflow-order-bump__thumb {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
  }

  .wooflow-order-bump__product span:first-child {
    font-size: 0.97rem;
  }

  .wooflow-order-bump__price-current {
    font-size: 1rem;
  }
}

.wooflow-sale-price-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  line-height: 1.2;
}

.wooflow-sale-price-old {
  display: block;
  font-size: 0.88rem;
  font-weight: 500;
  color: rgba(11, 19, 32, 0.48);
  text-decoration: line-through;
}

.wooflow-sale-price-current {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--wooflow-text);
}

.wooflow-card h4 {
  margin-top: 0;
}

#wooflow-coupon-slot {
  margin-bottom: 12px;
}

/* Evita flash do cupom nativo no topo antes do JS mover para o slot do resumo. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
  display: none !important;
}

#wooflow-coupon-slot .woocommerce-form-coupon-toggle {
  display: none;
}

#wooflow-coupon-slot .woocommerce-info {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font-weight: 600;
  color: var(--wooflow-text);
}

#wooflow-coupon-slot .woocommerce-info::before {
  display: none;
}

#wooflow-coupon-slot .woocommerce-info .showcoupon {
  font-weight: 700;
  color: var(--wooflow-primary);
  text-decoration: none;
}

#wooflow-coupon-slot form.checkout_coupon {
  margin: 8px 0 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 8px;
  align-items: center;
}

#wooflow-coupon-slot form.checkout_coupon.woocommerce-form-coupon {
  display: flex !important;
}

#wooflow-coupon-slot form.checkout_coupon p {
  margin: 0;
}

#wooflow-coupon-slot form.checkout_coupon p.form-row-first {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

#wooflow-coupon-slot form.checkout_coupon p.form-row-last {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

#wooflow-coupon-slot input[name="coupon_code"] {
  width: 100%;
  border: 1px solid var(--wooflow-border);
  border-radius: var(--wooflow-btn-radius);
  padding: 10px 12px;
}

#wooflow-coupon-slot button[name="apply_coupon"] {
  background: transparent;
  border: 0;
  color: var(--wooflow-primary);
  font-weight: 700;
  padding: 8px 2px;
  white-space: nowrap;
}

/* Cart Edit Controls */
.wooflow-checkout-product-name-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wooflow-checkout-product-thumbnail {
  flex-shrink: 0;
}

.wooflow-checkout-product-thumbnail img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--wooflow-border);
}

.wooflow-checkout-product-name-content {
  flex: 1;
}

/* Woodmart Override */
.wooflow-cart-editable .wd-checkout-prod-img,
.wooflow-cart-editable .wd-checkout-remove-btn-wrapp {
  display: none !important;
}

/* Ensure our content looks good in Woodmart table */
.wooflow-cart-editable .wd-checkout-prod {
  padding-left: 5px !important;
}

.wooflow-cart-edit {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.wooflow-qty-controls {
  display: inline-flex;
  align-items: center;
  background: #f3f4f6;
  border-radius: 6px;
  padding: 2px;
}

.wooflow-qty-btn {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--wooflow-text);
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  padding: 0;
  line-height: 1;
}

.wooflow-qty-btn:hover {
  background: #e5e7eb;
  border-radius: 4px;
}

.wooflow-qty-value {
  min-width: 20px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
}

.wooflow-cart-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ef4444;
  padding: 4px;
  border-radius: 4px;
  transition: background 0.2s;
}

.wooflow-cart-remove:hover {
  background: #fee2e2;
}

.wooflow-summary-collapsed {
  display: none;
  opacity: 0;
}

.wooflow-trust-list {
  padding-left: 18px;
  margin: 0;
}

.wooflow-testimonials {
  display: grid;
  gap: 10px;
}

.wooflow-testimonial {
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
  padding: 10px;
}

.wooflow-testimonial__header {
  display: flex;
  gap: 10px;
  align-items: center;
}

.wooflow-avatar {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ede9fe;
  color: var(--wooflow-primary);
  font-weight: 700;
  flex-shrink: 0;
}

.wooflow-avatar--img {
  padding: 0;
  overflow: hidden;
  background: transparent;
}

.wooflow-avatar--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wooflow-stars {
  color: #f59e0b;
}

/* Scoped fora de #payment para não sobrescrever estilos de labels dos gateways. */
.wooflow-checkout-form .form-row:not(#payment .form-row) label {
  font-weight: 600;
}

/* Campos customizados rádio: asterisco apenas no título e opções em 2 colunas. */
.wooflow-checkout-form
  .wooflow-custom-radio
  .woocommerce-input-wrapper
  label.radio.required_field
  .required {
  display: none !important;
}

.wooflow-checkout-form .wooflow-custom-radio .woocommerce-input-wrapper {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) 18px minmax(0, 1fr);
  column-gap: 8px;
  row-gap: 10px;
  align-items: center;
  width: 100%;
}

.wooflow-checkout-form
  .wooflow-custom-radio
  .woocommerce-input-wrapper
  input.input-radio.wooflow-input {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

.wooflow-checkout-form
  .wooflow-custom-radio
  .woocommerce-input-wrapper
  label.radio {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  font-weight: 400 !important;
}

/* Scoped fora de #payment para não sobrescrever estilos de inputs dos gateways. */
.wooflow-checkout-form .form-row:not(#payment .form-row) input.input-text,
.wooflow-checkout-form .form-row:not(#payment .form-row) select,
.wooflow-checkout-form .form-row:not(#payment .form-row) textarea {
  border-radius: 10px;
  border-color: var(--wooflow-border);
}

.wooflow-checkout-form .form-row:not(#payment .form-row) textarea {
  min-height: 100px !important;
}

/* Estilos de botão scoped fora de #payment para não interferir com botões dos gateways. */
.wooflow-checkout-form button:not(#payment button),
.wooflow-checkout-form .button:not(#payment .button),
.wooflow-checkout-form input[type="submit"]:not(#payment input[type="submit"]),
.wooflow-checkout-form #place_order {
  border-radius: var(--wooflow-btn-radius);
}

.wooflow-checkout-form #place_order {
  width: 100%;
}

.wooflow-checkout-form #place_order {
  background: var(--wooflow-btn-primary-bg) !important;
  border-color: var(--wooflow-btn-primary-bg) !important;
  color: var(--wooflow-btn-primary-text) !important;
}

.wooflow-checkout-form #place_order:hover,
.wooflow-checkout-form #place_order:focus {
  background: var(--wooflow-btn-primary-bg-hover) !important;
  border-color: var(--wooflow-btn-primary-bg-hover) !important;
  color: var(--wooflow-btn-primary-text-hover) !important;
}

.wooflow-checkout-form .form-row.form-row-first,
.wooflow-checkout-form .form-row.form-row-last,
.wooflow-checkout-form .form-row.form-row-wide {
  float: none;
  width: 100%;
}

/* Normaliza espaçamentos e alinhamento dos campos para coincidir com o layout do template Moderno/Woodmart. */
.wooflow-checkout-form .form-row {
  margin: 0 0 10px;
}

.wooflow-checkout-form .form-row .woocommerce-input-wrapper {
  width: 100%;
}

/* No mobile, espaço entre os cards da sidebar (Compra protegida, Quem já comprou aprova). */
@media (max-width: 1023px) {
  .wooflow-topbar {
    justify-content: center;
  }

  .wooflow-topbar-brand {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .wooflow-sidebar .wooflow-card + .wooflow-card {
    margin-top: 10px;
  }

  .wooflow-layout.wooflow-layout-vertical {
    grid-template-columns: 1fr;
  }

  .wooflow-layout.wooflow-layout-vertical .wooflow-main {
    order: 1;
  }

  .wooflow-layout.wooflow-layout-vertical .wooflow-sidebar {
    order: 2;
    display: flex;
    flex-direction: column;
  }

  .wooflow-topbar-security {
    display: none;
  }

  /* No mobile, força linhas de endereço a ficarem em uma coluna para evitar quebra estranha em temas. */
  .wooflow-address-row--number-neighborhood,
  .wooflow-address-row--city-state {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .wooflow-grid-2 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .wooflow-layout {
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    align-items: start;
  }

  .wooflow-steps-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
  }

  .wooflow-sidebar {
    position: sticky;
    top: 20px;
    display: grid;
    gap: 12px;
  }

  .wooflow-layout.wooflow-layout-vertical {
    grid-template-columns: minmax(0, 7fr) minmax(300px, 3fr);
  }

  .wooflow-layout.wooflow-layout-vertical .wooflow-steps-columns {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (min-width: 1200px) {
  .wooflow-checkout-page {
    padding: 20px;
  }
}

/* Rodapé do checkout */
.wooflow-checkout-footer {
  margin-top: 24px;
  padding: 20px 16px;
  background: #f1f5f9;
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
  text-align: center;
  color: var(--wooflow-muted);
  font-size: 0.875rem;
}

.wooflow-checkout-footer__title {
  margin: 0 0 10px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--wooflow-text);
}

.wooflow-checkout-footer__payment-methods {
  margin-bottom: 16px;
}

.wooflow-checkout-footer__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.wooflow-checkout-footer__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--wooflow-border);
  border-radius: 8px;
  padding: 6px 10px;
  line-height: 0;
}

.wooflow-checkout-footer__logo img {
  max-height: 28px;
  width: auto;
  height: auto;
  display: block;
}

.wooflow-checkout-footer__company {
  margin-bottom: 12px;
}

.wooflow-checkout-footer__company p {
  margin: 4px 0;
  line-height: 1.4;
}

.wooflow-checkout-footer__company-name a {
  color: var(--wooflow-primary);
  text-decoration: none;
}

.wooflow-checkout-footer__company-name a:hover {
  text-decoration: underline;
}

.wooflow-checkout-footer__legal {
  margin: 4px 0;
}

.wooflow-checkout-footer__security {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 0;
  font-weight: 600;
  font-size: 0.8rem;
  color: var(--wooflow-text);
}

.wooflow-checkout-footer__security-icon::before {
  content: "\1F512";
  font-style: normal;
}

/* Thank You page */
.wooflow-thankyou {
  background: var(--wooflow-bg);
  color: var(--wooflow-text);
  padding: 24px 16px;
  max-width: 800px;
  margin: 0 auto;
}

.wooflow-thankyou__topbar {
  margin-bottom: 20px;
  text-align: center;
}

.wooflow-thankyou__logo {
  display: inline-block;
}

.wooflow-thankyou__logo img {
  max-height: var(--wooflow-logo-max-height, 42px);
  width: auto;
  height: auto;
}

.wooflow-thankyou__logo a {
  display: inline-block;
}

.wooflow-thankyou__header,
.wooflow-thankyou__payment-block {
  text-align: center;
  margin-bottom: 24px;
  padding: 24px;
  background: var(--wooflow-card-bg);
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
}

.wooflow-thankyou__title {
  margin: 0 0 8px;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--wooflow-text);
}

.wooflow-thankyou__order-number {
  margin: 0 0 4px;
  font-size: 1rem;
  color: var(--wooflow-muted);
}

.wooflow-thankyou__greeting {
  margin: 0;
  font-size: 1rem;
  color: var(--wooflow-text);
}

/* Esconde duplicatas de "Detalhes do pedido" e "Endereços" injetadas por WooCommerce/gateways;
   na thank you customizada usamos nossas próprias seções (wooflow-thankyou__order-summary e
   wooflow-thankyou__addresses). Mantém apenas o bloco de instruções de pagamento (PIX, etc.). */
.wooflow-thankyou .woocommerce-order-details,
.wooflow-thankyou .woocommerce-customer-details {
  display: none;
}

.wooflow-thankyou__payment-block .woocommerce-message {
  margin: 0;
  padding: 20px;
  border-radius: 12px;
}

.wooflow-thankyou__subtitle {
  margin: 0;
  font-size: 1rem;
  color: var(--wooflow-muted);
}

.wooflow-thankyou__section {
  margin-bottom: 24px;
  padding: 20px;
  background: var(--wooflow-card-bg);
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
}

.wooflow-thankyou__section-title {
  margin: 0 0 16px;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wooflow-text);
}

.wooflow-thankyou__section .woocommerce-table,
.wooflow-thankyou__section .woocommerce-customer-details {
  margin: 0;
}

.wooflow-thankyou__order-table {
  width: 100%;
  border-collapse: collapse;
}

.wooflow-thankyou__order-table th,
.wooflow-thankyou__order-table td {
  padding: 12px 8px;
  border: none;
  border-bottom: 1px solid var(--wooflow-border);
  text-align: left;
  vertical-align: middle;
}

.wooflow-thankyou__order-table th.product-quantity,
.wooflow-thankyou__order-table td.product-quantity,
.wooflow-thankyou__order-table th.product-total,
.wooflow-thankyou__order-table td.product-total {
  text-align: right;
}

.wooflow-thankyou__product-thumb {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  vertical-align: middle;
  border-radius: 6px;
  overflow: hidden;
}

.wooflow-thankyou__product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wooflow-thankyou__addresses-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.wooflow-thankyou__address-col {
  padding: 16px;
  background: var(--wooflow-bg);
  border-radius: 8px;
  border: 1px solid var(--wooflow-border);
}

.wooflow-thankyou__address-title {
  margin: 0 0 12px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--wooflow-text);
}

.wooflow-thankyou__address-content {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--wooflow-text);
}

.wooflow-thankyou__address-content p {
  margin: 4px 0;
}

.wooflow-thankyou__phone,
.wooflow-thankyou__email {
  margin-top: 8px !important;
}

.wooflow-thankyou__section .woocommerce-table th,
.wooflow-thankyou__section .woocommerce-table td {
  padding: 8px 0;
  border: none;
  border-bottom: 1px solid var(--wooflow-border);
}

.wooflow-thankyou__section .woocommerce-table tr:last-child th,
.wooflow-thankyou__section .woocommerce-table tr:last-child td {
  border-bottom: none;
}

.wooflow-thankyou__cta {
  text-align: center;
  margin-top: 24px;
  padding: 20px;
}

.wooflow-thankyou__btn {
  display: inline-block;
  padding: 12px 24px;
  background: var(--wooflow-btn-primary-bg) !important;
  color: var(--wooflow-btn-primary-text) !important;
  border: none !important;
  border-radius: var(--wooflow-btn-radius) !important;
  font-weight: 600;
  text-decoration: none;
  transition:
    background 0.2s,
    color 0.2s;
}

.wooflow-thankyou__btn:hover {
  background: var(--wooflow-btn-primary-bg-hover) !important;
  color: var(--wooflow-btn-primary-text-hover) !important;
}

.wooflow-thankyou--fallback,
.wooflow-thankyou--failed {
  padding: 24px;
  background: var(--wooflow-card-bg);
  border: 1px solid var(--wooflow-border);
  border-radius: 12px;
  max-width: 600px;
  margin: 0 auto;
}

.wooflow-thankyou .wooflow-order-custom-fields {
  margin-top: 0;
}

.wooflow-thankyou__extra-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  padding: 16px;
  background: var(--wooflow-bg);
  border-radius: 8px;
  border: 1px solid var(--wooflow-border);
}

.wooflow-thankyou__extra-table th,
.wooflow-thankyou__extra-table td {
  padding: 10px 8px;
  border: none;
  border-bottom: 1px solid var(--wooflow-border);
  text-align: left;
  vertical-align: top;
  font-size: 0.95rem;
}

.wooflow-thankyou__extra-table th {
  font-weight: 600;
  color: var(--wooflow-text);
  width: 40%;
}

.wooflow-thankyou__extra-table td {
  color: var(--wooflow-muted);
}

.wooflow-thankyou__extra-table tr:last-child th,
.wooflow-thankyou__extra-table tr:last-child td {
  border-bottom: none;
}

@media (max-width: 767px) {
  .wooflow-thankyou {
    padding: 16px 12px;
  }

  .wooflow-thankyou__header {
    padding: 16px;
    margin-bottom: 16px;
  }

  .wooflow-thankyou__title {
    font-size: 1.25rem;
  }

  .wooflow-thankyou__section {
    padding: 16px;
    margin-bottom: 16px;
  }

  .wooflow-thankyou__addresses-grid {
    grid-template-columns: 1fr;
  }

  .wooflow-thankyou__order-table th,
  .wooflow-thankyou__order-table td {
    padding: 8px 4px;
    font-size: 0.9rem;
  }

  .wooflow-thankyou__product-thumb {
    width: 32px;
    height: 32px;
    margin-right: 8px;
  }

  .wooflow-thankyou__cta {
    margin-top: 16px;
  }
}

/* Compatibilidade com temas que não são Woodmart (ex.: Moderno): evita conflitos de layout e bordas sem alterar o Woodmart. */
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row.form-row-first,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row.form-row-last,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row.form-row-wide {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 0 10px !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row
  label {
  display: block !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  line-height: 1.3;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row
  .woocommerce-input-wrapper {
  display: block !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row
  input.input-text,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row
  select,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .form-row
  textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart .wooflow-grid-2 .form-row,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-address-row
  .form-row {
  margin: 0 !important;
  min-width: 0 !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart .wooflow-address-row {
  align-items: start;
}

/* Campos PF/PJ (CPF, Nome da Empresa, CNPJ): mantém label/input vertical sem quebrar o toggle PF/PJ. */
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .wooflow-person-pf
  > label,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .wooflow-person-pj
  > label,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_cpf_field
  > label,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_company_field
  > label,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_cnpj_field
  > label {
  display: block !important;
  float: none !important;
  position: static !important;
  width: 100% !important;
  margin: 0 0 6px !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .wooflow-person-pf
  > .woocommerce-input-wrapper,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  .wooflow-person-pj
  > .woocommerce-input-wrapper,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_cpf_field
  > .woocommerce-input-wrapper,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_company_field
  > .woocommerce-input-wrapper,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_cnpj_field
  > .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wooflow-nfe-info {
  margin-top: 12px;
  margin-bottom: 12px;
  padding: 10px 12px;
  background-color: #f0f7ff;
  border-left: 3px solid #007cba;
  border-radius: 4px;
}

.wooflow-nfe-info__text {
  margin: 0 !important;
  font-size: 13px;
  line-height: 1.4;
  color: #1d2327;
  display: flex;
  align-items: center;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_cpf_field
  input,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_company_field
  input,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-checkout-form
  #billing_cnpj_field
  input {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-shipping-methods
  .woocommerce-shipping-methods
  li,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-shipping-methods
  .woocommerce-shipping-methods
  li
  label,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-shipping-methods
  .woocommerce-shipping-methods
  li
  input[type="radio"] {
  cursor: pointer !important;
}

/* Remove subtítulo de remessa injetado pelo tema (ex.: "Remessa 1") no checkout custom. */
.wooflow-custom-checkout.wooflow-theme-non-woodmart .c-cart__sub-header,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  .wooflow-shipping-methods
  .c-cart__sub-header {
  display: none !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table {
  width: 100%;
  border-collapse: collapse !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  th,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  td {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--wooflow-border) !important;
  background: transparent !important;
  padding: 12px 0 !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  tr {
  display: table-row !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  th,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  td {
  display: table-cell !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  td::before {
  display: none !important;
  content: none !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  .cart-subtotal
  td,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  .woocommerce-shipping-totals
  td,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  .order-total
  td {
  text-align: right !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  .cart-subtotal
  th,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  .woocommerce-shipping-totals
  th,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  tr.shipping
  th,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  .order-total
  th {
  text-align: left !important;
  padding-left: 0 !important;
}

/* Remove linhas separadoras extras inseridas pelo tema no bloco de totais. */
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  td.c-cart__totals-space,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  td.c-cart__totals-space--hr {
  display: none !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}

.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  tr:last-child
  th,
.wooflow-custom-checkout.wooflow-theme-non-woodmart
  #wooflow-order-review
  table.shop_table
  tr:last-child
  td {
  border-bottom: 0 !important;
}
/* ============================================================
   MOBILE — previne zoom automático do iOS/Android ao focar inputs.
   O browser dispara zoom quando font-size < 16px num campo focado.
   Seletores com alta especificidade para sobrescrever o tema.
   ============================================================ */
@media (max-width: 767px) {
  html body .wooflow-checkout-form input[type="text"],
  html body .wooflow-checkout-form input[type="email"],
  html body .wooflow-checkout-form input[type="tel"],
  html body .wooflow-checkout-form input[type="number"],
  html body .wooflow-checkout-form input[type="password"],
  html body .wooflow-checkout-form input[type="date"],
  html body .wooflow-checkout-form input[type="search"],
  html body .wooflow-checkout-form input[type="url"],
  html body .wooflow-checkout-form input.input-text,
  html body .wooflow-checkout-form select,
  html body .wooflow-checkout-form textarea,
  html body .wooflow-custom-checkout input[type="text"],
  html body .wooflow-custom-checkout input[type="email"],
  html body .wooflow-custom-checkout input[type="tel"],
  html body .wooflow-custom-checkout input[type="number"],
  html body .wooflow-custom-checkout input[type="password"],
  html body .wooflow-custom-checkout input[type="date"],
  html body .wooflow-custom-checkout input.input-text,
  html body .wooflow-custom-checkout select,
  html body .wooflow-custom-checkout textarea,
  html body #wooflow-payment input[type="text"],
  html body #wooflow-payment input[type="number"],
  html body #wooflow-payment input[type="tel"],
  html body #payment input[type="text"],
  html body #payment input[type="number"],
  html body #payment input[type="tel"],
  html body #payment select {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
  }
}

/* ---- Link voltar ao carrinho (entre topbar e card Seus dados) ---- */
.wooflow-back-to-cart {
  text-align: right;
  padding: 6px 0 2px;
}

.wooflow-back-to-cart__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--wooflow-muted, #6b7280);
  text-decoration: none;
  transition: color 0.15s;
}

.wooflow-back-to-cart__link:hover {
  color: var(--wooflow-primary, #7c3aed);
}

/* ============================================================
   EFEITOS DE BOTÃO — pulso + tremida
   Usa a cor do botão via variável CSS do cliente (--wooflow-btn-primary-bg)
   ============================================================ */

/* Próxima etapa — pulso suave + tremida */
.wooflow-next-step {
  animation: wooflow-pulse-next 3s ease-in-out infinite;
}

.wooflow-next-step:hover,
.wooflow-next-step:active {
  animation: none;
}

@keyframes wooflow-pulse-next {
  0% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--wooflow-btn-primary-bg) 40%, transparent);
    transform: translateX(0);
  }
  30% {
    box-shadow: 0 0 0 10px
      color-mix(in srgb, var(--wooflow-btn-primary-bg) 0%, transparent);
    transform: translateX(0);
  }
  35% {
    transform: translateX(-3px);
  }
  38% {
    transform: translateX(3px);
  }
  41% {
    transform: translateX(-2px);
  }
  44% {
    transform: translateX(2px);
  }
  47% {
    transform: translateX(0);
  }
  100% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--wooflow-btn-primary-bg) 0%, transparent);
    transform: translateX(0);
  }
}

/* Finalizar compra — pulso + linha luminosa + tremida mais intensa */
.wooflow-checkout-form #place_order {
  animation: wooflow-pulse-finish 3s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

.wooflow-checkout-form #place_order:hover,
.wooflow-checkout-form #place_order:active {
  animation: none;
}

.wooflow-checkout-form #place_order::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.25),
    transparent
  );
  animation: wooflow-shine 3s ease-in-out infinite;
  pointer-events: none;
}

@keyframes wooflow-pulse-finish {
  0% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--wooflow-btn-primary-bg) 45%, transparent);
    transform: translateX(0);
  }
  25% {
    box-shadow: 0 0 0 12px
      color-mix(in srgb, var(--wooflow-btn-primary-bg) 0%, transparent);
    transform: translateX(0);
  }
  35% {
    transform: translateX(-3px);
  }
  38% {
    transform: translateX(3px);
  }
  41% {
    transform: translateX(-3px);
  }
  44% {
    transform: translateX(3px);
  }
  47% {
    transform: translateX(-2px);
  }
  50% {
    transform: translateX(0);
  }
  100% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--wooflow-btn-primary-bg) 0%, transparent);
    transform: translateX(0);
  }
}

@keyframes wooflow-shine {
  0% {
    left: -100%;
  }
  35%,
  100% {
    left: 160%;
  }
}
