/* ============================================================
   MY ACCOUNT - DATI FATTURAZIONE (read-only)
   ============================================================ */

.wd-billing-readonly {
    margin-top: 28px;
}
.wd-billing-readonly .form-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.wd-billing-readonly {
    gap: 20px;
}
.wd-billing-readonly label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--bs-gray-600);
    margin-bottom: 3px;
}
.wd-readonly-value {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--bs-gray-900);
}
/* Input di sola lettura — sfondo grigio, non editabile */
.wd-billing-readonly .wd-readonly-input {
    background-color: var(--bs-gray-200) !important;
    border-color: var(--bs-gray-300) !important;
    color: var(--bs-gray-800) !important;
    cursor: default !important;
    pointer-events: none;
    width: 100%;
}

/* Readonly billing fields — uniform style across checkout, My Account edit
   address form, and any other WooCommerce form. Uses fixed hex values so the
   color is identical everywhere regardless of CSS variable availability.
   Scoped to billing/shipping fields wrappers to avoid affecting quantity inputs
   in the order review panel. */
.woocommerce-billing-fields input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-billing-fields input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-billing-fields select[readonly],
.woocommerce-shipping-fields input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-shipping-fields input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-shipping-fields select[readonly],
.woocommerce-address-fields input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-address-fields input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-address-fields select[readonly],
.woocommerce-EditAccountForm input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="number"]),
.woocommerce-EditAccountForm input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="number"]) {
    background-color: var(--bs-gray-200) !important;
    border-color: var(--bs-gray-300) !important;
    color: var(--bs-gray-800) !important;
    cursor: default !important;
    pointer-events: none;
    opacity: 1 !important;
    width: 100%;
}

/* ============================================================
   MY ACCOUNT - DATI UTENTE + MODIFICA PASSWORD
   ============================================================ */

/* Sezione dati utente (nome, cognome, display name, email)
   I campi sono figli diretti del form, prima del fieldset.
   Li raggruppiamo visivamente come una card. */
.woocommerce-EditAccountForm {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 0;
}
.woocommerce-EditAccountForm > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce-EditAccountForm > .woocommerce-form-row,
.woocommerce-EditAccountForm > p.woocommerce-form-row {
    margin-bottom: 0;
}
/* Card wrapper per i campi dati utente — pseudo-gruppo visivo */
.woocommerce-EditAccountForm > .form-row-first,
.woocommerce-EditAccountForm > .form-row-last,
.woocommerce-EditAccountForm > .form-row-wide {
    background: transparent;
}

/* Wrapper dati utente e password: stile uniforme */
.woocommerce-EditAccountForm .wd-account-user-fields,
.woocommerce-EditAccountForm .wd-password-fields,
.wd-billing-readonly,
.wd-billing-editable,
.woocommerce-Addresses .woocommerce-Address,
.wd-address-fields-wrapper,
.cfm-tracking-fieldset {
    display: flex;
    flex-direction: column;
    background: var(--bs-card-bg);
    border: none;
    border-radius: var(--bs-card-border-radius);
    padding: 28px 28px 8px 28px;
    margin-top: 0;
    min-inline-size: auto;
}

/* Address boxes have a proper bottom (last line has no border-bottom so needs full padding) */
.woocommerce-Addresses .woocommerce-Address,
.cfm-tracking-fieldset {
    padding-bottom: 28px;
}

/* Nome e Cognome sulla stessa riga */
.woocommerce-EditAccountForm .wd-account-user-fields {
    flex-flow: row wrap;
    align-items: flex-start;
}
/* Wrapper neutro per il pill titolo: occupa la riga intera ma non si espande */
.woocommerce-EditAccountForm .wd-account-user-fields > .wd-title-row {
    flex: 0 0 100%;
    width: 100%;
    background: transparent;
    padding: 0;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    min-inline-size: auto;
}
.woocommerce-EditAccountForm .wd-account-user-fields > .form-row-first,
.woocommerce-EditAccountForm .wd-account-user-fields > .form-row-last {
    flex: 0 0 calc(50% - 10px);
    width: calc(50% - 10px);
}
.woocommerce-EditAccountForm .wd-account-user-fields > .form-row-first {
    margin-right: 20px;
}
.woocommerce-EditAccountForm .wd-account-user-fields > .form-row-wide,
.woocommerce-EditAccountForm .wd-account-user-fields > .clear {
    flex: 0 0 100%;
    width: 100%;
}
@media (max-width: 600px) {
    .woocommerce-EditAccountForm .wd-account-user-fields > .form-row-first,
    .woocommerce-EditAccountForm .wd-account-user-fields > .form-row-last {
        flex: 0 0 100%;
        width: 100%;
        margin-right: 0;
    }
}

