/* woo-checkout.css — /finalizar-compra/.
   Layout 2-col (form + review sticky) + pairs de inputs + banners + payment cards. */

/* ============ Banners topo (cliente / cupom) ============ */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout > .woocommerce-info,
.woocommerce-checkout > .woocommerce-error,
.woocommerce-checkout > .woocommerce-notices-wrapper {
  margin: 0 0 1rem !important;
}
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .checkout_coupon {
  margin: 0 0 1.25rem !important;
  padding: 1.25rem !important;
  background: white !important;
  border: 1px solid #f3f4f6 !important;
  border-radius: 0.75rem !important;
}
.woocommerce-checkout .checkout_coupon .form-row {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  margin-right: 0.5rem;
}
.woocommerce-checkout .checkout_coupon .form-row input.input-text {
  min-width: 200px;
  display: inline-block;
}

/* ============ Layout 2-col (form + review sticky) ============ */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  max-width: 100%;
  min-width: 0;
}
@media (min-width: 1024px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 400px);
    gap: 2rem;
    align-items: start;
  }
  .woocommerce-checkout form.checkout #customer_details {
    grid-column: 1;
    grid-row: 1 / span 10;
    min-width: 0;
  }
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review {
    grid-column: 2;
    min-width: 0;
  }
  .woocommerce-checkout form.checkout #order_review_heading {
    margin: 0 !important;
    grid-row: 1;
  }
  .woocommerce-checkout form.checkout #order_review {
    grid-row: 2;
    position: sticky;
    top: 200px;
  }
}
/* Containers principais sem overflow */
.woocommerce-checkout,
.woocommerce-checkout form.checkout,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.woocommerce-checkout #order_review .shop_table {
  table-layout: fixed;
  word-wrap: break-word;
}
.woocommerce-checkout #order_review .shop_table td,
.woocommerce-checkout #order_review .shop_table th {
  word-break: break-word;
}

/* ============ Form de Detalhes do cliente ============ */
.woocommerce-checkout #customer_details {
  background: white;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  padding: 1.5rem;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
/* col-2 (shipping wrapper) — gap pequeno do col-1, sem border (o card
   ship-to-different-address ja tem seu proprio bg-cream visivel) */
.woocommerce-checkout #customer_details .col-2 {
  margin-top: 1rem !important;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--color-ink) !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid #f3f4f6 !important;
}

/* ============ Pares de inputs lado a lado ============ */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0 1rem;
}
@media (min-width: 640px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}

.woocommerce-checkout .form-row {
  margin: 0 0 1rem !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0;
}
.woocommerce-checkout .form-row.form-row-first,
.woocommerce-checkout .form-row.form-row-last {
  width: 100% !important;
  float: none !important;
  grid-column: span 1;
  min-width: 0;
}
.woocommerce-checkout .form-row.form-row-wide,
.woocommerce-checkout .form-row.notes {
  grid-column: 1 / -1;
  width: 100% !important;
}

/* Wrapper que WC adiciona em volta de inputs (.woocommerce-input-wrapper)
   tem display:inline por default, o que faz o input encolher pro tamanho
   do placeholder em campos opcionais (Telefone, Apto). Forca block + 100%. */
.woocommerce-checkout .form-row .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}
.woocommerce-checkout .form-row .woocommerce-input-wrapper input,
.woocommerce-checkout .form-row .woocommerce-input-wrapper select,
.woocommerce-checkout .form-row .woocommerce-input-wrapper textarea {
  width: 100% !important;
}

/* ========== Padronizacao de TODOS inputs/selects/textareas do checkout ==========
   Cobre ECFB (Tipo de Pessoa, CPF/CNPJ), Estado, qualquer field com select native. */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  padding: 0.7rem 0.875rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  color: var(--color-ink) !important;
  background: white !important;
  border: 2px solid var(--color-brand-light) !important;
  border-radius: 0.5rem !important;
  line-height: 1.4 !important;
  height: auto !important;
  min-height: 44px;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  outline: none !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

