/*
 * AlmaInnova · modulo d'ordine (figlio di standard_cart)
 * Colori, font e pulsanti di base arrivano dal tema di sistema almainnova (css/custom.css):
 * qui solo ciò che riguarda store, configurazione, domini, carrello e checkout.
 */

/* ---------- Intestazione delle pagine dell'ordine ---------- */

#order-standard_cart .header-lined { margin-bottom: 24px; padding: 0; border: 0; }
#order-standard_cart .header-lined h1,
#order-standard_cart .header-lined .font-size-36 {
    margin: 0; font-family: var(--ai-font-titoli); font-weight: 700;
    font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.08; letter-spacing: -0.01em; color: var(--ai-inchiostro);
}
#order-standard_cart .header-lined p,
.ai-ordine__sottotitolo { margin: 10px 0 0; max-width: 60ch; color: var(--ai-grigio); font-size: 1.0625rem; }
#order-standard_cart .ai-ordine__testa .ai-etichetta { margin-bottom: 10px; }

/* ---------- Card dei piani ---------- */

.ai-piani {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin: 0;
}
.ai-piano {
    position: relative;
    display: flex; flex-direction: column;
    min-width: 0;
    padding: clamp(20px, 2.2vw, 26px);
    background: var(--ai-superficie);
    border: 1px solid var(--ai-linea);
    border-radius: var(--ai-raggio-card);
}
.ai-piano--evidenza { border-color: var(--ai-blu); box-shadow: 0 0 0 1px var(--ai-blu) inset, var(--ai-ombra-card); }
.ai-piano__evidenza {
    align-self: flex-start; margin: 0 0 12px; padding: 3px 10px; border-radius: 999px;
    background: var(--ai-blu-chiaro); color: var(--ai-blu-scuro);
    font-family: var(--ai-font-mono); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
}
.ai-piano__nome {
    margin: 0 0 12px;
    font-family: var(--ai-font-titoli); font-size: 1.1875rem; font-weight: 600; line-height: 1.25;
    color: var(--ai-inchiostro); overflow-wrap: anywhere;
}
.ai-piano__qta { margin: -6px 0 10px; font-size: 0.875rem; color: var(--ai-grigio); }
.ai-piano__prezzo { margin: 0 0 16px; color: var(--ai-inchiostro); text-align: left; }
.ai-piano__da { display: block; font-size: 0.875rem; color: var(--ai-grigio); }
.ai-piano__importo {
    font-family: var(--ai-font-titoli); font-size: 1.75rem; font-weight: 700; line-height: 1.1;
    letter-spacing: -0.01em; white-space: nowrap;
}
.ai-piano__ciclo { margin-left: 4px; font-size: 1rem; color: var(--ai-grigio); }
.ai-piano__setup { display: block; margin-top: 4px; font-size: 0.875rem; color: var(--ai-grigio); }
.ai-piano__desc { flex: 1 1 auto; margin-bottom: 24px; }
.ai-piano__lista { margin: 0; padding-left: 1.15em; font-size: 1rem; line-height: 1.7; color: var(--ai-inchiostro); }
.ai-piano__lista li { padding-left: 2px; }
.ai-piano__lista li::marker { color: var(--ai-inchiostro); }
.ai-piano__ordina.btn { display: block; width: 100%; margin-top: auto; padding: 0.85rem 1rem; font-size: 1rem; }

.ai-ordine__inclusi { margin-top: 32px; padding: 20px 24px; background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-card); }
.ai-ordine__inclusi ul { margin: 0; padding-left: 1.15em; columns: 2 220px; }

/* ---------- Barra laterale delle categorie ---------- */

#order-standard_cart .cart-sidebar .card { border-radius: var(--ai-raggio-card); overflow: hidden; }
#order-standard_cart .sidebar-collapsed { margin-bottom: 20px; }
#order-standard_cart .sidebar-collapsed .panel,
#order-standard_cart .sidebar-collapsed select { border-radius: var(--ai-raggio-campo); }