/* Etichette label nei form my account */
.woocommerce-EditAccountForm label,
.woocommerce-form-edit-address label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-gray-700);
    margin-bottom: 4px;
    display: block;
}

.woocommerce-MyAccount-content fieldset legend,
.wd-form-section-title {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--bs-primary);
    background: rgba(19, 103, 138, 0.07);
    border: 1px solid rgba(19, 103, 138, 0.2);
    border-radius: 20px;
    padding: 8px 16px;
    margin: 0 0 20px 0;
    letter-spacing: 0.01em;
    white-space: nowrap;
    line-height: 1.5;
}
.woocommerce-MyAccount-content fieldset legend i {
    font-size: 0.9rem;
}

/* Testo hints sotto i campi (es. "This will be how your name..." ) */
.woocommerce-EditAccountForm .woocommerce-form-row span > em {
    font-size: 0.78rem;
    color: var(--bs-gray-500);
    font-style: normal;
    margin-top: 4px;
    display: block;
}

/* ============================================================
   MY ACCOUNT - INDIRIZZI
   ============================================================ */

/* Avviso descrizione */
.cfm-addresses-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: rgba(19, 103, 138, 0.05);
    border: 1px solid rgba(19, 103, 138, 0.18);
    border-left: 4px solid var(--bs-primary);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: var(--bs-gray-700);
    margin-bottom: 0;
}
.cfm-addresses-notice i {
    font-size: 1rem;
    color: var(--bs-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Form modifica indirizzo */
.wd-address-fields-wrapper .woocommerce-address-fields {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

/* Bottone salva / notice locked — fuori dal box card */
.woocommerce-form-edit-address > p {
    margin-top: 20px;
}

/* Container lista indirizzi */
.woocommerce-Addresses {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 24px;
    padding-top: 0;
}
.woocommerce-Addresses .woocommerce-Address {
    flex: 1 1 300px;
}

/* Card indirizzo */
.woocommerce-Addresses .woocommerce-Address {
    position: relative;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    gap: 20px;
}

/* Header riga titolo + tasto modifica */
.cfm-address-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cfm-address-header .wd-form-section-title,
.wd-billing-readonly > .wd-form-section-title {
    margin: 0;
}

/* Link modifica con icona FA */
.cfm-address-edit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--bs-primary);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
    background: rgba(19, 103, 138, 0.07);
    border-radius: 20px;
    padding: 4px 12px;
}
.cfm-address-edit:hover {
    color: #fff;
    background: var(--bs-primary);
}
.cfm-address-edit i {
    font-size: 0.9rem;
}

/* Badge "Dati immutabili" — shown instead of the edit link when billing is locked */
.cfm-address-locked {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--bs-gray-500);
    background: var(--bs-gray-100);
    border-radius: 20px;
    padding: 4px 12px;
    cursor: default;
    user-select: none;
}
.cfm-address-locked i {
    font-size: 0.85rem;
}

/* Notice shown below locked billing fields in place of the Save button */
.cfm-billing-locked-notice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--bs-gray-500);
    font-style: italic;
}
.cfm-billing-locked-notice i {
    font-size: 0.9rem;
    flex-shrink: 0;
}

/* Disabled WooCommerce country/state selects inside a locked billing form */
.billing-form-locked .select2-selection,
.billing-form-locked .select2-container {
    pointer-events: none;
    opacity: 0.6;
    cursor: not-allowed;
}

/* Testo indirizzo */
.woocommerce-Addresses address {
    font-style: normal;
    margin-top: 0;
}
.cfm-address-lines {
    display: flex;
    flex-direction: column;
}
.cfm-address-line {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    color: var(--bs-gray-700);
    padding: 7px 0;
    border-bottom: 1px solid var(--bs-gray-200);
    line-height: 1.4;
}
.cfm-address-line i {
    font-size: 0.75rem;
    color: var(--bs-gray-400);
    flex-shrink: 0;
    width: 14px;
    text-align: center;
}
.cfm-address-line:first-child {
    padding-top: 0;
}
.cfm-address-line:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.cfm-address-line i {
    font-size: 0.85rem;
    color: var(--bs-primary);
    flex-shrink: 0;
    width: 16px;
    text-align: center;
    opacity: 0.7;
}
.cfm-address-line--name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 1rem;
    color: var(--bs-gray-900);
}
.cfm-address-line--name i {
    font-size: 0.9rem;
    color: var(--bs-primary);
    flex-shrink: 0;
}
.cfm-no-address {
    font-size: 0.85rem;
    color: var(--bs-gray-500);
    font-style: italic;
}


