/*
Theme Name:   Flatsome Child
Template:     flatsome
Version:      1.0.0
Text Domain:  flatsome-child
*/

/* =============================================
   SIDEBAR USER CARD
   ============================================= */

.ida-sidebar-user {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 14px !important;
    margin-bottom: 20px !important;
    background: #f8faff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 12px !important;
}

.ida-sidebar-avatar img {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
}

.ida-sidebar-info {
    flex: 1 !important;
    min-width: 0 !important;
}

.ida-sidebar-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #081735 !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ida-sidebar-email {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* =============================================
   NAVIGAZIONE MY ACCOUNT
   ============================================= */

.woocommerce-MyAccount-navigation {
    border: none !important;
    background: none !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
}

.woocommerce-MyAccount-navigation li {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 6px !important;
    list-style: none !important;
}

.woocommerce-MyAccount-navigation a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    text-decoration: none !important;
    transition: all 0.18s ease !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.woocommerce-MyAccount-navigation a:hover {
    background: #f0f7ff !important;
    color: #1589e9 !important;
    border-color: #d0e8fb !important;
}

.woocommerce-MyAccount-navigation li.is-active > a {
    background: #e3f2fd !important;
    color: #1589e9 !important;
    border-color: #bfdffa !important;
    font-weight: 600 !important;
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #94a3b8 !important;
}

.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: #fce4ec !important;
    color: #c62828 !important;
    border-color: #f48fb1 !important;
}

.woocommerce-MyAccount-navigation a svg {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
    transition: opacity 0.18s !important;
}

.woocommerce-MyAccount-navigation li.is-active > a svg,
.woocommerce-MyAccount-navigation a:hover svg {
    opacity: 1 !important;
}

/* =============================================
   DETTAGLIO ORDINE
   ============================================= */

/* Rimuovi evidenziazioni gialle */
.woocommerce-order p mark,
.woocommerce-order p .mark,
mark {
    background: none !important;
    color: inherit !important;
    font-weight: 700 !important;
}

/* Banner stato ordine */
.woocommerce-order > p:first-of-type {
    background: #f0f7ff !important;
    border: 1px solid #bfdffa !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    font-size: 13px !important;
    color: #334155 !important;
    margin-bottom: 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Titolo dettagli ordine */
.woocommerce-order-details__title,
.woocommerce-column__title,
h2.woocommerce-order-details__title {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #e8f0fb !important;
}

/* Tabella prodotti */
table.woocommerce-table--order-details,
table.shop_table {
    border: 1px solid #e8f0fb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
    width: 100% !important;
}
table.woocommerce-table--order-details thead th,
table.shop_table thead th {
    background: #f8faff !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8f0fb !important;
}
table.woocommerce-table--order-details tbody td,
table.shop_table tbody td {
    padding: 14px 16px !important;
    font-size: 13px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: top !important;
}
table.woocommerce-table--order-details tbody tr:last-child td,
table.shop_table tbody tr:last-child td {
    border-bottom: none !important;
}
table.woocommerce-table--order-details tfoot tr th,
table.woocommerce-table--order-details tfoot tr td,
table.shop_table tfoot tr th,
table.shop_table tfoot tr td {
    padding: 10px 16px !important;
    font-size: 13px !important;
    border-top: 1px solid #e8f0fb !important;
    background: #f8faff !important;
}
table.woocommerce-table--order-details tfoot tr:last-child th,
table.woocommerce-table--order-details tfoot tr:last-child td,
table.shop_table tfoot tr:last-child th,
table.shop_table tfoot tr:last-child td {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #081735 !important;
}

/* Dettagli prodotto (Quantità, Formato, ecc.) */
.woocommerce-table--order-details .wc-item-meta,
.wc-item-meta {
    margin: 6px 0 0 !important;
    padding: 0 !important;
}
.wc-item-meta li,
.wc-item-meta p {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 2px 0 !important;
    display: flex !important;
    gap: 4px !important;
}
.wc-item-meta li strong,
.wc-item-meta p strong {
    color: #334155 !important;
    font-weight: 600 !important;
}

/* =============================================
   INDIRIZZI
   ============================================= */

.woocommerce-Address {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 22px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.05) !important;
}

header.woocommerce-Address-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px solid #e8f0fb !important;
    margin-bottom: 16px !important;
}

header.woocommerce-Address-title h2 {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

header.woocommerce-Address-title a.edit {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1589e9 !important;
    background: #e8f4fd !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.18s !important;
}

header.woocommerce-Address-title a.edit:hover {
    background: #1589e9 !important;
    color: #fff !important;
}

.woocommerce-Address address {
    font-style: normal !important;
    font-size: 13px !important;
    color: #334155 !important;
    line-height: 1.8 !important;
}

@media (max-width: 600px) {
    .u-columns.woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}

/* MY ACCOUNT title */
.my-account .page-title,
.woocommerce-account .entry-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin-bottom: 20px !important;
}

/* =============================================
   DASHBOARD LAYOUT
   ============================================= */

.ida-dashboard-cards {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 20px !important;
    margin-top: 24px !important;
}

.ida-dashboard-card {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 12px !important;
    padding: 28px 20px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
}

.ida-dashboard-card:hover {
    border-color: #1589e9 !important;
    box-shadow: 0 4px 16px rgba(21,137,233,0.12) !important;
    transform: translateY(-2px) !important;
}

.ida-dashboard-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
    height: 50px !important;
}

.ida-dashboard-icon svg {
    width: 40px !important;
    height: 40px !important;
}

.ida-dashboard-card h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #081735 !important;
    margin: 0 0 12px !important;
}

.ida-dashboard-btn {
    display: inline-block !important;
    margin-top: 12px !important;
    padding: 10px 20px !important;
    background: #1589e9 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
}

.ida-dashboard-btn:hover {
    background: #0d68b3 !important;
    transform: translateY(-1px) !important;
}


/* =============================================
   FORM PROFILO / EDIT ACCOUNT
   ============================================= */

/* Wrapper generale del form */
.woocommerce-EditAccountForm {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
}

/* Griglia a 2 colonne per Nome/Cognome */
.woocommerce-EditAccountForm .woocommerce-form-row--first,
.woocommerce-EditAccountForm .woocommerce-form-row--last {
    width: 48% !important;
}

/* Label */
.woocommerce-EditAccountForm label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Input fields */
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-EditAccountForm select {
    border: none !important;
    box-shadow: inset 0 0 0 1px #d1d5db !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #1a1a2e !important;
    background: #fff !important;
    transition: box-shadow 0.2s !important;
    width: 100% !important;
    outline: none !important;
}

.woocommerce-EditAccountForm select {
    height: auto !important;
    min-height: 42px !important;
}
.woocommerce-EditAccountForm input:focus,
.woocommerce-EditAccountForm select:focus {
    box-shadow: inset 0 0 0 2px #1589e9, 0 0 0 3px rgba(21,137,233,0.1) !important;
    outline: none !important;
    background: #fff !important;
}