/* ---------- Riquadri, riepilogo e sottotitoli delle sezioni ---------- */

#order-standard_cart .sub-heading {
    height: auto; margin: 32px 0 16px; border-top: 0; text-align: left;
}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading .primary-bg-color {
    position: static; display: inline-block; padding: 0; background: transparent;
    font-family: var(--ai-font-mono); font-size: 0.8125rem; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--ai-blu-scuro);
}
#order-standard_cart .field-container,
#order-standard_cart .product-info,
#order-standard_cart .domain-checker-container,
#order-standard_cart .view-cart-items,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container,
#order-standard_cart .secondary-cart-body .order-summary {
    border-radius: var(--ai-raggio-card);
}
#order-standard_cart .order-summary {
    background: var(--ai-superficie); border: 1px solid var(--ai-linea); color: var(--ai-inchiostro);
    overflow: hidden;
}
#order-standard_cart .order-summary h2 {
    margin: 0; padding: 14px 20px;
    background: var(--ai-notte); color: var(--ai-notte-testo);
    font-family: var(--ai-font-mono); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
}
#order-standard_cart .summary-container { padding: 16px 20px 20px; background: var(--ai-superficie); }
#order-standard_cart .order-summary .total-due-today .amt,
#order-standard_cart .order-summary .total-due-today #totalDueToday,
#order-standard_cart #totalCartPrice {
    font-family: var(--ai-font-titoli); font-weight: 700; color: var(--ai-inchiostro);
}
#order-standard_cart .order-summary .product-name { font-weight: 600; color: var(--ai-inchiostro); }

#order-standard_cart .product-info {
    padding: 16px 20px; background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-left-width: 4px; border-left-color: var(--ai-blu);
}
#order-standard_cart .product-info .product-title { font-family: var(--ai-font-titoli); font-weight: 600; color: var(--ai-inchiostro); }

#order-standard_cart .field-container { padding: 20px; background: var(--ai-superficie); border: 1px solid var(--ai-linea); }

/* Elenco del carrello */
#order-standard_cart .view-cart-items-header {
    background: var(--ai-notte); color: var(--ai-notte-testo);
    border-radius: var(--ai-raggio-card) var(--ai-raggio-card) 0 0;
    font-family: var(--ai-font-mono); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
#order-standard_cart .view-cart-items { border: 1px solid var(--ai-linea); border-top: 0; border-radius: 0 0 var(--ai-raggio-card) var(--ai-raggio-card); overflow: hidden; background: var(--ai-superficie); }
#order-standard_cart .view-cart-items .item { background: var(--ai-superficie); border-bottom-color: var(--ai-linea); }
#order-standard_cart .view-cart-items .item-title { font-weight: 600; color: var(--ai-inchiostro); }
#order-standard_cart .view-cart-items .item-group { color: var(--ai-grigio); }
#order-standard_cart .view-cart-items .item-domain { color: var(--ai-blu-scuro); font-family: var(--ai-font-mono); font-size: 0.9375rem; }
#order-standard_cart .view-cart-items .item-price span:first-child { font-weight: 600; }
#order-standard_cart .empty-cart .btn { border-radius: 999px; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link { border-radius: 10px 10px 0 0; }
#order-standard_cart .view-cart-tabs .tab-content { border-color: var(--ai-linea); border-radius: 0 0 var(--ai-raggio-campo) var(--ai-raggio-campo); }