/* ============================================================
   MY ACCOUNT - ORDINI
   ============================================================ */

/* Notice intro */
.cfm-orders-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: rgba(19, 103, 138, 0.05);
    border: 1px solid rgba(19, 103, 138, 0.18);
    border-left: 4px solid var(--bs-primary);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: var(--bs-gray-700);
    margin-bottom: 24px;
}
.cfm-orders-notice i {
    font-size: 1rem;
    color: var(--bs-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Wrapper generale sezione ordini */
.cfm-orders-wrapper {
    width: 100%;
}
.cfm-orders-card {
    display: flex;
    flex-direction: column;
    background: var(--bs-card-bg);
    border: none;
    border-radius: var(--bs-card-border-radius);
    padding: 28px;
    overflow: hidden;
}

/* Lista ordini flexbox */
.cfm-orders-list {
    display: flex;
    flex-direction: column;
    margin-top: 16px;
}

/* Riga (header + dati) */
.cfm-orders-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--bs-gray-200);
}
.cfm-orders-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Header */
.cfm-orders-header {
    border-bottom: 2px solid var(--bs-gray-200);
    padding-bottom: 10px;
    margin-bottom: 2px;
}
.cfm-orders-header .cfm-orders-col {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-gray-600);
}
.cfm-orders-header .cfm-orders-col i {
    color: var(--bs-primary);
    font-size: 0.85rem;
    margin-right: 4px;
}

/* Colonne — proporzioni fisse */
.cfm-orders-col { flex: 1 1 0; min-width: 0; }
.cfm-orders-col--number  { font-weight: 600; color: var(--bs-primary); font-size: 0.9rem; }
.cfm-orders-col--date    { font-size: 0.875rem; color: var(--bs-gray-700); }
.cfm-orders-col--total   { font-size: 0.875rem; color: var(--bs-gray-800); }
.cfm-orders-col--actions { display: flex; justify-content: flex-end; text-align: right; }

.cfm-orders-col--number a {
    color: var(--bs-primary);
    text-decoration: none;
    font-weight: 700;
}
.cfm-orders-col--number a:hover { text-decoration: underline; }

