/* WC Frete por CEP v2 — Estilos */

.wc-frete-cep-wrapper {
    margin: 16px 0;
    padding: 20px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fafafa;
    font-size: 14px;
    color: #333;
    box-sizing: border-box;
}

/* Header */
.wc-frete-cep-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.wc-frete-cep-icon { color: #6b7280; display: flex; align-items: center; }
.wc-frete-cep-title { font-size: 14px; font-weight: 600; color: #111827; }

/* Form */
.wc-frete-cep-form { display: flex; flex-direction: column; gap: 8px; }
.wc-frete-cep-input-group { display: flex; gap: 8px; }

.wc-frete-cep-input {
    flex: 1;
    height: 42px;
    padding: 8px 14px;
    border: 1px solid #d1d5db;
    border-radius: 21px;
    font-size: 14px;
    color: #333;
    background: #fff;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    box-sizing: border-box;
}
.wc-frete-cep-input:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.wc-frete-cep-input::placeholder { color: #9ca3af; }

.wc-frete-cep-btn {
    height: 42px;
    padding: 0 18px;
    border: none;
    border-radius: 21px;
    background: #2563eb;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s, transform .1s;
}
.wc-frete-cep-btn:hover   { opacity: .85; }
.wc-frete-cep-btn:active  { transform: scale(.97); }
.wc-frete-cep-btn:disabled { opacity: .65; cursor: not-allowed; }

.wc-frete-cep-link { font-size: 12px; color: #6b7280; text-decoration: underline; transition: color .15s; }
.wc-frete-cep-link:hover { color: #374151; }

/* Results */
.wc-frete-cep-results { margin-top: 14px; }

.wc-frete-cep-cep-info {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.wc-frete-cep-change-btn {
    background: none;
    border: none;
    color: #2563eb;
    font-size: 12px;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
}

.wc-frete-cep-rates { display: flex; flex-direction: column; gap: 8px; }

.wc-frete-cep-rate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    transition: border-color .15s;
    gap: 8px;
}
.wc-frete-cep-rate:hover { border-color: #2563eb; }

.wc-frete-cep-rate-left { display: flex; flex-direction: column; gap: 2px; }
.wc-frete-cep-rate-label { font-size: 13px; color: #374151; font-weight: 500; }
.wc-frete-cep-rate-source { font-size: 11px; color: #9ca3af; }

.wc-frete-cep-rate-right { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex-shrink: 0; }
.wc-frete-cep-rate-cost { font-size: 13px; font-weight: 700; color: #111827; }
.wc-frete-cep-rate-cost.is-free { color: #16a34a; }
.wc-frete-cep-rate-deadline { font-size: 11px; color: #6b7280; }

/* Error / Loading */
.wc-frete-cep-error {
    padding: 10px 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    color: #b91c1c;
    font-size: 13px;
}
.wc-frete-cep-loading { display: flex; align-items: center; gap: 8px; color: #6b7280; font-size: 13px; }
.wc-frete-cep-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #e5e7eb;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: wc-frete-cep-spin .6s linear infinite;
    flex-shrink: 0;
}
@keyframes wc-frete-cep-spin { to { transform: rotate(360deg); } }

/* Responsivo */
@media (max-width: 480px) {
    .wc-frete-cep-input-group { flex-direction: column; }
    .wc-frete-cep-btn { width: 100%; }
}