/* Selects nativos: mesmo visual dos inputs + chevron SVG inline */
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-selection,
.woocommerce-checkout .form-row .woocommerce-input-wrapper select {
  width: 100% !important;
  padding: 0.7rem 2.5rem 0.7rem 0.875rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  color: var(--color-ink) !important;
  background-color: white !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231E7BB8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.85rem center !important;
  background-size: 14px !important;
  border: 2px solid var(--color-brand-light) !important;
  border-radius: 0.5rem !important;
  line-height: 1.4 !important;
  height: auto !important;
  min-height: 44px;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  outline: none !important;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

/* Focus consistente em qualquer field */
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row .select2-container--focus .select2-selection {
  border-color: var(--color-confetti-cyan) !important;
  box-shadow: 0 0 0 3px rgba(94, 191, 214, 0.18) !important;
}

/* Esconde campo de Pais (loja so BR) */
.woocommerce-checkout .cdm-hidden-field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field {
  display: none !important;
}

/* Select2 (Estado/Pais usam Select2 enhanced) — match com nosso visual */
.woocommerce-checkout .select2-container .select2-selection--single {
  height: 44px !important;
  min-height: 44px !important;
  border: 2px solid var(--color-brand-light) !important;
  border-radius: 0.5rem !important;
  background: white !important;
  display: flex !important;
  align-items: center;
  padding: 0 !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 40px !important;
  padding: 0 2.25rem 0 0.875rem !important;
  color: var(--color-ink) !important;
  font-size: 0.95rem !important;
  text-align: left !important;
  width: 100% !important;
  margin: 0 !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  width: 2rem !important;
  top: 0 !important;
  right: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow b {
  position: static !important;
  margin: 0 !important;
  border-color: var(--color-brand) transparent transparent transparent !important;
  border-width: 6px 5px 0 5px !important;
}
.woocommerce-checkout .select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--color-brand) transparent !important;
  border-width: 0 5px 6px 5px !important;
}
.woocommerce-checkout .select2-dropdown {
  border: 2px solid var(--color-brand-light) !important;
  border-radius: 0.5rem !important;
  overflow: hidden;
}
.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  padding: 0.5rem 0.75rem !important;
  border: 1px solid #f3f4f6 !important;
  border-radius: 0.35rem !important;
  font-size: 0.92rem;
}
.woocommerce-checkout .select2-results__option--highlighted {
  background-color: var(--color-brand-light) !important;
  color: var(--color-ink) !important;
}
.woocommerce-checkout .select2-results__option {
  padding: 0.5rem 0.75rem !important;
  font-size: 0.92rem;
}

/* Placeholder consistente */
.woocommerce-checkout .form-row input::placeholder,
.woocommerce-checkout .form-row textarea::placeholder {
  color: #9ca3af !important;
  opacity: 1 !important;
}

/* Textarea (Observacoes do pedido) */
.woocommerce-checkout .form-row textarea {
  min-height: 90px;
  resize: vertical;
}

/* CPF, CEP, Número, Estado — campos curtos podem ser metade */
.woocommerce-checkout .form-row#billing_cpf_field,
.woocommerce-checkout .form-row#billing_postcode_field,
.woocommerce-checkout .form-row#billing_state_field {
  grid-column: span 1;
}
@media (min-width: 640px) {
  .woocommerce-checkout .form-row#billing_address_1_field { grid-column: span 2; }
  .woocommerce-checkout .form-row#billing_number_field,
  .woocommerce-checkout .form-row#billing_neighborhood_field { grid-column: span 1; }
  .woocommerce-checkout .form-row#billing_city_field { grid-column: span 2; }
  .woocommerce-checkout .form-row#billing_email_field { grid-column: 1 / -1; }
  .woocommerce-checkout .form-row#billing_phone_field { grid-column: span 1; }
}

/* Required asterisk */
.woocommerce-checkout .required {
  color: var(--color-sale);
  text-decoration: none;
  margin-left: 0.15rem;
}

/* Validacao */
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
  border-color: var(--color-sale) !important;
  box-shadow: 0 0 0 3px rgba(237, 107, 90, 0.15) !important;
}
.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated select {
  border-color: var(--color-pix) !important;
}

/* ========== SPACING AUDIT — padronizacao geral do checkout ========== */