/* Badge stato */
.cfm-order-status {
    display: inline-block;
    padding: 3px 11px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--bs-gray-200);
    color: var(--bs-gray-700);
}
.cfm-order-status.status-completed  { background: rgba(var(--bs-secondary-rgb), 0.15); color: var(--bs-secondary); }
.cfm-order-status.status-processing { background: rgba(var(--bs-primary-rgb), 0.12);   color: var(--bs-primary); }
.cfm-order-status.status-on-hold    { background: rgba(var(--bs-warning-rgb), 0.18);   color: #856404; }
.cfm-order-status.status-cancelled  { background: rgba(var(--bs-danger-rgb), 0.12);    color: var(--bs-danger); }
.cfm-order-status.status-refunded   { background: rgba(128,128,128, 0.12);             color: var(--bs-gray-600); }
.cfm-order-status.status-pending    { background: rgba(253,126,20, 0.12);              color: #a05000; }

/* Bottone azioni */
.cfm-orders-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
    background: rgba(19, 103, 138, 0.07);
    color: var(--bs-primary);
    border: 1.5px solid rgba(19, 103, 138, 0.2);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.cfm-orders-action:hover {
    background: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
}
.cfm-orders-action i { font-size: 0.85rem; }

/* Maintain backwards compatibility with old (hidden) table styles */
.woocommerce-MyAccount-content > .woocommerce-orders-table-wrapper,
.woocommerce-MyAccount-orders {
    width: 100%;
}
table.woocommerce-MyAccount-orders,
table.woocommerce-orders-table {
    display: none;
}

/* ============================================================
   MY ACCOUNT - TRACCIA ORDINE
   ============================================================ */

.cfm-tracking-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: rgba(19, 103, 138, 0.05);
    border: 1px solid rgba(19, 103, 138, 0.18);
    border-left: 4px solid var(--bs-primary);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: var(--bs-gray-700);
    margin-bottom: 0;
}
.cfm-tracking-notice i {
    font-size: 1rem;
    color: var(--bs-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

.cfm-tracking-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-end;
}
.cfm-tracking-field {
    flex: 1 1 24px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.cfm-tracking-field label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-gray-700);
    white-space: nowrap;
}
.cfm-tracking-submit {
    flex-shrink: 0;
    padding-bottom: 1px;
}
@media (max-width: 600px) {
    .cfm-tracking-fields {
        flex-direction: column;
        align-items: stretch;
    }
    .cfm-tracking-submit {
        padding-bottom: 0;
        width: 100%;
    }
    .cfm-tracking-submit .button {
        width: 100%;
        justify-content: center;
    }
    /* Compatta tutti i card my account su mobile */
    .woocommerce-EditAccountForm .wd-account-user-fields,
    .woocommerce-EditAccountForm .wd-password-fields,
    .wd-billing-readonly,
    .woocommerce-Addresses .woocommerce-Address,
    .wd-address-fields-wrapper,
    .cfm-tracking-fieldset,
    .cfm-orders-card {
        padding: 18px;
    }

    /* Ordini flex su mobile: nascondi header, ogni riga diventa verticale */
    .cfm-orders-header { display: none; }
    .cfm-orders-row {
        flex-wrap: wrap;
        gap: 6px;
        padding: 14px 0;
    }
    .cfm-orders-col--number  { flex: 0 0 auto; }
    .cfm-orders-col--date    { flex: 0 0 auto; font-size: 0.8rem; color: var(--bs-gray-500); }
    .cfm-orders-col--status  { flex: 0 0 auto; }
    .cfm-orders-col--total   { flex: 1 0 100%; font-size: 0.85rem; }
    .cfm-orders-col--actions { flex: 0 0 auto; justify-content: flex-start; margin-top: 4px; }
    .wd-form-section-title {
        font-size: 0.9rem;
        padding: 6px 12px;
    }
    .cfm-tracking-form {
        margin-top: 16px;
    }
    /* Riduce tutti i gap verticali su mobile */
    .woocommerce-EditAccountForm {
        gap: 12px;
    }
    .woocommerce-Addresses {
        gap: 12px;
        margin-top: 12px;
    }
    .cfm-order-blocks {
        gap: 12px;
        margin-top: 12px;
    }
    .woocommerce-customer-details .woocommerce-columns {
        gap: 12px;
    }
    .woocommerce-order {
        gap: 16px;
    }
    .cfm-orders-notice,
    .cfm-order-notice,
    .cfm-tracking-notice,
    .cfm-addresses-notice,
    .cfm-orders-notice {
        margin-bottom: 12px;
    }
    .wd-billing-readonly {
        margin-top: 12px;
    }
}
.cfm-tracking-form {
    width: 100%;
    display: block;
    margin-top: 24px;
}
.cfm-tracking-form .button i {
    margin-right: 5px;
}

/* -- RISULTATO TRACKING --------------------------------------- */
p.order-info {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(19, 103, 138, 0.05);
    border: 1px solid rgba(19, 103, 138, 0.18);
    border-left: 4px solid var(--bs-primary);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: var(--bs-gray-700);
    margin-bottom: 24px;
}
p.order-info mark {
    display: inline;
    background: none;
    font-weight: 700;
    color: var(--bs-primary);
    padding: 0;
    margin: 0;
}
p.order-info mark.order-status {
    display: inline;
    color: var(--bs-gray-800);
    padding: 0;
    margin: 0;
}

/* ============================================================
   PASSWORD STRENGTH METER
   ============================================================ */

#password-strength,
.woocommerce-password-strength {
    display: block !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    margin-top: 6px !important;
    border-width: 1px !important;
    border-style: solid !important;
    transition: background 0.2s, color 0.2s;
}

#password-strength.short,
.woocommerce-password-strength.short {
    background-color: #f8d7da !important;
    color: #842029 !important;
    border-color: #f1aeb5 !important;
}
#password-strength.bad,
.woocommerce-password-strength.bad {
    background-color: #fff3cd !important;
    color: #664d03 !important;
    border-color: #ffda6a !important;
}
#password-strength.good,
.woocommerce-password-strength.good {
    background-color: #d1ecf1 !important;
    color: #0c5460 !important;
    border-color: #86cfda !important;
}
#password-strength.strong,
.woocommerce-password-strength.strong {
    background-color: #d1e7dd !important;
    color: #0a3622 !important;
    border-color: #a3cfbb !important;
}

/* Hint sotto il meter — stile testo discreto */
.woocommerce-password-hint {
    display: block;
    font-size: 0.75rem;
    color: var(--bs-gray-600);
    margin-top: 4px;
}

/* ============================================================
   PASSWORD TOGGLE ICON — FA7 Sharp Light
   Sovrascrive l'icona nativa del bottone .show-password-input
   con fa-eye / fa-eye-slash in stile Sharp Light (font-weight 300).
   ============================================================ */

/* Nascondi qualsiasi <i> interno generato dal tema */
.show-password-input i,
.show-password-input svg {
    display: none !important;
}

/* Icona "occhio aperto" — password nascosta (stato default) */
.show-password-input::before {
    font-family: "Font Awesome 7 Sharp" !important;
    font-weight: 300 !important; /* light */
    font-style: normal !important;
    content: "\f06e" !important; /* fa-eye */
    display: inline-block !important;
    font-size: 1rem;
    line-height: 1;
}

/* Icona "occhio sbarrato" — password visibile */
.show-password-input.display-password::before {
    content: "\f070" !important; /* fa-eye-slash */
}

/* ============================================================
   MY ACCOUNT - DETTAGLIO ORDINE
   ============================================================ */

/* Notice intro */
.cfm-order-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(19, 103, 138, 0.05);
    border: 1px solid rgba(19, 103, 138, 0.18);
    border-left: 4px solid var(--bs-primary);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: var(--bs-gray-700);
    margin-bottom: 0;
}
.cfm-order-notice i.fa-circle-info {
    font-size: 1rem;
    color: var(--bs-primary);
    flex-shrink: 0;
}
.cfm-order-notice span {
    flex: 1;
}