/* Domini: nomi in JetBrains Mono, esito della ricerca con i colori del sito */
#order-standard_cart .domain-checker-container {
    padding: clamp(20px, 3vw, 32px); background: var(--ai-superficie-2); border: 1px solid var(--ai-linea);
}
#order-standard_cart .domain-checker-bg { background: none; }
#order-standard_cart .domain-checker-container .input-group-box,
#order-standard_cart .domain-checker-container .input-group { border-radius: 999px; }
#order-standard_cart .domain-checker-result-headline,
#order-standard_cart .domain-lookup-result .domain-available,
#order-standard_cart .domain-lookup-result .domain-unavailable,
#order-standard_cart .domain-suggestion .domain,
#order-standard_cart .domain-suggestion .extension,
#order-standard_cart .spotlight-tld .domain-name,
#order-standard_cart .domain-name { font-family: var(--ai-font-mono); overflow-wrap: anywhere; }
#order-standard_cart .domain-lookup-result .domain-available,
#order-standard_cart .domain-checker-available { color: var(--ai-blu-scuro); }
#order-standard_cart .domain-lookup-result .domain-unavailable,
#order-standard_cart .domain-checker-unavailable { color: #8C1D1D; }
#order-standard_cart .domain-lookup-result .domain-price .price,
#order-standard_cart .domain-suggestion .price { font-weight: 600; color: var(--ai-inchiostro); }
#order-standard_cart .spotlight-tlds .spotlight-tld {
    background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-campo); color: var(--ai-inchiostro);
}
#order-standard_cart .spotlight-tlds .spotlight-tld .spotlight-tld-hot,
#order-standard_cart .spotlight-tlds .spotlight-tld .spotlight-tld-new,
#order-standard_cart .spotlight-tlds .spotlight-tld .spotlight-tld-sale,
#order-standard_cart .domain-suggestion .promo,
#order-standard_cart .label-hot, #order-standard_cart .label-new, #order-standard_cart .label-sale {
    background: var(--ai-blu-chiaro); color: var(--ai-blu-scuro);
}
#order-standard_cart .suggested-domains .panel-heading,
#order-standard_cart .suggested-domains .card-header { background: var(--ai-superficie); color: var(--ai-inchiostro); font-weight: 600; }

/* Opzioni a scelta (ciclo di fatturazione, opzioni del dominio, gateway) */
#order-standard_cart .domain-selection-options .option {
    margin-bottom: 12px; padding: 14px 18px;
    background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-campo);
}
#order-standard_cart .domain-selection-options .option-selected { border-color: var(--ai-blu); box-shadow: 0 0 0 1px var(--ai-blu) inset; background: var(--ai-superficie); }
#order-standard_cart .account-select-container .account,
#order-standard_cart .account { border-radius: var(--ai-raggio-campo); }
#order-standard_cart .account.active { border-color: var(--ai-blu); background: var(--ai-blu-chiaro); }
#order-standard_cart .addon-products .card,
#order-standard_cart .addon-products .panel-addon { border-radius: var(--ai-raggio-card); border-color: var(--ai-linea); }
#order-standard_cart .addon-products .panel-addon-selected { border-color: var(--ai-blu); }
#order-standard_cart .addon-products .panel-addon-selected .panel-add,
#order-standard_cart .addon-products .panel-add { background: var(--ai-blu-chiaro); color: var(--ai-blu-scuro); }

/* Checkout: metodi di pagamento, termini */
#order-standard_cart .cc-input-container,
#order-standard_cart #paymentGatewaysContainer .radio-inline,
#order-standard_cart .payment-methods label { border-radius: var(--ai-raggio-campo); }
#order-standard_cart .prepend-icon .field-icon { color: var(--ai-grigio); }
#order-standard_cart .prepend-icon .field { padding-left: 2.6rem; }

/* ---------- Pulsanti di pagamento e checkout: arancio, testo scuro ---------- */

#order-standard_cart #checkout,
#order-standard_cart .btn-checkout,
#order-standard_cart #btnCompleteOrder,
#order-standard_cart #btnCompleteProductConfig.ai-arancio,
#order-standard_cart .order-summary .btn-checkout {
    background-color: var(--ai-arancio); border-color: var(--ai-arancio); color: var(--ai-pulsante-arancio-testo);
}
#order-standard_cart #checkout:hover, #order-standard_cart #checkout:focus,
#order-standard_cart .btn-checkout:hover, #order-standard_cart .btn-checkout:focus,
#order-standard_cart #btnCompleteOrder:hover, #order-standard_cart #btnCompleteOrder:focus {
    background-color: var(--ai-arancio); border-color: var(--ai-arancio); color: var(--ai-pulsante-arancio-testo); filter: brightness(1.06);
}
#order-standard_cart #btnCompleteOrder.disabled, #order-standard_cart #btnCompleteOrder:disabled { filter: none; opacity: 0.65; }