/* Fieldset password */
.woocommerce-EditAccountForm fieldset {
    border: 1px solid #e8f0fb !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin: 24px 0 !important;
    background: #f8faff !important;
}
.woocommerce-EditAccountForm fieldset legend {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    padding: 0 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Note in corsivo */
.woocommerce-EditAccountForm em,
.woocommerce-EditAccountForm .description {
    font-size: 11px !important;
    color: #94a3b8 !important;
    font-style: italic !important;
}

/* Pulsante salva */
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-EditAccountForm input[type="submit"] {
    background: #ff7a00 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.1s !important;
    box-shadow: 0 2px 8px rgba(255,122,0,0.25) !important;
}
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-EditAccountForm input[type="submit"]:hover {
    background: #e56e00 !important;
    transform: translateY(-1px) !important;
}

/* ==================================================
   TYPOGRAPHY GLOBAL
================================================== */

body,
button,
input,
select,
textarea,
p,
span,
li,
a,
label,
td,
th,
small,
div {
    font-family: 'Inter', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.product-title,
.product-title a,
.widget-title,
.woocommerce-loop-product__title,
.premium-product-title {
    font-family: 'Manrope', sans-serif !important;
    letter-spacing: -0.03em;
}


/* ==================================================
   FONT ESPLICITI — Area clienti + Checkout
   Necessari perché Flatsome può sovrascrivere
   l'ereditarietà su elementi WooCommerce
================================================== */

/* Testo corrente: Inter */
.woocommerce-account *,
.woocommerce-checkout *,
.woocommerce-cart *,
.woocommerce-order * {
    font-family: 'Inter', sans-serif !important;
}

/* Input e controlli: Inter */
.woocommerce-account input,
.woocommerce-account select,
.woocommerce-account textarea,
.woocommerce-account button,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout button,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-cart button {
    font-family: 'Inter', sans-serif !important;
}

/* Fix globale: select non tagliano il testo */
.woocommerce-account select,
.woocommerce-checkout select,
.woocommerce-cart select {
    height: auto !important;
    min-height: 42px !important;
    line-height: 1.5 !important;
}

/* Heading: Manrope */
.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-account h4,
.woocommerce-account h5,
.woocommerce-account h6,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-checkout h4,
.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-cart h3,
.woocommerce-order h2,
.woocommerce-order h3 {
    font-family: 'Manrope', sans-serif !important;
}


/* ==================================================
   HIDE PRICE GLOBAL
================================================== */

.price {
    display: none !important;
}


/* ==================================================
   MEGA MENU PREMIUM
================================================== */

.header-nav .nav-dropdown,
.header-nav .nav-dropdown-default,
.header-nav .nav-dropdown-full {
    padding: 22px !important;
    box-sizing: border-box !important;
    border-radius: 22px !important;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    overflow: hidden;
    box-shadow:
        0 10px 25px rgba(15,23,42,.06),
        0 25px 60px rgba(15,23,42,.10);
}

.header-nav .nav-dropdown .col,
.header-nav .nav-dropdown .col-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.header-nav .nav-dropdown a {
    font-family: 'Inter', sans-serif !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    line-height: 1.4;
    font-size: 14px;
    font-weight: 500;
    color: #475569 !important;
    transition: .25s ease;
}

.header-nav .nav-dropdown a:hover {
    color: #1598e2 !important;
}

.mega-menu-highlight {
    background: #eef7ff;
    border-radius: 20px;
    padding: 24px !important;
}

.mega-menu-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.mega-menu-section-title i {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    border: 1px solid #d2eaff !important;
    background: #eef7ff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #1598e2 !important;
    font-size: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: unset !important;
}

.mega-menu-section-title strong {
    color: #1598e2 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .4px;
    text-transform: uppercase;
    line-height: 1.2;
}

.mega-menu-section-title span {
    display: block;
    width: 22px;
    height: 2px;
    background: #ff6b00;
    margin-top: 5px;
}

.mega-menu-top-title {
    margin-bottom: 14px;
}

.mega-menu-premium .ux-menu-link a,
.mega-menu-print .ux-menu-link a,
.mega-menu-abbigliamento .ux-menu-link a,
.mega-menu-gadget .ux-menu-link a,
.mega-menu-packaging .ux-menu-link a {
    border-radius: 8px;
    transition: all .18s ease;
    font-size: 14px !important;
}

.mega-menu-premium .ux-menu-link a:hover,
.mega-menu-print .ux-menu-link a:hover,
.mega-menu-abbigliamento .ux-menu-link a:hover,
.mega-menu-gadget .ux-menu-link a:hover,
.mega-menu-packaging .ux-menu-link a:hover {
    background: #eef7ff;
    color: #1598e2 !important;
    transform: translateX(3px);
}

.mega-menu-premium .ux-menu-link i,
.mega-menu-print .ux-menu-link i,
.mega-menu-abbigliamento .ux-menu-link i,
.mega-menu-gadget .ux-menu-link i,
.mega-menu-packaging .ux-menu-link i {
    color: #1598e2 !important;
    opacity: .85;
}

.mega-menu-premium .ux-menu-link,
.mega-menu-print .ux-menu-link,
.mega-menu-abbigliamento .ux-menu-link,
.mega-menu-gadget .ux-menu-link,
.mega-menu-packaging .ux-menu-link {
    border-color: #e7edf4 !important;
}

.mega-menu-cta {
    background: #fff !important;
    border: 1px solid #dcecff !important;
    border-radius: 16px !important;
    padding: 18px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px;
    margin-top: 14px;
    box-shadow: 0 8px 24px rgba(21,152,226,.08);
    color: inherit !important;
    text-transform: none !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.mega-menu-cta-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background: #eef7ff;
    border: 1px solid #bfe1ff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mega-menu-cta-icon i {
    font-size: 20px !important;
    color: #1598e2 !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: unset !important;
}

.mega-menu-cta-content h4 {
    margin: 0 0 5px !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25;
    text-transform: none !important;
}

.mega-menu-cta-content p {
    margin: 0 0 10px !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.45;
    font-weight: 400 !important;
    text-transform: none !important;
}

.mega-menu-cta .button {
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 0 14px !important;
    color: #ffffff !important;
}

.mega-menu-packaging-intro .mega-menu-intro-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    border: 1px solid #bfe1ff;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

.mega-menu-packaging-intro .mega-menu-intro-icon i {
    font-size: 26px !important;
    color: #1598e2 !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: unset !important;
}

.mega-menu-packaging-intro h3 {
    color: #1598e2 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .4px;
    margin-bottom: 4px !important;
    text-transform: uppercase;
}

.mega-menu-intro-text {
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.5;
    text-transform: none !important;
    font-weight: 400 !important;
    margin-top: 2px;
    margin-bottom: 16px !important;
}

.mega-menu-side-card {
    background: linear-gradient(180deg, #eef7ff 0%, #f8fbff 100%);
    border-radius: 20px;
    border: 1px solid #ddeafb;
    padding: 24px !important;
}

.mega-menu-product-card h3 {
    color: #111827 !important;
    font-size: 20px !important;
    line-height: 1.15;
    margin-bottom: 4px !important;
    text-transform: uppercase;
}

.mega-menu-product-card h3 strong {
    color: #1598e2 !important;
    font-size: 20px !important;
    text-transform: uppercase;
}

.mega-menu-product-subtitle {
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    margin-bottom: 18px !important;
}

.mega-product-feature {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
    align-items: flex-start;
}

.mega-product-feature i {
    color: #1598e2 !important;
    font-size: 20px !important;
    min-width: 22px;
    margin-top: 2px;
    vertical-align: unset !important;
}

.mega-product-feature strong {
    display: block;
    color: #111827 !important;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .3px;
}

.mega-product-feature span {
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.mega-menu-product-card .button {
    margin-top: 6px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    width: 100%;
    text-align: center;
    justify-content: center;
    display: flex !important;
}

.mega-menu-packaging-3col .mega-menu-highlight {
    display: flex;
    flex-direction: column;
}

.mega-menu-packaging-3col .mega-menu-cta {
    margin-top: auto;
}

.mega-menu-packaging-3col .mega-menu-cta .button {
    width: 100%;
    text-align: center;
    justify-content: center;
    display: flex !important;
}

@media (max-width: 849px) {
    .mega-menu-highlight,
    .mega-menu-side-card {
        margin-bottom: 16px;
    }

    .mega-menu-cta {
        flex-direction: column !important;
    }

    .mega-menu-section-title i {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        font-size: 16px !important;
    }

    .mega-menu-product-card .button {
        width: 100% !important;
    }
}


/* ==================================================
   SIDEBAR CATEGORIE PREMIUM
================================================== */

.sidebar,
.shop-sidebar {
    font-family: 'Inter', sans-serif !important;
}

.widget_product_categories .widget-title,
.sidebar .widget-title,
.shop-sidebar .widget-title {
    font-family: 'Manrope', sans-serif !important;
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 24px !important;
}

.widget_product_categories .widget-title::after,
.sidebar .widget-title::after,
.shop-sidebar .widget-title::after {
    content: "";
    display: block;
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: #ff6b1a;
    margin-top: 13px;
}

.widget_product_categories .is-divider,
.shop-sidebar .is-divider {
    display: none !important;
}

.widget_product_categories ul,
.widget_product_categories li {
    list-style: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border: 0 !important;
}

.widget_product_categories ul {
    margin: 0 !important;
    padding: 0 !important;
}

.widget_product_categories > ul > li {
    margin-bottom: 4px !important;
    position: relative;
}

.widget_product_categories > ul > li > a {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-height: 38px;
    padding: 7px 12px !important;
    border-radius: 10px;
    background: transparent;
    color: #475569 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    transition: .22s ease;
}

.widget_product_categories > ul > li > a::before {
    content: '\f02b';
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free';
    font-weight: 900;
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    background: #eef7ff;
    border: 1px solid #d2eaff;
    color: #1598e2;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: .22s ease;
}

/* Icone per macrocategoria (cat-item-{term_id}) */
.widget_product_categories > ul > li.cat-item-67  > a::before { content: '\f02f'; } /* Stampa      */
.widget_product_categories > ul > li.cat-item-68  > a::before { content: '\f553'; } /* Abbigliamento */
.widget_product_categories > ul > li.cat-item-69  > a::before { content: '\f0eb'; } /* Gadget      */
.widget_product_categories > ul > li.cat-item-129 > a::before { content: '\f466'; } /* Packaging   */

.widget_product_categories > ul > li > a:hover::before {
    background: #ddeeff;
    border-color: #a8d4f8;
}

.widget_product_categories > ul > li > a:hover {
    background: #f7faff !important;
    color: #1478d4 !important;
}

.widget_product_categories > ul > li.current-cat-parent > a,
.widget_product_categories > ul > li.current-cat > a {
    background: #f4f8ff !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    position: relative;
}

.widget_product_categories > ul > li.current-cat-parent > a::before,
.widget_product_categories > ul > li.current-cat > a::before {
    background: #fff3ee;
    border-color: #ffcfb3;
    color: #ff6b1a;
    position: static;
    transform: none;
    width: 30px;
    height: 30px;
}


.widget_product_categories > ul > li > .toggle {
    position: absolute !important;
    top: 0 !important;
    right: 4px !important;
    bottom: 0 !important;
    height: auto !important;
    width: 36px !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: .5;
    z-index: 2;
    cursor: pointer;
    transition: opacity .2s ease, transform .2s ease;
}

.widget_product_categories > ul > li > .toggle:hover {
    opacity: 1;
}

.widget_product_categories > ul > li.active > .toggle {
    transform: rotate(180deg);
    opacity: .8;
}

.widget_product_categories > ul > li > a {
    padding-right: 44px !important;
}

/* Nasconde i children di default — Flatsome aggiunge .active al click del toggle */
.widget_product_categories ul.children {
    display: none !important;
}
.widget_product_categories li.active > ul.children {
    display: block !important;
}

.widget_product_categories .children {
    margin: 10px 0 18px 14px !important;
    padding: 0 !important;
    border: 0 !important;
}

.widget_product_categories .children li {
    margin: 4px 0 !important;
    padding: 0 !important;
}

.widget_product_categories .children a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
    padding: 7px 12px !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #475569 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    box-shadow: none;
    transition: .18s ease;
}

.widget_product_categories .children a::after {
    content: "›";
    margin-left: auto;
    color: #94a3b8;
    font-size: 20px;
    line-height: 1;
    transition: .22s ease;
}

.widget_product_categories .children a:hover {
    background: #f7faff !important;
    border-color: #dbeafe !important;
    color: #1478d4 !important;
    transform: translateX(2px);
}

.widget_product_categories .children a:hover::after {
    color: #1478d4;
}

.widget_product_categories .children .current-cat > a,
.widget_product_categories .children .current-cat > a:hover {
    background: #eef6ff !important;
    border-color: #bfdbfe !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    box-shadow: none;
    position: relative;
}

.widget_product_categories .children .current-cat > a::before {
    content: "";
    width: 3px;
    height: 22px;
    border-radius: 999px;
    background: #ff6b1a;
    margin-right: 10px;
    flex: 0 0 auto;
}


.widget_product_categories > ul > li:not(:last-child) {
    border-bottom: 1px solid #edf2f7 !important;
    padding-bottom: 8px !important;
}

@media (max-width: 849px) {
    .widget_product_categories > ul > li > a {
        min-height: 44px;
        font-size: 14px !important;
    }

    .widget_product_categories .children a {
        min-height: 40px;
        font-size: 13px !important;
    }
}


/* ==================================================
   HERO PRODOTTO PREMIUM
================================================== */

.hero-product-premium {
    max-width: 1380px;
    margin: 0 auto 42px auto;
    gap: 52px;
    align-items: flex-start;
}

.hero-product-content {
    padding-top: 8px;
}

.premium-product-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #ff6b00;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.premium-product-title h1,
.premium-product-title {
    font-size: clamp(28px, 2.1vw, 40px) !important;
    line-height: 1.02 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em;
    color: #0f172a !important;
    margin: 0 0 12px 0 !important;
    font-family: 'Manrope', sans-serif !important;
    max-width: 680px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.premium-product-title::after {
    content: "";
    display: block;
    width: 58px;
    height: 4px;
    border-radius: 999px;
    background: #ff6b00;
    margin-top: 4px;
}

.hero-product-content p,
.hero-product-content .woocommerce-product-details__short-description {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px;
    line-height: 1.85;
    color: #475569;
    max-width: 620px;
    margin-bottom: 18px !important;
}

.premium-trust-row-manual {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin: 10px 0 22px 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.premium-trust-row-manual .stars {
    color: #ffb400;
    font-size: 18px;
}

.premium-trust-row-manual strong {
    color: #0f172a;
    font-weight: 700;
}

.premium-trust-row-manual .divider {
    width: 1px;
    height: 16px;
    background: #e2e8f0;
}


/* ==================================================
   USP PREMIUM
================================================== */

.premium-usp-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    margin-top: 14px !important;
}

.premium-usp-grid .elementor-icon-box-wrapper {
    background: #fff !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 22px !important;
    min-height: 145px !important;
    padding: 24px 18px !important;
    text-align: center !important;
    box-shadow:
        0 2px 8px rgba(16,24,40,.03),
        0 10px 24px rgba(16,24,40,.05);
    transition: .25s ease;
}

.premium-usp-grid .elementor-icon-box-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(16,24,40,.08);
}

.premium-usp-grid .elementor-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #edf7ff;
    margin: 0 auto 14px auto !important;
}

.premium-usp-grid .elementor-icon-box-title {
    font-family: 'Manrope', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.premium-usp-grid .elementor-icon-box-description {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #64748b !important;
}


/* ==================================================
   GALLERY PREMIUM
================================================== */

.hero-product-premium .woocommerce-product-gallery {
    overflow: visible !important;
}

.hero-product-premium .woocommerce-product-gallery__wrapper {
    background: #fff !important;
    border-radius: 28px !important;
}

.hero-product-premium .woocommerce-product-gallery__image {
    aspect-ratio: 1 / 1;
    overflow: hidden !important;
    background: #fff !important;
    border-radius: 28px !important;
}

.hero-product-premium .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 28px !important;
    box-shadow: 0 25px 60px rgba(16,24,40,.10);
    background: #fff !important;
}

.hero-product-premium .flex-control-thumbs {
    width: 56px !important;
    gap: 10px !important;
}

.hero-product-premium .flex-control-thumbs li {
    width: 56px !important;
    margin-bottom: 10px !important;
}

.hero-product-premium .flex-control-thumbs img {
    width: 54px !important;
    height: 54px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 2px solid #edf1f5;
    transition: .2s ease;
}

.hero-product-premium .flex-control-thumbs img:hover {
    transform: scale(1.04);
}

.hero-product-premium .flex-control-thumbs img.flex-active {
    border-color: #ff6b00 !important;
}

.hero-product-premium .product-thumbnails {
    margin-right: 8px !important;
}

/* Segnaposto senza immagine: niente angoli rotondi, sfondo bianco */
.hero-product-premium .woocommerce-product-gallery__image--placeholder,
.hero-product-premium .woocommerce-product-gallery__image--placeholder img {
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}


/* ==================================================
   CARD CATALOGO PREMIUM
================================================== */

.product-small .price,
.product-small .star-rating,
.product-small .add-to-cart-button,
.product-small .out-of-stock-label,
.box-image .out-of-stock-label {
    display: none !important;
}

.product-small .box {
    position: relative;
    height: 100%;
    padding: 22px 22px 20px !important;
    border: 1px solid #e5edf7;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.product-small .box:hover {
    transform: translateY(-3px);
    border-color: #cfe1f5;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .09);
}

.product-small .box-image {
    margin-bottom: 12px !important;
    background: #f8fafc;
    border-radius: 16px;
    padding: 14px 8px 8px 8px;
    aspect-ratio: 1 / 1;
    height: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: visible;
}

.product-small .box-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    transition: transform .25s ease;
}

.product-small .box:hover .box-image img {
    transform: scale(1.02);
}

.product-small .box-text {
    text-align: left !important;
    padding: 0 0 62px 0 !important;
}

.product-small .box-text .name,
.product-small .box-text .name a,
.product-small .woocommerce-loop-product__title {
    font-family: 'Manrope', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2em;
}

.product-small .woocommerce-loop-product__title::after {
    content: "";
    display: block;
    width: 30px;
    height: 3px;
    border-radius: 999px;
    background: #ff6b1a;
    margin-top: 3px;
    margin-bottom: 10px;
}

.product-small .box-text p,
.product-small .woocommerce-loop-product__description {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #667085 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-small .box::before {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 62px;
    height: 1px;
    background: #edf2f7;
}

.product-small .box::after {
    content: "Configura prodotto  →";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 18px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 0;
    padding-right: 26px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231478d4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 16px 16px;
    background-position: right center;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #1478d4;
    letter-spacing: 0;
    transition: color .22s ease;
    z-index: 2;
}

.product-small .box:hover::after {
    color: #0a5fa8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a5fa8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E");
}

.products.row {
    row-gap: 34px;
}

@media (max-width: 549px) {
    .product-small .box {
        padding: 24px 22px 24px !important;
        border-radius: 22px;
    }

    .product-small .box-image img {
        height: 210px;
    }

    .product-small .box-text {
        padding-bottom: 78px !important;
    }

    .product-small .box::before {
        left: 22px;
        right: 22px;
        bottom: 80px;
    }

    .product-small .box::after {
        left: 22px;
        right: 22px;
        bottom: 24px;
        font-size: 11px;
        justify-content: flex-start;
    }
}


/* ==================================================
   FOOTER
================================================== */

.footer-2 {
    background: #f8fafc !important;
    border-top: 1px solid #e5e7eb;
    padding-top: 55px;
    padding-bottom: 50px;
}

.footer-2 .widget-title {
    color: #3f3f46 !important;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.footer-2 .is-divider {
    background-color: #f97316;
    height: 3px;
    width: 30px;
    margin-top: 12px;
    margin-bottom: 22px;
}

.footer-2 p,
.footer-2 li,
.footer-2 a {
    color: #334155 !important;
    font-size: 16px;
    line-height: 1.65;
}

.footer-2 a:hover {
    color: #38a9e8 !important;
}

.footer-2 .menu li {
    border-bottom: 1px solid #e5e7eb;
    padding: 7px 0;
}

.footer-2 .social-icons a {
    color: #94a3b8 !important;
    border-color: #cbd5e1 !important;
}

.footer-2 .social-icons a:hover {
    color: #38a9e8 !important;
    border-color: #38a9e8 !important;
}

.absolute-footer {
    background: #4b5563 !important;
    color: #e5e7eb !important;
    padding: 18px 0;
    font-size: 14px;
}

.absolute-footer .payment-icons img,
.absolute-footer .payment-icon {
    opacity: .75;
    transform: scale(.9);
}


/* ==================================================
   FOOTER CTA BOX
================================================== */

.footer-1 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.footer-1 .row,
.footer-1 .large-12,
.footer-1 .col,
.footer-1 .widget,
.footer-1 .ux_block {
    max-width: none !important;
    width: 100% !important;
}

.footer-cta-box {
    width: calc(100vw - 80px) !important;
    max-width: 1480px !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    background: #eef7ff;
    border: 1px solid #cfe7ff;
    border-radius: 18px;
    padding: 28px 34px;
    display: flex;
    align-items: center;
    gap: 28px;
    box-sizing: border-box;
}

.footer-cta-main {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 360px;
}

.footer-cta-icon-main {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 22px rgba(30,144,220,.12);
    flex-shrink: 0;
}

.footer-cta-icon-main svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #1d9ee8;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-cta-main h3 {
    margin: 0;
    font-size: 28px;
    line-height: 1.2;
    color: #1f2937;
    font-weight: 700;
}

