.cfcep-box { margin: 1em 0; max-width: 460px; }
.cfcep-title { display: block; font-weight: 600; margin-bottom: .4em; }
.cfcep-row { display: flex; gap: .5em; }
.cfcep-input { flex: 1 1 auto; min-width: 0; padding: .6em .8em; border: 1px solid #c3c4c7; border-radius: 4px; font-size: 1em; }
.cfcep-btn { flex: 0 0 auto; padding: .6em 1.2em; border: 0; border-radius: 4px; cursor: pointer; background: #1d2327; color: #fff; font-size: 1em; }
.cfcep-btn:hover { opacity: .9; }
.cfcep-btn[disabled] { opacity: .6; cursor: wait; }
.cfcep-result:empty { display: none; }
.cfcep-msg { margin-top: .7em; padding: .7em .9em; border-radius: 4px; line-height: 1.45; }
.cfcep-msg--ok { background: #edf7ed; border: 1px solid #b7dfb9; color: #1e4620; }
.cfcep-msg--error { background: #fdeded; border: 1px solid #f5c2c2; color: #5f2120; }
.cfcep-msg--info { background: #eef5fb; border: 1px solid #bcd4ea; color: #1d3d57; }
.cfcep-msg small { opacity: .8; }
.cfcep-link { font-weight: 600; text-decoration: underline; }
.cfcep-inline-msg { font-weight: 600; }

/* Dentro do Resumo (tabela de totais do carrinho / checkout) */
.cfcep-in-totals { padding: .6em 0 !important; text-align: left !important; }
.cfcep-in-totals::before { display: none !important; }
.cfcep-in-totals .cfcep-box { max-width: none; margin: 0; }
.cfcep-in-totals .cfcep-title, .cfcep-in-totals .cfcep-msg { text-align: left !important; }
.cfcep-in-totals .cfcep-title { font-size: .95em; }

/* Checkout: quadro de status (sem campo) */
.cfcep-box--status { max-width: none; margin: 0; }
.cfcep-box--status .cfcep-msg { margin-top: 0; }
.cfcep-box--status.is-loading .cfcep-result { opacity: .6; }

/* Compra bloqueada por CEP sem cobertura */
body.cfcep-blocked .wc-block-components-checkout-place-order-button { opacity: .5; pointer-events: none; }
body.cfcep-blocked #place_order[disabled] { opacity: .5; cursor: not-allowed; }

.cfcep-aviso { display: block; margin-top: .4em; color: #7a5b00; }
.cfcep-msg--ok .cfcep-aviso { opacity: .95; }