/* Ritocchi generali dei pulsanti di standard_cart */
#order-standard_cart .btn-order-now, #order-standard_cart .btn-sm { border-radius: 999px; }
#order-standard_cart .btn .fa-arrow-circle-right,
#order-standard_cart .btn .fa-shopping-cart:first-child { margin-right: 4px; }


/* ---------- Correzioni dopo gli screenshot ---------- */

/* Intestazioni della barra laterale uguali in tutte le pagine dell'ordine */
#order-standard_cart .cart-sidebar .card-header,
#order-standard_cart .cart-sidebar .panel-heading { padding: 14px 18px; background: var(--ai-superficie); }
#order-standard_cart .cart-sidebar .card-header .panel-title,
#order-standard_cart .cart-sidebar .card-header .card-title,
#order-standard_cart .cart-sidebar .card-header h3 {
    margin: 0; font-family: var(--ai-font-mono); font-size: 0.8125rem; font-weight: 600;
    letter-spacing: 0.08em; text-transform: uppercase; color: var(--ai-inchiostro);
}
/* Voce attiva della barra laterale: blu chiaro, come nell'area clienti */
#order-standard_cart .cart-sidebar .list-group-item.active,
#order-standard_cart .cart-sidebar .list-group-item.active:hover,
#order-standard_cart .cart-sidebar .list-group-item.active:focus {
    background: var(--ai-blu-chiaro); border-color: var(--ai-linea); color: var(--ai-blu-scuro); font-weight: 600;
}
#order-standard_cart .cart-sidebar .list-group-item { color: var(--ai-inchiostro); font-size: 0.9375rem; }

/* Scelta del dominio per il prodotto: etichette leggibili */
#order-standard_cart .domain-selection-options .option > label {
    display: flex; align-items: center; gap: 10px; margin: 0;
    font-size: 1rem; font-weight: 600; color: var(--ai-inchiostro); cursor: pointer;
}
#order-standard_cart .domain-selection-options .domain-input-group { margin-top: 14px; }

/* "Svuota carrello": azione secondaria a contorno */
#order-standard_cart #btnEmptyCart {
    padding: 4px 12px; border: 1px solid var(--ai-linea); border-radius: 999px;
    background: var(--ai-superficie); color: var(--ai-inchiostro); font-size: 0.8125rem; font-weight: 600;
}
#order-standard_cart #btnEmptyCart:hover { border-color: var(--ai-grigio); text-decoration: none; }

/* Totale da saldare nel checkout: niente verde */
#order-standard_cart #totalDueToday {
    background: var(--ai-blu-chiaro); border-color: #BCD7EE; color: var(--ai-inchiostro);
    font-size: 1.0625rem;
}
#order-standard_cart #totalDueToday strong, #order-standard_cart #totalDueToday .amt { font-family: var(--ai-font-titoli); }

/* Testi piccoli del checkout portati a dimensione leggibile */
#order-standard_cart .field-help-text, #order-standard_cart .small-text,
#order-standard_cart #paymentGatewaysContainer, #order-standard_cart .sub-heading + p { font-size: 0.9375rem; }
#order-standard_cart .order-summary .summary-totals, #order-standard_cart .order-summary .subtotal { font-size: 0.9375rem; }