.footer-cta-main p {
    margin: 7px 0 0;
    color: #64748b;
    font-size: 15px;
}

.footer-cta-items {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1;
}

.footer-cta-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 210px;
}

.footer-cta-item svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #1d9ee8;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}

.footer-cta-item strong {
    display: block;
    color: #1f2937;
    font-size: 14px;
    line-height: 1.25;
}

.footer-cta-item span {
    display: block;
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 4px;
}

.footer-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #1d9ee8;
    color: #fff !important;
    padding: 14px 24px;
    border-radius: 10px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(29,158,232,.25);
}

.footer-cta-btn:hover {
    background: #0f8bd2;
    color: #fff !important;
}

.footer-cta-btn svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==================================================
   RESPONSIVE GLOBALE
================================================== */

@media (max-width: 1024px) {
    .hero-product-premium {
        gap: 30px;
    }

    .premium-usp-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 768px) {
    .product-small .box {
        min-height: auto;
        padding: 20px;
    }

    .product-small .box-text {
        padding-bottom: 64px !important;
    }

    .product-small .box-text .name,
    .product-small .box-text .name a,
    .product-small .woocommerce-loop-product__title {
        font-size: 20px !important;
    }

    .product-small .box::after {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }

    .footer-cta-box {
        flex-direction: column;
        align-items: flex-start;
        width: calc(100vw - 32px) !important;
    }

    .footer-cta-main {
        min-width: 0;
    }

    .footer-cta-items {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-cta-btn {
        width: 100%;
    }
}


/* ==================================================
   BREADCRUMB
================================================== */

/* ── Checkout: resetta la page-title grande e la rende sottile ── */
.checkout-page-title.page-title {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

.checkout-page-title .page-title-inner {
    min-height: auto !important;
    padding-top: 16px !important;
    padding-bottom: 0 !important;
}

/* Nav checkout steps → look breadcrumb sito */
nav.checkout-breadcrumbs {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 0 !important;
    line-height: 1.4 !important;
    padding: 0 !important;
}

nav.checkout-breadcrumbs.h2,
nav.checkout-breadcrumbs.h3,
nav.checkout-breadcrumbs.h4 {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Step non correnti: grigi */
nav.checkout-breadcrumbs a {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    display: inline !important;
}

nav.checkout-breadcrumbs a:hover {
    color: #1478d4 !important;
}

/* Step corrente: più scuro e bold */
nav.checkout-breadcrumbs a.current {
    color: #0f172a !important;
    font-weight: 700 !important;
}

/* Separatori: nasconde l'icona SVG, mostra // come sito */
nav.checkout-breadcrumbs .divider {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    color: #cbd5e1 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    top: 0 !important;
}

nav.checkout-breadcrumbs .divider svg,
nav.checkout-breadcrumbs .divider i,
nav.checkout-breadcrumbs .divider [class*="icon"] {
    display: none !important;
}

nav.checkout-breadcrumbs .divider::after {
    content: '//' !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #cbd5e1 !important;
    margin: 0 7px !important;
}

/* ── Breadcrumb WooCommerce standard (pagine prodotto ecc.) ──── */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
    margin-bottom: 18px !important;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.woocommerce-breadcrumb a {
    color: #64748b !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color .18s ease;
}

.woocommerce-breadcrumb a:hover {
    color: #1478d4 !important;
}

.woocommerce-breadcrumb .breadcrumb-separator,
.woocommerce-breadcrumb > span:not(:last-child)::after {
    content: "/";
    margin: 0 6px;
    color: #cbd5e1;
    font-weight: 400;
}

/* Pagina corrente (ultimo elemento) */
.woocommerce-breadcrumb > span:last-child,
.woocommerce-breadcrumb > a:last-child {
    color: #0f172a !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    .premium-product-title h1,
    .premium-product-title {
        font-size: 30px !important;
    }

    .premium-usp-grid {
        grid-template-columns: 1fr !important;
    }

    .hero-product-premium .flex-control-thumbs img {
        width: 50px !important;
        height: 50px !important;
    }
}


/* ==================================================
   PLUGIN PERSONALIZZAZIONE GRAFICA (wphp-gc)
================================================== */

.wphp-gc-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    width: auto !important;
    flex: 1 !important;
}

.wphp-gc {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}


/* ╔══════════════════════════════════════════════════════════════════╗
   ║  DESIGN SYSTEM — WooCommerce Customer Area + Checkout           ║
   ║  Tokeni: card=#fff border=#e8f0fb radius=14px shadow=blue-soft  ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── Sfondo pagine account / checkout / cart ── */
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-account {
    background: #f4f7fc;
}


/* ════════════════════════════════════════════════════════════════════
   1. CHECKOUT
   ════════════════════════════════════════════════════════════════════ */

/* Card unica per billing + shipping + crea account */
.woocommerce-checkout #customer_details {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 16px !important;
    padding: 28px !important;
    box-shadow: 0 2px 12px rgba(21,137,233,0.05) !important;
    margin-bottom: 24px !important;
}

/* Billing e shipping non hanno card separata — sono già dentro #customer_details */
.woocommerce-checkout #billing,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout #shipping,
.woocommerce-checkout .woocommerce-shipping-fields {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

/* Heading "DETTAGLI DI FATTURAZIONE" — senza numeri */
.woocommerce-checkout #billing h3,
.woocommerce-checkout .woocommerce-billing-fields h3 {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    margin: 0 0 22px !important;
    padding-bottom: 16px !important;
    border-bottom: 1.5px solid #e8f0fb !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

/* Heading "Spedire a un indirizzo diverso?" — stile leggero con separatore */
.woocommerce-checkout #shipping h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
    display: flex !important;
    align-items: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    padding-top: 18px !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

/* Heading riepilogo ordine — Flatsome gestisce già il box della sidebar */
h3#order_review_heading {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1.5px solid #e8f0fb !important;
}

/* Sidebar checkout — stile coerente senza sovrascrivere Flatsome */
.woocommerce-checkout .col-inner.has-border,
.woocommerce-checkout .col-inner.is-well {
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 12px rgba(21,137,233,0.05) !important;
}

#order_review {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

/* Sezione "Crea un account" — dentro #customer_details, senza card separata */
.woocommerce-checkout .svx-create-account-wrap {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    border-top: 1px solid #f1f5f9 !important;
    padding: 16px 0 0 !important;
    margin: 12px 0 4px !important;
}

.woocommerce-checkout .svx-create-account-wrap h3 {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    margin: 0 0 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

/* Form fields checkout — label */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label,
.woocommerce-checkout .woocommerce-form-row > label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 5px !important;
}

/* Bordo inset via box-shadow — bypassa qualsiasi override Flatsome su border */
.woocommerce-checkout .woocommerce-billing-fields .input-text,
.woocommerce-checkout .woocommerce-billing-fields input[type="text"],
.woocommerce-checkout .woocommerce-billing-fields input[type="email"],
.woocommerce-checkout .woocommerce-billing-fields input[type="tel"],
.woocommerce-checkout .woocommerce-billing-fields input[type="password"],
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-shipping-fields .input-text,
.woocommerce-checkout .woocommerce-shipping-fields input[type="text"],
.woocommerce-checkout .woocommerce-shipping-fields input[type="email"],
.woocommerce-checkout .woocommerce-shipping-fields input[type="tel"],
.woocommerce-checkout .woocommerce-shipping-fields select,
.woocommerce-checkout .woocommerce-additional-fields .input-text,
.woocommerce-checkout .woocommerce-additional-fields input[type="text"],
.woocommerce-checkout .woocommerce-additional-fields textarea {
    border: none !important;
    box-shadow: inset 0 0 0 1px #d1d5db !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #1a1a2e !important;
    background: #fff !important;
    transition: box-shadow 0.2s !important;
    outline: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-shipping-fields select {
    height: auto !important;
    min-height: 42px !important;
}

.woocommerce-checkout .woocommerce-billing-fields .input-text:focus,
.woocommerce-checkout .woocommerce-billing-fields input:focus,
.woocommerce-checkout .woocommerce-billing-fields select:focus,
.woocommerce-checkout .woocommerce-billing-fields textarea:focus,
.woocommerce-checkout .woocommerce-shipping-fields .input-text:focus,
.woocommerce-checkout .woocommerce-shipping-fields input:focus,
.woocommerce-checkout .woocommerce-shipping-fields select:focus,
.woocommerce-checkout .woocommerce-additional-fields .input-text:focus,
.woocommerce-checkout .woocommerce-additional-fields textarea:focus {
    box-shadow: inset 0 0 0 2px #1589e9, 0 0 0 3px rgba(21,137,233,0.1) !important;
    outline: none !important;
    background: #fff !important;
}

/* Coupon checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon {
    background: #f8faff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
}

/* Metodi di pagamento */
.woocommerce-checkout #payment {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
    background: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li.payment_method {
    background: #f8faff !important;
    border: 1.5px solid #e8f0fb !important;
    border-radius: 10px !important;
    padding: 13px 18px !important;
    margin-bottom: 10px !important;
    transition: border-color 0.18s !important;
    list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li.payment_method label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.woocommerce-checkout #payment .payment_box {
    background: #eef6ff !important;
    border: 1px solid #d0e8fb !important;
    border-radius: 0 0 8px 8px !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    color: #334155 !important;
    margin-top: -4px !important;
}

/* Pulsante Effettua l'ordine */
.woocommerce-checkout #place_order {
    background: #ff7a00 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 15px 32px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.1s !important;
    box-shadow: 0 2px 10px rgba(255,122,0,0.3) !important;
    width: 100% !important;
    margin-top: 16px !important;
}

.woocommerce-checkout #place_order:hover {
    background: #e56e00 !important;
    transform: translateY(-1px) !important;
}

/* Privacy note */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: #94a3b8 !important;
    margin-top: 12px !important;
    line-height: 1.6 !important;
}

