html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

body {
  background: #f2f3f5 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  color: #1f2937 !important;
}

* {
  box-sizing: border-box !important;
}

img {
  max-width: 100% !important;
  height: auto !important;
}

.vega-alert {
  background: #0868f7 !important;
  color: #fff !important;
  text-align: center !important;
  padding: 12px 8px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 0 12px 0 !important;
}

.vega-alert strong {
  font-weight: 800 !important;
}

.checkout-wrapper.vega-checkout {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 8px 20px !important;
  overflow-x: hidden !important;
}

.vega-checkout .card {
  width: 100% !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.05) !important;
  overflow: hidden !important;
}

.vega-checkout .card h2 {
  font-size: 18px !important;
  margin: 0 0 10px !important;
  font-weight: 800 !important;
}

.cart-product {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  padding-bottom: 10px !important;
  margin-bottom: 8px !important;
  border-bottom: 1px solid #e5e7eb !important;
  overflow: hidden !important;
}

.cart-product-img {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

.cart-product-info {
  min-width: 0 !important;
}

.cart-product-info strong {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin-bottom: 2px !important;
  word-break: break-word !important;
}

.cart-product-info p {
  margin: 0 !important;
  font-size: 12px !important;
  color: #777 !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}

.cart-line,
.cart-total {
  display: flex !important;
  justify-content: space-between !important;
  padding: 5px 0 !important;
  font-size: 15px !important;
}

.cart-total {
  border-top: 1px solid #e5e7eb !important;
  margin-top: 6px !important;
  padding-top: 10px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.vega-checkout .form-group {
  margin-bottom: 10px !important;
}

.vega-checkout .form-group label {
  display: block !important;
  margin-bottom: 5px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.vega-checkout input,
.vega-checkout select {
  width: 100% !important;
  height: 45px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
  font-size: 15px !important;
  background: #fff !important;
}

.vega-checkout input:focus,
.vega-checkout select:focus {
  outline: none !important;
  border-color: #0868f7 !important;
  box-shadow: 0 0 0 2px rgba(8,104,247,.10) !important;
}

.vega-checkout .form-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.receiver-text {
  font-size: 13px !important;
  margin: -4px 0 10px !important;
}

.receiver-text a {
  color: #0868f7 !important;
  text-decoration: none !important;
}

.cep-wrapper {
  position: relative !important;
}

.cep-spinner {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #e5e7eb !important;
  border-top-color: #0868f7 !important;
  border-radius: 50% !important;
  animation: spin .6s linear infinite !important;
  display: none;
}

.cep-spinner.active {
  display: block !important;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.error-msg {
  color: #dc2626 !important;
  font-size: 12px !important;
  margin-top: 5px !important;
}

.shipping-placeholder,
.shipping-loading,
.shipping-result {
  width: 100% !important;
  border-radius: 12px !important;
  padding: 13px !important;
  margin-top: 10px !important;
  background: #fff !important;
}

.shipping-placeholder {
  border: 2px dashed #d1d5db !important;
  font-size: 14px !important;
}

.shipping-placeholder p {
  margin: 5px 0 0 !important;
  font-size: 13px !important;
  color: #777 !important;
}

.shipping-loading {
  display: none;
  border: 2px dashed #0868f7 !important;
  text-align: center !important;
  color: #0868f7 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.shipping-result {
  display: none;
  flex-direction: column !important;
  align-items: flex-start !important;
  border: 2px solid #0868f7 !important;
  font-size: 14px !important;
}

.shipping-result p {
  margin: 3px 0 0 !important;
  color: #777 !important;
  font-size: 12px !important;
}

.shipping-note {
  margin-top: 8px !important;
  color: #777 !important;
  font-size: 11px !important;
}

#address-section {
  display: none;
  margin-top: 12px !important;
}

#address-section.visible {
  display: block !important;
}

#payment-section {
  display: none;
}

.payment-options {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.payment-card {
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid #d7dce3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 10px !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.payment-card.selected {
  border: 2px solid #0868f7 !important;
  background: #f5f9ff !important;
}

.pix-logo {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  display: block !important;
}

.pix-text {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0868f7 !important;
}

.pay-icon {
  font-size: 17px !important;
}

.pay-title {
  font-size: 14px !important;
  font-weight: 700 !important;
}

.payment-info {
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  padding: 14px !important;
  font-size: 14px !important;
  color: #777 !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
}

.card-form {
  display: none;
  margin-top: 12px !important;
}

.card-form.visible {
  display: block !important;
}

.btn-primary {
  width: 100% !important;
  height: 50px !important;
  border: none !important;
  border-radius: 10px !important;
  background: #0868f7 !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}

.checkout-footer {
  width: 100% !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 12px !important;
  margin-bottom: 20px !important;
  text-align: center !important;
  font-size: 13px !important;
}

.payment-brands {
  display: flex !important;
  justify-content: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 !important;
}

.payment-brands span {
  background: #f3f4f6 !important;
  border-radius: 7px !important;
  padding: 4px 7px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.secure-footer {
  color: #16a34a !important;
  font-weight: 800 !important;
}.shipping-result{
  background: #eafff3 !important;
  border: 2px solid #16a34a !important;
  border-radius: 16px !important;
  padding: 18px !important;
  box-shadow: 0 4px 14px rgba(22,163,74,.18) !important;
}

#shipping-city-text{
  color: #15803d !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

#shipping-time-text{
  color: #374151 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.shipping-result > strong{
  background: #16a34a !important;
  color: #fff !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
}.vega-checkout input.error,
.vega-checkout select.error{
  border: 2px solid #dc2626 !important;
  background: #fff5f5 !important;
}

.alert-error{
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border: 1px solid #fecaca !important;
  border-radius: 10px !important;
  padding: 12px !important;
}