/* Ricerca domini: pulsante intero, "Aggiungi" blu, niente verde né giallo */
#order-standard_cart .domain-checker-container { padding: clamp(20px, 3vw, 28px) clamp(16px, 3vw, 28px); }
#order-standard_cart .domain-checker-container .input-group-box { max-width: 680px; margin: 0 auto; }
#order-standard_cart #btnCheckAvailability { min-width: 120px; padding-left: 1.25rem; padding-right: 1.25rem; white-space: nowrap; }
#order-standard_cart .btn-add-to-cart,
#order-standard_cart .spotlight-tld .btn:not(.domain-contact-support) {
    background-color: var(--ai-blu); border-color: var(--ai-blu); color: #FFFFFF;
    border-radius: 999px; font-weight: 600;
}
#order-standard_cart .btn-add-to-cart:hover, #order-standard_cart .btn-add-to-cart:focus,
#order-standard_cart .spotlight-tld .btn:not(.domain-contact-support):hover {
    background-color: var(--ai-blu-scuro); border-color: var(--ai-blu-scuro); color: #FFFFFF;
}
#order-standard_cart .btn-add-to-cart.checkout { background-color: var(--ai-arancio); border-color: var(--ai-arancio); color: var(--ai-pulsante-arancio-testo); }
#order-standard_cart .spotlight-tld .btn { padding: 4px 10px; font-size: 0.8125rem; }
#order-standard_cart .spotlight-tlds { background: transparent; }
#order-standard_cart .suggested-domains { border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-card); overflow: hidden; }
#order-standard_cart .suggested-domains .panel-heading,
#order-standard_cart .suggested-domains .card-header { border-bottom: 2px solid var(--ai-blu); }
#order-standard_cart .domain-suggestion { border-color: var(--ai-linea); }
#order-standard_cart .domain-promo-box {
    background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-card); color: var(--ai-inchiostro);
}
#order-standard_cart .domain-promo-box h3 { font-family: var(--ai-font-titoli); font-weight: 600; }
#order-standard_cart .domain-promo-box i { color: var(--ai-blu); }
#order-standard_cart .domain-promo-box p { font-size: 0.9375rem; }
#order-standard_cart .domain-promo-box .text-warning { color: var(--ai-arancio-testo) !important; }
#order-standard_cart .domain-promo-box .small { color: var(--ai-grigio); }
#order-standard_cart .panel-addon-selected .panel-add,
#order-standard_cart .panel-addon .panel-add { background-color: var(--ai-blu); color: #FFFFFF; }
#order-standard_cart .text-success, .text-success { color: var(--ai-blu-scuro) !important; }
#order-standard_cart .text-warning { color: var(--ai-arancio-testo) !important; }

/* ---------- Mobile ---------- */

@media (max-width: 991.98px) {
    .ai-piani { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
}
@media (max-width: 575.98px) {
    #order-standard_cart .header-lined h1 { font-size: 2rem; }
    .ai-piano__importo { font-size: 1.625rem; }
}

/* ---------- Checkout: icone nei campi centrate sull'altezza dei campi del tema (46 px) ---------- */

#order-standard_cart .prepend-icon .field-icon {
    display: flex; align-items: center; justify-content: center;
    top: 0; bottom: 0; width: 2.6rem; height: auto; line-height: 1; margin: 0;
}
#order-standard_cart .prepend-icon .field-icon i { top: 0; font-size: 0.95rem; color: var(--ai-grigio); }
#order-standard_cart .prepend-icon select.field { padding-left: 2.6rem; }

/* ---------- Checkout: dati per la fatturazione elettronica ---------- */