/* ── Validazione campi — bordo rosso ── */
.woocommerce-checkout .woocommerce-invalid .input-text,
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .svx-field-error .input-text,
.woocommerce-checkout .svx-field-error input,
.woocommerce-checkout .svx-field-error select {
    border-color: #dc2626 !important;
    background: #fff5f5 !important;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.08) !important;
}

.woocommerce-checkout .woocommerce-invalid > label,
.woocommerce-checkout .svx-field-error > label {
    color: #dc2626 !important;
}

/* Nascondi il pallino rosso nativo WC sul campo — usiamo solo il bordo */
.woocommerce-checkout .woocommerce-invalid-required-field .input-text::after {
    display: none !important;
}

/* ── Tooltip errore inline vicino al campo ── */
.woocommerce-checkout .form-row {
    position: relative !important;
}
.svx-field-tooltip {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 200;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    padding: 5px 10px 5px 9px;
    border-radius: 5px;
    white-space: nowrap;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(220,38,38,0.25);
}
.svx-field-tooltip::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 12px;
    border: 5px solid transparent;
    border-bottom-color: #dc2626;
}

@media (max-width: 768px) {
    .woocommerce-checkout #customer_details {
        padding: 20px !important;
        border-radius: 12px !important;
    }
    h3#order_review_heading {
        padding: 18px 20px 14px !important;
    }
}