/* Distancia entre cards customer_details e additional_fields/observacoes */
.woocommerce-checkout form.checkout #customer_details + h3 {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
.woocommerce-checkout #ship-to-different-address {
  margin: 0 !important;
}

/* Card 'Entregar em endereco diferente?' destacado */
.woocommerce-checkout #ship-to-different-address {
  background: var(--color-bg-cream);
  border: 1px solid #f3f4f6;
  border-radius: 0.75rem;
  padding: 0.85rem 1rem !important;
  display: flex !important;
  align-items: center;
  width: 100%;
}
.woocommerce-checkout #ship-to-different-address h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  flex: 1;
}
.woocommerce-checkout #ship-to-different-address label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.6rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  margin: 0 !important;
  font-size: 0.95rem !important;
}
.woocommerce-checkout #ship-to-different-address-checkbox {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--color-brand);
  cursor: pointer;
  flex-shrink: 0;
}

/* Card 'Criar conta?' — mesmo estilo do 'Entregar em endereco diferente' */
.woocommerce-checkout .woocommerce-account-fields {
  margin-top: 1rem !important;
}
.woocommerce-checkout .woocommerce-account-fields p.create-account {
  background: var(--color-bg-cream);
  border: 1px solid #f3f4f6;
  border-radius: 0.75rem;
  padding: 0.85rem 1rem !important;
  margin: 0 0 0.5rem !important;
  width: 100%;
}
.woocommerce-checkout .woocommerce-account-fields p.create-account label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.6rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  margin: 0 !important;
  font-size: 0.95rem !important;
}
.woocommerce-checkout .woocommerce-account-fields p.create-account label span {
  font-weight: 600;
  color: var(--color-ink);
}
.woocommerce-checkout #createaccount {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--color-brand);
  margin: 0 !important;
  cursor: pointer;
  flex-shrink: 0;
}
/* Quando marcado, mostra fields adicionais (senha, etc) dentro do card */
.woocommerce-checkout .woocommerce-account-fields .create-account .form-row {
  margin-top: 0.75rem !important;
  width: 100%;
}

/* Shipping fields card (quando 'endereco diferente' marcado) */
.woocommerce-checkout #customer_details .woocommerce-shipping-fields {
  margin-top: 1.25rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid #f3f4f6;
}

/* Additional fields (Observacoes do pedido) */
.woocommerce-checkout #customer_details + .woocommerce-additional-fields,
.woocommerce-checkout #ship-to-different-address + .woocommerce-additional-fields,
.woocommerce-checkout #order_comments_field {
  margin-top: 1.25rem !important;
}
.woocommerce-checkout .woocommerce-additional-fields {
  background: white;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  padding: 1.25rem 1.5rem !important;
}
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--color-ink) !important;
  margin: 0 0 0.75rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid #f3f4f6 !important;
}
.woocommerce-checkout #order_comments_field {
  margin: 0 !important;
}
.woocommerce-checkout #order_comments_field label {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.4rem !important;
  color: var(--color-ink) !important;
}
.woocommerce-checkout #order_comments_field textarea {
  min-height: 90px !important;
  resize: vertical !important;
  padding: 0.7rem 0.875rem !important;
  font-size: 0.92rem !important;
  line-height: 1.5;
}

/* Form rows: spacing vertical consistente entre cada campo */
.woocommerce-checkout .form-row {
  margin: 0 0 0.875rem !important;
}
.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--color-ink) !important;
  margin-bottom: 0.35rem !important;
  line-height: 1.3 !important;
}
/* Tira margin-bottom do ultimo form-row de cada wrapper */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row:last-child,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row:last-child {
  margin-bottom: 0 !important;
}

/* Cards principais com padding consistente */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  padding: 0 !important;
}
.woocommerce-checkout #customer_details {
  padding: 1.5rem !important;
}
@media (max-width: 640px) {
  .woocommerce-checkout #customer_details {
    padding: 1.1rem !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields {
    padding: 1.1rem !important;
  }
}

/* Headings das fields sections consistentes */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--color-ink) !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid #f3f4f6 !important;
}

