/* =========================================================
   CRIADIX BILLING CORE — SOMENTE SELETOR DE MODALIDADES
   Este ficheiro não estiliza .crx-*, CartFlows, resumo do
   pedido, preço lateral ou métodos de pagamento.
   ========================================================= */

.criadix-billing-selector {
  --cx-navy: #21364a;
  --cx-orange: #f8692a;
  --cx-orange-dark: #df5921;
  --cx-orange-soft: #fff4ee;
  --cx-line: #e4e9ed;
  --cx-muted: #687789;

  box-sizing: border-box !important;
  contain: layout style !important;
  isolation: isolate !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 20px !important;
  border: 1px solid var(--cx-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(33, 54, 74, 0.07) !important;
}

.criadix-billing-selector *,
.criadix-billing-selector *::before,
.criadix-billing-selector *::after {
  box-sizing: border-box !important;
}

.criadix-billing-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 16px !important;
}

.criadix-billing-heading span {
  display: block !important;
  color: var(--cx-orange) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.criadix-billing-heading h2 {
  margin: 3px 0 0 !important;
  color: var(--cx-navy) !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.criadix-billing-heading p {
  max-width: 300px !important;
  margin: 0 !important;
  color: var(--cx-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  text-align: right !important;
}

.criadix-billing-group {
  margin-top: 15px !important;
}

.criadix-billing-group > h3 {
  margin: 0 0 8px !important;
  color: #566679 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.criadix-billing-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.criadix-billing-group--prepaid .criadix-billing-options {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.criadix-billing-option,
.woocommerce .criadix-billing-option,
body .criadix-billing-selector button.criadix-billing-option {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  grid-template-areas: "radio copy" "radio price" !important;
  gap: 4px 9px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 104px !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid #dce3e8 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #344454 !important;
  text-align: left !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transform: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease,
    background 0.18s ease, transform 0.18s ease !important;
}

.criadix-billing-option:hover,
.woocommerce .criadix-billing-option:hover {
  border-color: #f7a17a !important;
  background: #fffaf7 !important;
  transform: translateY(-1px) !important;
}

.criadix-billing-option.is-selected,
.woocommerce .criadix-billing-option.is-selected {
  border: 2px solid var(--cx-orange) !important;
  padding: 13px !important;
  background: var(--cx-orange-soft) !important;
  box-shadow: 0 8px 20px rgba(248, 105, 42, 0.12) !important;
}

.criadix-billing-radio {
  grid-area: radio !important;
  width: 17px !important;
  height: 17px !important;
  margin-top: 2px !important;
  border: 2px solid #9aa7b3 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 4px #fff !important;
}

.criadix-billing-option.is-selected .criadix-billing-radio {
  border-color: var(--cx-orange) !important;
  background: var(--cx-orange) !important;
}

.criadix-billing-copy {
  grid-area: copy !important;
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.criadix-billing-copy strong {
  color: var(--cx-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.criadix-billing-copy small {
  color: var(--cx-muted) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}

.criadix-billing-price {
  grid-area: price !important;
  align-self: end !important;
  display: block !important;
  min-width: 0 !important;
  color: var(--cx-navy) !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.criadix-billing-price .woocommerce-Price-amount,
.criadix-billing-price .woocommerce-Price-currencySymbol {
  color: inherit !important;
  background: transparent !important;
  font: inherit !important;
}

.criadix-billing-price-suffix {
  display: block !important;
  margin-top: 2px !important;
  color: #778697 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.criadix-billing-badge {
  position: absolute !important;
  z-index: 2 !important;
  top: -9px !important;
  right: 9px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: var(--cx-orange) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.criadix-billing-option.is-loading {
  opacity: 0.55 !important;
  pointer-events: none !important;
}

.criadix-billing-feedback {
  min-height: 18px !important;
  margin: 10px 0 0 !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.criadix-billing-feedback.is-error {
  color: #b91c1c !important;
}

/* Classe funcional criada pelo Billing Core. */
.criadix-hidden-trial-copy {
  display: none !important;
}

@media (max-width: 900px) {
  .criadix-billing-group--prepaid .criadix-billing-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .criadix-billing-selector {
    padding: 16px !important;
  }

  .criadix-billing-heading {
    display: block !important;
  }

  .criadix-billing-heading p {
    margin-top: 7px !important;
    text-align: left !important;
  }

  .criadix-billing-options,
  .criadix-billing-group--prepaid .criadix-billing-options {
    grid-template-columns: 1fr !important;
  }

  .criadix-billing-option {
    min-height: 84px !important;
  }
}

/* Avisos administrativos de configuração do Billing Core. */
.criadix-billing-selector--config-error {
  border-color: rgba(185, 28, 28, 0.22) !important;
  background: #fff7f7 !important;
}

.criadix-billing-selector--config-error .criadix-billing-heading {
  margin-bottom: 0 !important;
}

.criadix-billing-selector--config-error .criadix-billing-heading span {
  color: #b91c1c !important;
}

.criadix-billing-selector--config-error .criadix-billing-heading p {
  max-width: 520px !important;
  color: #7f1d1d !important;
}