/* Layout verticale uniforme */
.cfm-order-blocks {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 24px;
}
.cfm-order-blocks > * {
    margin: 0 !important;
}

/* Riassunto ordine */
.woocommerce-order-overview.order_details {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    background: var(--bs-card-bg);
    border-radius: var(--bs-card-border-radius);
    border: none;
    box-shadow: none !important;
    padding: 0;
    list-style: none;
    margin: 0 !important;
    overflow: hidden;
}
.woocommerce-order-overview.order_details li {
    flex: 1 1 160px;
    padding: 20px 24px;
    border-right: 1px solid var(--bs-gray-200);
    border-bottom: 1px solid var(--bs-gray-200);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-gray-500);
}
.woocommerce-order-overview.order_details li:last-child {
    border-right: none;
}
.woocommerce-order-overview.order_details li strong {
    display: block;
    font-size: 1rem;
    color: var(--bs-gray-900);
    font-weight: 700;
    margin-top: 6px;
    text-transform: none;
    letter-spacing: 0;
}
/* Evidenzia il totale */
.woocommerce-order-overview.order_details li.total strong {
    color: var(--bs-primary);
    font-size: 1.1rem;
}

/* Tabella prodotti dettaglio ordine */
table.woocommerce-table--order-details {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--bs-card-border-radius);
    overflow: hidden;
    background: var(--bs-card-bg);
    border: none;
    margin: 0 !important;
}
table.woocommerce-table--order-details thead th {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-gray-600);
    padding: 20px 24px 14px;
    border-bottom: 2px solid var(--bs-gray-200);
}
table.woocommerce-table--order-details thead th i {
    color: var(--bs-primary);
    font-size: 0.85rem;
    margin-right: 5px;
    vertical-align: middle;
}
table.woocommerce-table--order-details tbody td,
table.woocommerce-table--order-details tfoot td,
table.woocommerce-table--order-details tfoot th {
    padding: 12px 24px;
    font-size: 1rem;
    color: var(--bs-gray-800);
    border-bottom: 1px solid var(--bs-gray-200);
    vertical-align: middle;
}
table.woocommerce-table--order-details tfoot tr:last-child td,
table.woocommerce-table--order-details tfoot tr:last-child th {
    border-bottom: none;
    font-weight: 700;
    font-size: 1rem;
    color: var(--bs-gray-900);
    padding-bottom: 20px;
}

/* Colonne indirizzi nel dettaglio ordine */
.woocommerce-customer-details {
    margin-top: 0 !important;
}
.woocommerce-customer-details .woocommerce-columns {
    margin: 0 !important;
    gap: 24px;
    display: flex;
    flex-wrap: wrap;
}
.woocommerce-customer-details .woocommerce-column {
    flex: 1 1 280px;
    background: var(--bs-card-bg);
    border-radius: var(--bs-card-border-radius);
    padding: 24px 24px;
    position: relative;
}
.woocommerce-customer-details .woocommerce-column__title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.01em;
    color: var(--bs-primary);
    background: rgba(19, 103, 138, 0.07);
    border: 1px solid rgba(19, 103, 138, 0.2);
    border-radius: 20px;
    padding: 4px 16px;
    margin: 0 0 14px 0;
}
.woocommerce-customer-details address {
    font-size: 0.9rem;
    font-style: normal;
    color: var(--bs-gray-700);
    line-height: 1.8;
}