/* ============ Card de Review (Seu pedido) ============ */
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-display) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--color-ink) !important;
  margin: 0 0 0.75rem !important;
}
.woocommerce-checkout #order_review {
  background: white !important;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  padding: 1.25rem 1.5rem !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.woocommerce-checkout #order_review .shop_table {
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  border-radius: 0;
}
.woocommerce-checkout #order_review .shop_table thead,
.woocommerce-checkout #order_review .shop_table th.product-name,
.woocommerce-checkout #order_review .shop_table th.product-total {
  background: transparent !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280 !important;
  padding: 0 0 0.5rem !important;
  border: none !important;
  border-bottom: 1px solid #f3f4f6 !important;
}
.woocommerce-checkout #order_review .shop_table tbody td,
.woocommerce-checkout #order_review .shop_table tbody th {
  padding: 0.65rem 0 !important;
  border: none !important;
  border-bottom: 1px solid #f9fafb !important;
  font-size: 0.9rem;
  vertical-align: top;
}
.woocommerce-checkout #order_review .shop_table .cart_item .product-name {
  font-weight: 600;
  color: var(--color-ink);
  line-height: 1.35;
}
.woocommerce-checkout #order_review .shop_table .cart_item .product-quantity {
  color: #6b7280;
  font-weight: 500;
  font-size: 0.8rem;
  margin-left: 0.35rem;
}
.woocommerce-checkout #order_review .shop_table .cart_item .product-total {
  text-align: right;
  color: var(--color-ink);
  font-weight: 600;
  white-space: nowrap;
}
.woocommerce-checkout #order_review .shop_table tfoot tr th,
.woocommerce-checkout #order_review .shop_table tfoot tr td {
  padding: 0.75rem 0 !important;
  border: none !important;
  border-bottom: 1px solid #f9fafb !important;
  font-size: 0.9rem;
}
.woocommerce-checkout #order_review .shop_table tfoot tr th {
  font-weight: 600;
  color: #4b5563;
}
.woocommerce-checkout #order_review .shop_table tfoot tr td {
  text-align: right;
  color: var(--color-ink);
}
.woocommerce-checkout #order_review .shop_table tfoot tr.order-total th,
.woocommerce-checkout #order_review .shop_table tfoot tr.order-total td {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  border-bottom: none !important;
  padding-top: 1rem !important;
}
.woocommerce-checkout #order_review .shop_table tfoot tr.order-total td {
  color: var(--color-brand) !important;
}
.woocommerce-checkout #order_review .shop_table tfoot tr.order-total .woocommerce-Price-amount,
.woocommerce-checkout #order_review .shop_table tfoot tr.order-total .amount {
  font-size: 1.2rem !important;
}

/* ============ Metodos de pagamento ============ */
.woocommerce-checkout #payment {
  background: transparent !important;
  border-radius: 0 !important;
  margin-top: 1rem !important;
  padding: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.woocommerce-checkout #payment ul.payment_methods li {
  background: white;
  border: 1.5px solid #f3f4f6;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem !important;
  transition: border-color 0.15s, background 0.15s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: var(--color-brand-light);
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--color-brand);
  margin-right: 0.5rem;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600 !important;
  cursor: pointer;
  margin: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li label img {
  max-height: 24px;
  width: auto;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked + label {
  color: var(--color-brand);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--color-brand) !important;
  background: var(--color-brand-light);
}
.woocommerce-checkout #payment .payment_box {
  background: var(--color-bg-cream) !important;
  border-radius: 0.5rem;
  padding: 0.875rem 1rem !important;
  margin: 0.75rem 0 0 !important;
  font-size: 0.85rem !important;
  color: #4b5563;
}
.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}
.woocommerce-checkout #payment .payment_box p {
  margin: 0;
}

/* ============ Aviso 'sem metodos de pagamento' ============ */
.woocommerce-checkout #payment > .woocommerce-NoticeGroup,
.woocommerce-checkout #payment > .woocommerce-error {
  margin: 0 0 0.75rem !important;
}

/* ============ Notices/errors do checkout ============
   JS (checkout-notices.js) move TODAS as notices pra dentro do
   #order_review (logo acima do botao Finalizar pedido). CSS abaixo
   cuida do styling dentro do wrapper .cdm-notice-wrap.

   Esconde notices que ficaram no fluxo default (caso JS demore a rodar
   OU em navegador sem JS — fallback minimal abaixo).
*/

