/* ============================================================
 * «Verifica costo e tempi di consegna» nella scheda prodotto
 * (dalla 1.2.797, pages/prodotto/_spedizione.twig, classi ke-sped-).
 * Il colore segue quello del catalogo se c'è (--ke-cat-colore), altrimenti
 * quello del pulsante del carrello (--color-cta).
 * ============================================================ */

.ke-sped {
    --ke-sped-colore: var(--ke-cat-colore, var(--color-cta, #d97706));
    margin: 4px 0 22px;
    padding: 16px 18px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}
.ke-sped-titolo { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1rem; color: #111827; }
.ke-sped-titolo .ke-icona { flex: none; width: 26px; height: 26px; color: #374151; }
.ke-sped-modulo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.ke-sped-campo { display: flex; flex: 1 1 200px; align-items: center; gap: 10px; min-width: 0; margin: 0; font-size: .9rem; color: #4b5563; }
.ke-sped-campo select {
    flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 12px;
    border: 1px solid #d1d5db; border-radius: 8px; background-color: #fff; font-size: .95rem; color: #111827;
}
.ke-sped-calcola {
    flex: 0 0 auto; height: 44px; padding: 0 22px;
    border: 1.5px solid var(--ke-sped-colore); border-radius: 8px; background: #fff;
    font-size: .95rem; font-weight: 600; color: var(--ke-sped-colore); cursor: pointer;
}
.ke-sped-calcola:hover, .ke-sped-calcola:focus-visible { background: color-mix(in srgb, var(--ke-sped-colore) 8%, #fff); }
.ke-sped-nota { margin: 10px 0 0; font-size: .8rem; line-height: 1.45; color: #6b7280; }

.ke-sped-esito { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: #f9fafb; font-size: .9rem; color: #111827; }
.ke-sped-esito[hidden] { display: none; }
.ke-sped-esito p { margin: 0; }
.ke-sped-esito.is-attesa, .ke-sped-esito.is-vecchia { color: #6b7280; }
.ke-sped-esito.is-errore { background: #fef2f2; color: #b91c1c; }
.ke-sped-per { margin-bottom: 6px !important; font-size: .78rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: #6b7280; }
.ke-sped-opzione + .ke-sped-opzione { margin-top: 8px; padding-top: 8px; border-top: 1px solid #e5e7eb; }
.ke-sped-opzione-testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.ke-sped-opzione-testa strong { font-size: 1.05rem; }
.ke-sped-opzione-testa strong.is-gratis { color: #15803d; }
.ke-sped-giorni { margin-top: 2px !important; color: #374151; }
.ke-sped-soglia { margin-top: 2px !important; font-size: .82rem; color: #15803d; }
.ke-sped-ritiro { margin-top: 8px !important; font-size: .85rem; color: #374151; }
.ke-sped-messaggio { color: inherit; }

@media (max-width: 480px) {
    .ke-sped-campo { flex-basis: 100%; }
    .ke-sped-calcola { flex: 1 1 100%; }
}