/* ============================================================
   MY ACCOUNT - METODI DI PAGAMENTO
   ============================================================ */

table.woocommerce-MyAccount-paymentMethods {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border-radius: var(--bs-card-border-radius);
    overflow: hidden;
    background: var(--bs-card-bg);
    border: none;
}
table.woocommerce-MyAccount-paymentMethods thead th {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-gray-600);
    padding: 14px 18px;
    border-bottom: 2px solid var(--bs-gray-200);
}
table.woocommerce-MyAccount-paymentMethods tbody td {
    padding: 14px 18px;
    font-size: 0.9rem;
    color: var(--bs-gray-800);
    border-bottom: 1px solid var(--bs-gray-200);
    vertical-align: middle;
}
table.woocommerce-MyAccount-paymentMethods tbody tr:last-child td {
    border-bottom: none;
}
table.woocommerce-MyAccount-paymentMethods tr.default-payment-method td {
    background: rgba(var(--bs-secondary-rgb), 0.06);
}

/* Bottone aggiungi metodo di pagamento */
a.cfm-add-payment-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-primary);
    background: rgba(19, 103, 138, 0.07);
    border: 1.5px solid rgba(19, 103, 138, 0.2);
    border-radius: 20px;
    padding: 8px 18px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
a.cfm-add-payment-btn:hover {
    background: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
}
a.cfm-add-payment-btn i {
    font-size: 0.8rem;
}

/* ============================================================
   MY ACCOUNT - TRACK ORDER
   ============================================================ */

.woocommerce-form-traccia-ordine label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-gray-700);
    margin-bottom: 4px;
    display: block;
}

/* ============================================================
   MY ACCOUNT - DOWNLOADS
   ============================================================ */

table.woocommerce-MyAccount-downloads,
table.woocommerce-table--order-downloads {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border-radius: var(--bs-card-border-radius);
    overflow: hidden;
    background: var(--bs-card-bg);
    border: none;
}
table.woocommerce-MyAccount-downloads thead th,
table.woocommerce-table--order-downloads thead th {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-gray-600);
    padding: 14px 18px;
    border-bottom: 2px solid var(--bs-gray-200);
}
table.woocommerce-MyAccount-downloads tbody td,
table.woocommerce-table--order-downloads tbody td {
    padding: 14px 18px;
    font-size: 0.9rem;
    color: var(--bs-gray-800);
    border-bottom: 1px solid var(--bs-gray-200);
    vertical-align: middle;
}
table.woocommerce-MyAccount-downloads tbody tr:last-child td,
table.woocommerce-table--order-downloads tbody tr:last-child td {
    border-bottom: none;
}

/* ============================================================
   MY ACCOUNT - LAYOUT ALIGNMENT
   ============================================================ */
.woocommerce-MyAccount-content.wd-grid-col {
    align-self: flex-start;
}

/* ============================================================
   MY ACCOUNT - TITOLI SEZIONE
   ============================================================ */

.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--bs-gray-900);
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--bs-gray-200);
}

.optional {
    top: 0px;
}

/* Hide "(optional)" on the Company Name field — required/optional state is managed dynamically via JS */
#billing_company_field .optional {
    display: none;
}

/* ============================================================
   MY ACCOUNT - DATA DECLARATION STATUS
   ============================================================ */