/* Wrapper que o JS cria dentro do #order_review */
.cdm-notice-wrap {
  margin: 0 0 0.85rem !important;
}
.cdm-notice-wrap .woocommerce-NoticeGroup,
.cdm-notice-wrap .woocommerce-NoticeGroup-checkout,
.cdm-notice-wrap .woocommerce-error,
.cdm-notice-wrap .woocommerce-info,
.cdm-notice-wrap .woocommerce-message,
.cdm-notice-wrap > ul {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  margin: 0 0 0.5rem !important;
  padding: 0.75rem 0.875rem !important;
  background: var(--color-bg-pink, #FFF0F5) !important;
  border: none !important;
  border-radius: 0.6rem !important;
  border-left: 4px solid var(--color-sale, #ED6B5A) !important;
  list-style: none !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  color: var(--color-ink) !important;
}
.cdm-notice-wrap li {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--color-ink) !important;
  font-size: 0.88rem !important;
  list-style: none !important;
}
.cdm-notice-wrap li + li {
  margin-top: 0.35rem !important;
}
.cdm-notice-wrap *::before {
  display: none !important;
}
.cdm-notice-wrap .woocommerce-message {
  background: var(--color-bg-mint) !important;
  border-left-color: var(--color-pix) !important;
}
.cdm-notice-wrap .woocommerce-info {
  background: var(--color-brand-light) !important;
  border-left-color: var(--color-brand) !important;
}

/* Notices que escaparam do JS (renderizadas pelo server-side) */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout form.checkout > .woocommerce-error,
.woocommerce-checkout form.checkout > .woocommerce-info,
.woocommerce-checkout form.checkout > .woocommerce-message,
.woocommerce-checkout > .woocommerce-error,
.woocommerce-checkout > .woocommerce-info,
.woocommerce-checkout > .woocommerce-message {
  /* Mantem visivel mas com mesmo styling do .cdm-notice-wrap pra nao
     parecer 'desconfigurado' enquanto o JS nao move */
  margin: 0 0 1rem !important;
  padding: 0.75rem 0.875rem !important;
  background: var(--color-bg-pink, #FFF0F5) !important;
  border: none !important;
  border-radius: 0.6rem !important;
  border-left: 4px solid var(--color-sale, #ED6B5A) !important;
  list-style: none !important;
  font-size: 0.88rem !important;
  color: var(--color-ink) !important;
  grid-column: 1 / -1;
}
.woocommerce-checkout form.checkout > .woocommerce-error li,
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup li,
.woocommerce-checkout > .woocommerce-error li {
  color: var(--color-ink) !important;
  margin: 0;
  padding: 0;
  list-style: none !important;
  font-size: 0.88rem !important;
}
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before {
  display: none !important;
}

/* ============ Place order ============ */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: 1rem 0 !important;
  padding: 0.875rem 1rem !important;
  background: var(--color-bg-cream);
  border-radius: 0.5rem;
  font-size: 0.85rem;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500 !important;
  margin: 0 !important;
  cursor: pointer;
}
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 0.8rem;
  color: #6b7280;
  margin: 0 0 0.75rem !important;
}
.woocommerce-checkout .place-order {
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  padding: 0.9rem 1.25rem !important;
  background: var(--color-cta) !important;
  color: var(--color-ink) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border-radius: 9999px !important;
  border: none !important;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(255, 199, 60, 0.4) !important;
  transition: background 0.15s !important;
}
.woocommerce-checkout #place_order:hover {
  background: var(--color-cta-hover) !important;
}
.woocommerce-checkout #place_order:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ============ Shipping calculator / methods (Melhor Envio) ============ */
.woocommerce-checkout #shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0.5rem 0 0 !important;
}
.woocommerce-checkout #shipping_method li {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0 !important;
  font-size: 0.85rem;
}
.woocommerce-checkout #shipping_method input[type="radio"] {
  accent-color: var(--color-brand);
}

/* ============ Mobile ajustes ============ */
@media (max-width: 1023px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout form.checkout #customer_details {
    grid-column: 1;
    grid-row: auto;
  }
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review {
    grid-column: 1;
    position: static !important;
  }
}
