/**
 * Bloco evolury/cart-cep — estilo neutro e theme-agnostic.
 *
 * Cores via CSS custom properties com fallback na paleta Evolury — o tema
 * pode sobrescrever `--evo-cc-*` no :root pra casar com a marca, sem tocar
 * neste arquivo. Carrega no front (quando o bloco está na página) e no editor.
 */
.evo-cart-cep {
  --evo-cc-accent: #013f6e;
  --evo-cc-accent-hover: #0c91eb;
  --evo-cc-fg: #18181b;
  --evo-cc-muted: #3f3f46;
  --evo-cc-border: #d4d4d8;
  --evo-cc-hover: #f4f4f5;
  --evo-cc-ok: #10b981;
  --evo-cc-error: #ef4444;
  margin-bottom: 0.75rem;
}

.evo-cart-cep__form { margin: 0; }

.evo-cart-cep__label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.375rem;
  color: var(--evo-cc-fg);
}

.evo-cart-cep__row {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
}

.evo-cart-cep__input {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--evo-cc-border);
  border-radius: 0.375rem;
  background: #fff;
  font-size: 0.875rem;
  line-height: 1.25;
}
.evo-cart-cep__input:focus {
  outline: 2px solid var(--evo-cc-accent);
  outline-offset: 2px;
}
.evo-cart-cep__input[aria-busy="true"] {
  opacity: 0.6;
  cursor: progress;
}
/* iOS dá auto-zoom ao focar inputs com fonte < 16px — no mobile a tela
 * "pulava" ao tocar no CEP (parecia que o cálculo não funcionava). 16px mata
 * o zoom. Mesmo fix da grade de variações. */
@media (max-width: 640px) {
  .evo-cart-cep__input { font-size: 16px; }
}

.evo-cart-cep__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: 0;
  border-radius: 0.375rem;
  background: var(--evo-cc-accent);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.evo-cart-cep__btn:hover { background: var(--evo-cc-accent-hover); }
.evo-cart-cep__btn:disabled { opacity: 0.5; cursor: not-allowed; }

.evo-cart-cep__status {
  font-size: 0.75rem;
  margin: 0.5rem 0 0;
  min-height: 1em; /* evita layout shift ao aparecer/sumir */
}
.evo-cart-cep__status.is-info  { color: var(--evo-cc-muted); }
.evo-cart-cep__status.is-ok    { color: var(--evo-cc-ok); }
.evo-cart-cep__status.is-error { color: var(--evo-cc-error); }

.evo-cart-cep__helper {
  font-size: 0.75rem;
  margin: 0.375rem 0 0;
}
.evo-cart-cep__helper a {
  color: var(--evo-cc-muted);
  text-decoration: underline;
}
.evo-cart-cep__helper a:hover { color: var(--evo-cc-accent); }

/* ── Lista de fretes (radio group) ── */
.evo-cart-cep__rates {
  margin: 0.75rem 0 0;
  padding: 0.75rem 0 0;
  border: 0;
  border-top: 1px solid var(--evo-cc-border);
}
.evo-cart-cep__rates[hidden] { display: none; }
.evo-cart-cep__rates-legend {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--evo-cc-muted);
  margin-bottom: 0.5rem;
  padding: 0;
}
.evo-cart-cep__rates-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.evo-cart-cep__rates-item { margin: 0; padding: 0; }
.evo-cart-cep__rate {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.evo-cart-cep__rate:hover { background: var(--evo-cc-hover); }
.evo-cart-cep__rate input[type="radio"] { margin: 0; flex-shrink: 0; }
.evo-cart-cep__rate-name { flex: 1; font-size: 0.875rem; color: var(--evo-cc-fg); }
.evo-cart-cep__rate-price { font-size: 0.875rem; font-weight: 600; color: var(--evo-cc-accent); flex-shrink: 0; }

/* ── Oculta UI duplicada do shipping nativo do Cart Block ──
 * O bloco cart-cep cobre o input do CEP e a lista de fretes; o sub-bloco
 * `cart-order-summary-shipping-block` nativo continua mostrando a LINHA do
 * método selecionado no totals (isso é desejado), mas escondemos o
 * calculador completo de endereço e o placeholder "calculado no finalizar".
 * Gated por `body.evo-cc-hide-native` (classe adicionada quando o setting
 * "Ocultar calculador nativo" está ligado — default). Desligar o setting
 * remove a classe e o WC volta a mostrar a UI nativa. Seletores estáveis
 * do WC Blocks v8+. */
body.evo-cc-hide-native .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-shipping-calculator-address__button,
body.evo-cc-hide-native .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-shipping__change-address__link,
body.evo-cc-hide-native .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-shipping-calculator,
body.evo-cc-hide-native .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-shipping__placeholder,
body.evo-cc-hide-native .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-shipping__no-shipping-available-message,
body.evo-cc-hide-native .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-shipping__fieldset {
  display: none !important;
}