.wd-declaration-info {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, rgba(70, 180, 80, 0.08), rgba(70, 180, 80, 0.03));
    border: 1px solid rgba(70, 180, 80, 0.25);
    border-radius: var(--bs-border-radius-lg, 12px);
    padding: 16px 20px;
    margin-top: 8px;
    margin-bottom: 20px;
}
.wd-declaration-info .wd-declaration-icon {
    flex-shrink: 0;
    font-size: 1.6rem;
    color: #46b450;
    line-height: 1;
}
.wd-declaration-info .wd-declaration-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.wd-declaration-info .wd-declaration-text strong {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--bs-gray-800, #333);
}
.wd-declaration-info .wd-declaration-status {
    font-size: 0.82rem;
    color: var(--bs-gray-600, #666);
}

/* ============================================================
   MY ACCOUNT - DASHBOARD
   ============================================================ */
.wd-my-account-links[class*="wd-grid"] {
    margin-top: 0;
}
.wd-my-account-wrapper,
.wd-registration-page {
    margin-bottom: 3vw;
}
.wd-my-account-welcome {
    color: var(--bs-gray-900);
    font-size: 1rem;
    font-weight: 500;
    padding: 30px;
    text-transform: none;
    box-shadow: none;
    background-color: var(--bs-card-bg);
    border-radius: var(--bs-card-border-radius);
}
.wd-my-account-welcome a {
    color: var(--bs-link-color);
    font-weight: 600;
}
.wd-my-account-welcome {
    margin-bottom: 20px;
}
.wd-my-account-welcome .whb-col-center {
    display: block;
    padding: 0 25px 0 55px;
}
.wd-my-account-welcome .logout-button a,
.btn.wd-switch-to-register {
    background: none!important;
    color: var(--bs-gray-900);
    border-radius: var(--bs-card-border-radius);
    border: 1.5px solid var(--bs-gray-500);
    transition: .3s ease-in-out;
}
.wd-my-account-welcome .logout-button a:hover,
.btn.wd-switch-to-register:hover {
    background: rgba(var(--bs-secondary-rgb), .06)!important;
    color: var(--bs-gray-900);
    border: 1.5px solid var(--bs-secondary);
}
@media (max-width: 468px) {
    .wd-my-account-welcome .logout-button {
        display: none;
    }
}
@media (max-width: 1024px) {
    .wd-my-account-welcome .whb-col-center.whb-visible-lg {
        display: none !important;
    }
}
.wd-my-account-welcome .avatar {
    width: 64px;
}
.wd-my-account-welcome .username {
    display: block;
    margin-left: 15px;
}
.wd-my-account-welcome .username h2,
.wd-my-account-welcome .username h5 {
    margin-bottom: 0;
}
.wd-my-account-welcome .username h5 {
    font-weight: 500;
}
.wd-my-account-welcome .logout-button {
    float: right;
}
.wd-my-account-sidebar {
    padding-inline-end: 0;
    border-inline-end: none;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1025px) {
    .wd-my-account-sidebar .woocommerce-MyAccount-navigation {
        position: sticky;
        top: calc(130px + 20px);
    }
}

/* ============================================================
   MY ACCOUNT - NAVIGATION LINK
   ============================================================ */
.woocommerce-MyAccount-navigation {
    background: var(--bs-card-bg);
    padding: 20px;
    border-radius: var(--bs-card-border-radius);
    text-transform: none;
    box-shadow: none;
}
.woocommerce-MyAccount-navigation ul > li {
    position: relative;
    margin: 5px 0;
}
.woocommerce-MyAccount-navigation ul > li > a {
    background: var(--bs-card-bg)!important;
    color: var(--bs-gray-800);
    padding: 10px 20px !important;
    border: 1.5px solid transparent;
    border-radius: 50px!important;
    transition: .3s ease-in-out;
    display: flex !important;
    align-items: center !important;
}
.woocommerce-MyAccount-navigation ul > li > a:hover {
    background: rgba(var(--bs-secondary-rgb), .06)!important;
    color: var(--bs-gray-900);
    border: 1.5px solid var(--bs-secondary);
}
.woocommerce-MyAccount-navigation ul > li.is-active > a {
    background: var(--bs-secondary)!important;
}
.woocommerce-MyAccount-navigation ul > li.is-active > a,
.woocommerce-MyAccount-navigation ul > li.is-active > a:before {
    color: var(--bs-white);
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--dashboard > a::after,
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--edit-account > a::after,
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--edit-address > a::after,
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--orders > a::after,
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--track-order > a::after,
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--payment-methods > a::after,
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--customer-logout > a::after {
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
    font-style: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    content: "\f625"; /* fa-gauge */
    font-size: 1.1rem;
    margin-left: auto;
    flex-shrink: 0;
    color: var(--bs-gray-800);
}
.woocommerce-MyAccount-navigation ul > li.is-active > a::after {
    color: var(--bs-white) !important;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--dashboard > a::after {
    font-family: "Font Awesome 7 Sharp";
    font-weight: 300;
    content: "\e496"; /* fa-gauge-circle-bolt */
    position: relative;
    left: 2px;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--edit-account > a::after {
    content: "\f007"; /* fa-user */
    margin-right: 1px;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--edit-address > a::after {
    content: "\f3c5"; /* fa-location-dot */
    margin-right: 2px;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--orders > a::after {
    content: "\f290"; /* fa-bag-shopping */
    margin-right: 1px;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--track-order > a::after {
    content: "\f48b"; /* fa-shipping-fast */
    margin-right: -2px;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--payment-methods > a::after {
    content: "\f09d"; /* fa-credit-card */
    margin-right: -1px;
}
.woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link--customer-logout > a::after {
    content: "\f2f5"; /* fa-right-from-bracket */
    margin-right: -1px;
}

/* ============================================================
   MY ACCOUNT - MOBILE MENU NAVIGATION
   ============================================================ */
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--dashboard > a::after,
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--edit-account > a::after,
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--edit-address > a::after,
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--orders > a::after,
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--track-order > a::after,
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--payment-methods > a::after,
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--customer-logout > a::after {
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
    font-style: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    content: "\f625"; /* fa-gauge */
    font-size: 1.1rem;
    margin-left: auto;
    flex-shrink: 0;
    color: var(--bs-gray-800);
}
.wd-nav-mobile ul > li.is-active > a,
.wd-nav-mobile ul > li.is-active > a::after {
    color: var(--bs-secondary) !important;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--dashboard > a::after {
    font-family: "Font Awesome 7 Sharp";
    font-weight: 300;
    content: "\e496"; /* fa-gauge-circle-bolt */
    position: relative;
    left: 3px;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--edit-account > a::after {
    content: "\f007"; /* fa-user */
    margin-right: 1px;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--edit-address > a::after {
    content: "\f3c5"; /* fa-location-dot */
    margin-right: 2px;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--orders > a::after {
    content: "\f290"; /* fa-bag-shopping */
    margin-right: 1px;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--track-order > a::after {
    content: "\f48b"; /* fa-shipping-fast */
    margin-right: -2px;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--payment-methods > a::after {
    content: "\f09d"; /* fa-credit-card */
    margin-right: -1px;
}
.wd-nav-mobile ul > li.woocommerce-MyAccount-navigation-link--customer-logout > a::after {
    content: "\f2f5"; /* fa-right-from-bracket */
    margin-right: -1px;
}

/* ============================================================
   MY ACCOUNT - CONTENT LINKS
   ============================================================ */
.wd-wishlist .woocommerce-MyAccount-content { /* apply if my account sidebar is disabled */
    flex: 1 0 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.wd-my-account-links {
    margin-top: 0;
}
.wd-empty-page-text+.return-to-shop {
    margin-bottom: 5vw !important;
}
@media (min-width: 1024px) {
    .wd-my-account-links .orders-link,
    .wd-my-account-links .customer-logout-link {
        padding-right: 0!important;
    }
}
.wd-my-account-links > li > a {
    font-size: 16px;
    color: var(--color-gray-800);
    border: 1.5px solid var(--bs-card-bg);
    font-weight: 600;
    padding: 50px 25px;
    text-transform: none;
    box-shadow: none;
    background-color: var(--bs-card-bg);
    border-radius: var(--bs-card-border-radius);
    transition: .3s ease-in-out;
}
.wd-my-account-links > li > a:hover {
    background-color: rgba(var(--bs-secondary-rgb), .06);
    border: 1.5px solid var(--bs-secondary);
    color: var(--color-gray-900);
}
.wd-my-account-links > li > a .wd-nav-icon {
    display: block !important;
    width: 100% !important;
    text-align: center;
}
.wd-my-account-links > li > a .wd-nav-icon::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 100;
    font-style: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    line-height: 1;
    content: "\f625"; /* fa-gauge */
    font-size: 3rem;
    margin-bottom: 12px;
    color: var(--color-gray-800)!important;
    transition: .3s ease-in-out;
}
.wd-my-account-links > li > a:hover .wd-nav-icon::before {
    color: var(--color-gray-900)!important;
}
.wd-my-account-links .wd-my-acc-edit-account > a .wd-nav-icon::before {
    content: "\f007"; /* fa-user */
}
.wd-my-account-links .wd-my-acc-edit-address > a .wd-nav-icon::before {
    content: "\f3c5"; /* fa-location-dot */
}
.wd-my-account-links .wd-my-acc-orders > a .wd-nav-icon::before {
    content: "\f290"; /* fa-bag-shopping */
}
.wd-my-account-links .wd-my-acc-track-order > a .wd-nav-icon::before {
    content: "\f48b"; /* fa-shipping-fast */
}
.wd-my-account-links .wd-my-acc-payment-methods > a .wd-nav-icon::before {
    content: "\f09d"; /* fa-credit-card */
}
.wd-my-account-links .wd-my-acc-customer-logout > a .wd-nav-icon::before {
    content: "\f2f5"; /* fa-right-from-bracket */
}
.woocommerce-MyAccount-title {
    display: none;
}
@media (min-width: 820px) {
    .woocommerce-MyAccount-content {
        padding-left: 0;
    }
}