/* ── Carrello: nascondi pulsanti PayPal ── */
body.woocommerce-cart [id^="ppc-button"],
body.woocommerce-cart [class*="ppcp-button"],
body.woocommerce-cart .ppcp-button-apm,
body.woocommerce-cart .woocommerce-cart__ppcp-button,
body.woocommerce-cart .payment-buttons-cart-container {
    display: none !important;
}

/* ════════════════════════════════════════════════════════════════════
   2. LISTA ORDINI (/my-account/orders/)
   ════════════════════════════════════════════════════════════════════ */

.woocommerce-orders-table-wrapper,
.woocommerce-MyAccount-content .woocommerce-orders-table {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
}

.woocommerce-orders-table thead th {
    background: #f8faff !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8f0fb !important;
}

.woocommerce-orders-table tbody td {
    padding: 14px 16px !important;
    font-size: 13px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

.woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Badge stato ordine */
.woocommerce-orders-table .woocommerce-order-status,
mark.order-status {
    display: inline-block !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    background: none !important;
}

.woocommerce-orders-table .woocommerce-order-status.status-completed,
mark.order-status.status-completed {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.woocommerce-orders-table .woocommerce-order-status.status-processing,
mark.order-status.status-processing {
    background: #dbeafe !important;
    color: #1e40af !important;
}

.woocommerce-orders-table .woocommerce-order-status.status-pending,
mark.order-status.status-pending {
    background: #fef9c3 !important;
    color: #854d0e !important;
}

.woocommerce-orders-table .woocommerce-order-status.status-cancelled,
mark.order-status.status-cancelled {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.woocommerce-orders-table .woocommerce-order-status.status-on-hold,
mark.order-status.status-on-hold {
    background: #ffedd5 !important;
    color: #9a3412 !important;
}

/* Pulsante "Visualizza" nella lista ordini */
.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .woocommerce-button {
    background: #e3f2fd !important;
    color: #1589e9 !important;
    border: 1px solid #bfdffa !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.18s !important;
}

.woocommerce-orders-table .button:hover,
.woocommerce-MyAccount-content .woocommerce-button:hover {
    background: #1589e9 !important;
    color: #fff !important;
}


/* ════════════════════════════════════════════════════════════════════
   3. FORM MODIFICA INDIRIZZO (/my-account/edit-address/)
   ════════════════════════════════════════════════════════════════════ */

.woocommerce-address-fields {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
}

.woocommerce-address-fields h3 {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px solid #e8f0fb !important;
}

.woocommerce-address-fields label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

.woocommerce-address-fields .input-text,
.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields input[type="email"],
.woocommerce-address-fields input[type="tel"],
.woocommerce-address-fields select {
    border: none !important;
    box-shadow: inset 0 0 0 1px #d1d5db !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #1a1a2e !important;
    background: #fff !important;
    transition: box-shadow 0.2s !important;
    outline: none !important;
}

.woocommerce-address-fields select {
    height: auto !important;
    min-height: 42px !important;
}

.woocommerce-address-fields .input-text:focus,
.woocommerce-address-fields input:focus,
.woocommerce-address-fields select:focus {
    box-shadow: inset 0 0 0 2px #1589e9, 0 0 0 3px rgba(21,137,233,0.1) !important;
    outline: none !important;
    background: #fff !important;
}

.woocommerce-address-fields button[type="submit"],
.woocommerce-address-fields input[type="submit"] {
    background: #ff7a00 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.1s !important;
    box-shadow: 0 2px 8px rgba(255,122,0,0.25) !important;
}

.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce-address-fields input[type="submit"]:hover {
    background: #e56e00 !important;
    transform: translateY(-1px) !important;
}


/* ════════════════════════════════════════════════════════════════════
   4. LOGIN / REGISTRAZIONE (/my-account/ non loggato)
   ════════════════════════════════════════════════════════════════════ */

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-page .woocommerce-form-login,
.woocommerce-page .woocommerce-form-register {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 28px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
    margin-bottom: 24px !important;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px solid #e8f0fb !important;
}

.woocommerce-form-login label,
.woocommerce-form-register label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

.woocommerce-form-login .input-text,
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register .input-text,
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="email"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register select {
    border: none !important;
    box-shadow: inset 0 0 0 1px #d1d5db !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #1a1a2e !important;
    background: #fff !important;
    transition: box-shadow 0.2s !important;
    outline: none !important;
}

.woocommerce-form-register select {
    height: auto !important;
    min-height: 42px !important;
}

.woocommerce-form-login .input-text:focus,
.woocommerce-form-login input:focus,
.woocommerce-form-register .input-text:focus,
.woocommerce-form-register input:focus,
.woocommerce-form-register select:focus {
    box-shadow: inset 0 0 0 2px #1589e9, 0 0 0 3px rgba(21,137,233,0.1) !important;
    outline: none !important;
    background: #fff !important;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"] {
    background: #1589e9 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.1s !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.2) !important;
}

.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover,
.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register button[type="submit"]:hover {
    background: #0d68b3 !important;
    transform: translateY(-1px) !important;
}

/* Password dimenticata */
.woocommerce-form-login .lost_password {
    font-size: 12px !important;
    color: #64748b !important;
    margin-top: 8px !important;
}

.woocommerce-form-login .lost_password a {
    color: #1589e9 !important;
}

/* Checkbox ricordami */
.woocommerce-form-login .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #334155 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
}


/* ════════════════════════════════════════════════════════════════════
   5. THANK YOU PAGE (/checkout/order-received/)
   ════════════════════════════════════════════════════════════════════ */

/* Banner conferma ordine */
.woocommerce-thankyou-order-received {
    background: #dcfce7 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #166534 !important;
    margin-bottom: 28px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Dettagli ordine thank you */
.woocommerce-order-overview {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 20px 24px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
    margin-bottom: 28px !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

.woocommerce-order-overview li {
    padding: 14px 24px !important;
    border-right: 1px solid #e8f0fb !important;
    font-size: 13px !important;
    color: #64748b !important;
    flex: 1 !important;
    min-width: 150px !important;
}

.woocommerce-order-overview li:last-child {
    border-right: none !important;
}

.woocommerce-order-overview li strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #081735 !important;
    margin-top: 4px !important;
}

/* Sezioni thank you come card */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 22px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
    margin-bottom: 24px !important;
}

@media (max-width: 600px) {
    .woocommerce-order-overview {
        flex-direction: column !important;
    }
    .woocommerce-order-overview li {
        border-right: none !important;
        border-bottom: 1px solid #e8f0fb !important;
        padding: 12px 0 !important;
    }
    .woocommerce-order-overview li:last-child {
        border-bottom: none !important;
    }
}


/* ════════════════════════════════════════════════════════════════════
   6. CARRELLO (/cart/)
   ════════════════════════════════════════════════════════════════════ */

/* Rimuove linea divisoria verticale tra le colonne */
.woocommerce-cart .row-divided > .col + .col:not(.large-12) {
    border-left: none !important;
}

/* Card sul wrapper — contiene tabella + azioni */
.woocommerce-cart .cart-wrapper {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(21,137,233,0.05) !important;
    margin-bottom: 20px !important;
}

/* Tabella prodotti — dentro la card, niente bordi propri */
.woocommerce-cart table.cart {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

.woocommerce-cart table.cart thead th {
    background: #f8faff !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8f0fb !important;
}

.woocommerce-cart table.cart tbody td {
    padding: 16px !important;
    font-size: 13px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

.woocommerce-cart table.cart tbody tr:last-child td {
    border-bottom: none !important;
}

/* Riga azioni (aggiorna, coupon, continua acquisti) */
.woocommerce-cart table.cart td.actions {
    background: #f8faff !important;
    border-top: 1px solid #e8f0fb !important;
    padding: 14px 16px !important;
}

.woocommerce-cart table.cart .product-name a {
    font-weight: 600 !important;
    color: #081735 !important;
    text-decoration: none !important;
}

.woocommerce-cart table.cart .product-name a:hover {
    color: #1589e9 !important;
}

/* Bottoni dentro azioni (Aggiorna carrello, Continua acquisti) */
.woocommerce-cart table.cart .actions .button,
.woocommerce-cart table.cart .actions a.button {
    background: #fff !important;
    color: #475569 !important;
    border: 1.5px solid #e0e8f5 !important;
    border-radius: 8px !important;
    padding: 9px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.18s !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.woocommerce-cart table.cart .actions .button:hover,
.woocommerce-cart table.cart .actions a.button:hover {
    border-color: #1589e9 !important;
    color: #1589e9 !important;
    background: #f0f7ff !important;
}

/* Coupon nel carrello */
.woocommerce-cart table.cart .coupon input[type="text"] {
    border: 1.5px solid #e0e8f5 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    background: #f8faff !important;
}

.woocommerce-cart table.cart .coupon .button {
    background: #1589e9 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Totali carrello */
.cart_totals {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    padding: 22px !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
}

.cart_totals h2 {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px solid #e8f0fb !important;
}

.cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.cart_totals table th,
.cart_totals table td {
    padding: 10px 4px !important;
    font-size: 13px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td {
    border-bottom: none !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    padding-top: 14px !important;
}

/* Pulsante "Procedi al checkout" */
.cart_totals .checkout-button,
.wc-proceed-to-checkout .checkout-button {
    background: #ff7a00 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 15px 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
    margin-top: 16px !important;
    transition: background 0.2s, transform 0.1s !important;
    box-shadow: 0 2px 10px rgba(255,122,0,0.3) !important;
}

.cart_totals .checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
    background: #e56e00 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

/* Cross-sell nel carrello */
.cross-sells h2 {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #081735 !important;
    margin-bottom: 16px !important;
}


/* ════════════════════════════════════════════════════════════════════
   7. METODI DI PAGAMENTO (/my-account/payment-methods/)
   ════════════════════════════════════════════════════════════════════ */

.woocommerce-PaymentMethods {
    background: #fff !important;
    border: 1px solid #e8f0fb !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(21,137,233,0.04) !important;
    margin-bottom: 24px !important;
}

.woocommerce-PaymentMethods thead th {
    background: #f8faff !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8f0fb !important;
}

.woocommerce-PaymentMethods tbody td {
    padding: 14px 16px !important;
    font-size: 13px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

.woocommerce-PaymentMethods tbody tr:last-child td {
    border-bottom: none !important;
}

.woocommerce-PaymentMethods .button.delete {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
    border-radius: 6px !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    transition: all 0.18s !important;
}

.woocommerce-PaymentMethods .button.delete:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* Pulsante aggiungi metodo di pagamento */
.woocommerce-MyAccount-content > a.button {
    background: #1589e9 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 11px 22px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: background 0.18s !important;
    margin-top: 12px !important;
}

.woocommerce-MyAccount-content > a.button:hover {
    background: #0d68b3 !important;
    color: #fff !important;
}

/* ──────────────────────────────────────────────────────────────────
   CAMPI FISCALI — nascosti di default nel <head> per evitare il
   flash visivo (FOUC). Il JS nel footer li mostra in base alla
   tipologia selezionata.
   ────────────────────────────────────────────────────────────────── */
.woocommerce-checkout .svx-fiscal-field,
.woocommerce-checkout #billing_company_field,
.woocommerce-account .svx-fiscal-field,
.woocommerce-account #billing_company_field {
    display: none;
}

/* Checkbox nativo WC "crea account" — nascosto, usiamo radio custom */
.woocommerce-checkout .woocommerce-account-fields {
    display: none !important;
}

/* ── Blocco "Crea un account" — radio Sì/No in riga ─────────── */
.svx-create-account-wrap {
    border-top: 1px solid #f1f5f9 !important;
    padding: 16px 0 4px !important;
    margin: 8px 0 0 !important;
}

.svx-ca-row {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

.svx-ca-question {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    white-space: nowrap !important;
}

.svx-ca-options {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.svx-ca-option {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #334155 !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.svx-ca-option input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    accent-color: #1589e9 !important;
    cursor: pointer !important;
}

/* ── Cookie notice: card quadrata in basso a sinistra ──────────────── */
.flatsome-cookies {
    left: 20px !important;
    right: auto !important;
    bottom: 20px !important;
    width: 280px !important;
    padding: 20px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14) !important;
    transform: translate3d(-120%, 0, 0) !important;
    transition: transform .35s ease !important;
}
.flatsome-cookies--active {
    transform: translate3d(0, 0, 0) !important;
}
.flatsome-cookies--inactive {
    transform: translate3d(-120%, 0, 0) !important;
}
.flatsome-cookies__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
}
.flatsome-cookies__text {
    padding-right: 0 !important;
    margin-bottom: 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}
.flatsome-cookies__buttons {
    margin-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
}
.flatsome-cookies__buttons > .button {
    margin-right: 0 !important;
    width: 100% !important;
    text-align: center !important;
}
.flatsome-cookies__reject-btn {
    background: transparent !important;
    color: #64748b !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: none !important;
}
.flatsome-cookies__reject-btn:hover {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border-color: #94a3b8 !important;
}

/* ── Live search results ────────────────────────────────────────────── */
.live-search-results .autocomplete-suggestions {
    border-radius: 14px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12) !important;
    overflow: hidden !important;
    border: 1px solid #e8f0f8 !important;
    background: #fff !important;
    padding: 4px 0 !important;
}

.live-search-results .autocomplete-suggestion {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    cursor: pointer !important;
    position: relative !important;
}

.live-search-results .autocomplete-suggestion:last-child {
    border-bottom: none !important;
}

.live-search-results .autocomplete-suggestion:hover,
.live-search-results .autocomplete-selected {
    background-color: #f4f8fe !important;
}

/* Immagine quadrata */
.live-search-results .search-image {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    border: 1px solid #e8f0f8 !important;
    flex-shrink: 0 !important;
    background: #f8fafc !important;
}

/* Nome prodotto */
.live-search-results .search-name {
    flex: 1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #0b1833 !important;
    line-height: 1.35 !important;
    padding-left: 0 !important;
}

/* Termine cercato evidenziato in azzurro */
.live-search-results .search-name strong {
    color: #1589e9 !important;
    font-weight: 700 !important;
}

/* Prezzo nascosto */
.live-search-results .search-price {
    display: none !important;
}

/* Chevron a destra */
.live-search-results .autocomplete-suggestion::after {
    content: "›" !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: #b0bec5 !important;
    flex-shrink: 0 !important;
    margin-left: 6px !important;
}

/* ── Gate checkout ─────────────────────────────────────────── */
#svx-gate {
    margin: 0 0 24px;
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.svx-gate__title {
    font-size: 1.75rem;
    font-weight: 800;
    margin: 0 0 10px;
    text-align: center;
    color: #1e3560;
    line-height: 1.2;
}
.svx-gate__subtitle {
    font-size: 0.95rem;
    color: #6b7a99;
    text-align: center;
    margin: 0 0 32px;
    line-height: 1.5;
}
/* ─ Cards ─ */
.svx-gate__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
}
.svx-gate__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 36px 24px 44px;
    background: #fff;
    border: 1.5px solid #e2e8f4;
    border-radius: 16px;
    cursor: pointer;
    text-align: center;
    transition: box-shadow 0.18s, border-color 0.18s, transform 0.18s;
    color: #1e3560;
    font-family: inherit;
    font-size: inherit;
    line-height: 1.45;
    box-shadow: 0 1px 6px rgba(30,53,96,0.06);
}
.svx-gate__card:hover {
    box-shadow: 0 8px 28px rgba(37,99,235,0.13);
    border-color: #93c5fd;
    transform: translateY(-2px);
}
.svx-gate__card-icon {
    width: 84px;
    height: 84px;
    background: #e8f0fe;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: #2563eb;
}
.svx-gate__card strong {
    display: block;
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1e3560;
    margin-bottom: 10px;
}
.svx-gate__card > span:not(.svx-gate__card-arrow) {
    display: block;
    font-size: 0.85rem;
    color: #6b7a99;
    line-height: 1.5;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: normal !important;
}
.svx-gate__card-arrow {
    position: absolute;
    bottom: 16px;
    right: 20px;
    font-size: 1.35rem;
    color: #2563eb;
    font-weight: 700;
    line-height: 1;
}
/* ─ Badges ─ */
.svx-gate__badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.svx-gate__badge {
    display: flex;
    align-items: center;
    gap: 12px;
}
.svx-gate__badge-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    background: #e8f0fe;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
}
.svx-gate__badge-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.svx-gate__badge-text strong {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1e3560;
}
.svx-gate__badge-text span {
    font-size: 0.775rem;
    color: #6b7a99;
    line-height: 1.3;
}
/* ─ Pannelli login / nuovo cliente ─ */
.svx-gate__field {
    margin-bottom: 14px;
}
.svx-gate__field label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 5px;
    color: #1e3560;
}
.svx-gate__field input,
.svx-gate__field select {
    width: 100%;
    padding: 10px 13px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.95rem;
    background: #fff;
    box-sizing: border-box;
    color: #1e3560;
    appearance: auto;
    -webkit-appearance: auto;
}
.svx-gate__field input:focus,
.svx-gate__field select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.1);
}
.svx-gate__error {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #dc2626;
    font-size: 0.875rem;
    padding: 10px 13px;
    border-radius: 6px;
    margin-bottom: 14px;
}
.svx-gate__submit {
    width: 100%;
    margin-bottom: 10px !important;
}
.svx-gate__back {
    display: block;
    width: 100%;
    background: none;
    border: none;
    padding: 6px 0;
    font-size: 0.85rem;
    color: #6b7a99;
    cursor: pointer;
    text-align: center;
    font-family: inherit;
}
.svx-gate__back:hover {
    color: #1e3560;
    text-decoration: underline;
}
@media (max-width: 640px) {
    #svx-gate {
        padding: 28px 18px 24px;
    }
    .svx-gate__cards {
        grid-template-columns: 1fr;
    }
    .svx-gate__badges {
        grid-template-columns: 1fr;
    }
}