#order-standard_cart .ai-fiscale { padding: clamp(16px, 2.4vw, 24px); }
#order-standard_cart .ai-fiscale .row { row-gap: 4px; }
#order-standard_cart .ai-fiscale .form-group { margin-bottom: 16px; }
#order-standard_cart .ai-fiscale label:not(.ai-fiscale__scelta) {
    display: block; margin-bottom: 6px; font-size: 0.9375rem; font-weight: 600; color: var(--ai-inchiostro);
}
#order-standard_cart .ai-fiscale .field-help-text { display: block; margin-top: 6px; color: var(--ai-grigio); }
#order-standard_cart .ai-obbligatorio { color: var(--ai-blu-scuro); }
#order-standard_cart .ai-intestatario { margin: 32px 0 0; padding: 0; border: 0; min-width: 0; }
#order-standard_cart legend.sub-heading { float: none; width: 100%; margin-top: 0; padding: 0; font-size: inherit; line-height: inherit; }
#order-standard_cart .ai-fiscale__scelte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#order-standard_cart .ai-fiscale__scelta {
    position: relative; display: flex; align-items: center; gap: 12px; margin: 0;
    padding: 14px 16px; cursor: pointer;
    background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-campo);
    font-weight: 400;
}
#order-standard_cart .ai-fiscale__scelta input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
#order-standard_cart .ai-fiscale__scelta-testo { display: flex; flex-direction: column; line-height: 1.3; }
#order-standard_cart .ai-fiscale__scelta-testo strong { font-weight: 600; color: var(--ai-inchiostro); }
#order-standard_cart .ai-fiscale__scelta-testo small { font-size: 0.875rem; color: var(--ai-grigio); }
#order-standard_cart .ai-fiscale__scelta:has(input:checked) {
    border-color: var(--ai-blu); background: var(--ai-blu-chiaro); box-shadow: 0 0 0 1px var(--ai-blu) inset;
}
#order-standard_cart .ai-fiscale__scelta:has(input:focus-visible) { outline: 2px solid var(--ai-blu); outline-offset: 2px; }
#order-standard_cart .ai-fiscale__tickbox { display: none; }
#order-standard_cart .ai-fiscale__nota { margin: 0; font-size: 0.9375rem; color: var(--ai-grigio); }
#order-standard_cart.ai-fiscale--privato .ai-solo-azienda,
#order-standard_cart.ai-fiscale--privato .ai-no-privato,
#order-standard_cart.ai-fiscale--ente .ai-solo-azienda,
#order-standard_cart:not(.ai-fiscale--ente) .ai-solo-ente { display: none; }
@media (max-width: 991.98px) {
    #order-standard_cart .ai-fiscale__scelte { grid-template-columns: 1fr; }
}

/* ---------- Checkout: elenco dei comuni sotto il campo Città ---------- */

#order-standard_cart .ai-comuni {
    position: absolute; z-index: 20; top: 100%; left: 0; right: 0;
    max-height: 280px; margin: 4px 0 0; padding: 4px; overflow-y: auto; list-style: none;
    background: var(--ai-superficie); border: 1px solid var(--ai-linea); border-radius: var(--ai-raggio-campo);
    box-shadow: 0 8px 24px rgba(14, 27, 42, 0.12);
}
#order-standard_cart .ai-comuni[hidden] { display: none; }
#order-standard_cart .ai-comuni li {
    display: flex; justify-content: space-between; gap: 12px;
    padding: 10px 12px; border-radius: 6px; cursor: pointer; color: var(--ai-inchiostro);
}
#order-standard_cart .ai-comuni li:hover,
#order-standard_cart .ai-comuni li[aria-selected="true"] { background: var(--ai-blu-chiaro); }
#order-standard_cart .ai-comuni__prov {
    flex: 0 0 auto; font-family: var(--ai-font-mono); font-size: 0.8125rem; color: var(--ai-grigio);
}
#order-standard_cart .ai-osm { display: block; margin-top: 6px; font-size: 0.875rem; color: var(--ai-grigio); }
#order-standard_cart .ai-osm[hidden] { display: none; }
#order-standard_cart .ai-comuni li.ai-comuni__piede {
    display: block;
    padding: 8px 12px 4px; border-top: 1px solid var(--ai-linea); margin-top: 4px;
    font-size: 0.75rem; color: var(--ai-grigio); cursor: default;
}
#order-standard_cart .ai-comuni li.ai-comuni__piede:hover { background: transparent; }

/* Scelta dominio a campo unico: niente prefisso "www." (fuorviante per i terzi livelli) */
#order-standard_cart :is(#domainregister, #domaintransfer, #domainowndomain) .input-group-prepend { display: none; }
#order-standard_cart :is(#registersld, #transfersld, #owndomainsld) {
    border-top-left-radius: var(--ai-raggio-campo); border-bottom-left-radius: var(--ai-raggio-campo);
}
