/* Wrapper per allineare ricerca e ordinamento */
.shop-filters-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 0;
    border-bottom: none;
    flex-wrap: nowrap;
    gap: 12px;
}

/* Titolo categoria prodotti */
.shop-col--products .woocommerce-products-header {
    margin-bottom: 25px;
    margin-top: 0;
    padding-top: 10px; /* Reduced padding */
}

@media (min-width: 769px) {
    .shop-col--products .woocommerce-products-header {
        padding-top: 0;
    }
}

.shop-col--products .woocommerce-products-header__title {
    font-size: 28px;
    font-weight: 700;
    color: #111;
    margin: 0 0 10px 0;
    letter-spacing: -0.3px;
    text-align: center;
}

/* Stile per il form di ricerca */
.product-search-form {
    flex: 1;
    min-width: 200px;
    max-width: 500px;
}

.product-search-form .woocommerce-product-search {
    position: relative;
    width: 100%;
}

.product-search-form .search-wrapper {
    position: relative;
    display: flex;
    width: 100%;
    align-items: stretch;
}

.product-search-form .search-field {
    width: 100%;
    padding: 0 40px 0 14px;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    font-size: 16px; /* ≥16px previene zoom automatico iOS Safari */
    height: 38px;
    background: #f9f9f9;
    transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
}

.product-search-form .search-field:focus {
    outline: none;
    border-color: #005BAC;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0,91,172,0.10);
}

/* Rimuove il pulsante di cancellazione predefinito */
.product-search-form .search-field::-webkit-search-cancel-button {
    display: none;
}

.product-search-form .search-submit {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 40px;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    border: none;
    cursor: pointer;
    padding: 0;
    color: #fff;
    transition: filter 0.25s, box-shadow 0.25s;
    border-radius: 0 10px 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-search-form .search-submit:hover {
    filter: brightness(1.12);
    box-shadow: 0 4px 12px rgba(0,91,172,0.2);
}

.product-search-form .search-submit svg {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    stroke: #fff;
}

/* Stile per l'icona di ricerca */
.search-icon {
    width: 16px;
    height: 16px;
    display: block;
    margin: auto;
    filter: brightness(0) invert(1);
}

/* Stile per il menu di ordinamento */
.woocommerce-ordering {
    margin: 0;
    flex: 1;
    max-width: 300px;
}

.woocommerce-ordering select {
    width: 100%;
    padding: 0 36px 0 14px;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    background-color: #f9f9f9;
    height: 38px;
    cursor: pointer;
    font-size: 16px; /* ≥16px previene zoom automatico iOS Safari */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005BAC' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px;
    transition: border-color 0.25s, box-shadow 0.25s, background-color 0.25s;
}

.woocommerce-ordering select:focus {
    outline: none;
    border-color: #005BAC;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(0,91,172,0.10);
}

/* Nasconde pseudo-freccia FontAwesome duplicata */
.shop-filters-wrapper .woocommerce-ordering::before {
    display: none !important;
}

/* ------------------------------------------------------------
    Allineamento verticale filtri (ricerca + ordinamento)
    ------------------------------------------------------------ */
.shop-filters-wrapper { align-items: center; }

/* Forza il contenitore dell'ordinamento a centrare il select */
.shop-filters-wrapper .woocommerce-ordering { display: flex; align-items: center; margin:0; }

/* Altezza uniforme per campo ricerca e select */
.shop-filters-wrapper .product-search-form .search-field,
.shop-filters-wrapper .woocommerce-ordering select { height:38px; line-height:38px; padding-top:0; padding-bottom:0; }

/* Pulsante icona ricerca stessa altezza */
.shop-filters-wrapper .product-search-form .search-submit { height:38px; }

/* Wrapper input ricerca stessa altezza per evitare disallineamenti */
.shop-filters-wrapper .product-search-form .search-wrapper { align-items: stretch; }

/* ------------------------------------------------------------
   Disabilita dropdown menu nell'header (Shop e altre voci)
   ------------------------------------------------------------ */
/* Nasconde tutti i sottomenu dropdown */
.nav-container ul.dropdown-menu,
.nav-container .dropdown-menu {
    display: none !important;
}

/* Rimuove la freccia indicatrice del dropdown */
.nav-container li.dropdown .alux-arrow {
    display: none !important;
}

/* Rimuove classe dropdown per evitare hover effects */
.nav-container li.dropdown {
    position: static;
}

/* Rimuove padding extra per freccia inesistente */
.nav-container ul.primary li.dropdown a {
    padding-right: 14px !important; /* stesso padding degli altri link */
}

/* Disabilita hover effects del dropdown */
.nav-container ul.primary li:hover ul,
.nav-container ul.primary li.dropdown:hover ul.dropdown-menu {
    display: none !important;
}

.woocommerce-ordering select:hover {
    border-color: #005BAC;
}

/* Imposta un'altezza fissa per i titoli dei prodotti per allineare i pulsanti */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    height: 48px; /* Altezza per 2 righe di testo */
    margin: 0;
    padding: 0 10px;
    overflow: hidden;
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    text-align: center;
    line-height: 24px; /* Altezza riga fissa */
    font-size: 16px; /* Dimensione font fissa */
    text-overflow: ellipsis;
    position: relative;
    margin-bottom: 10px;
    /* Gradient text: stile brand rosso -> blu */
    background: linear-gradient(135deg, #E60012 0%, #b8003e 35%, #6a1b9a 60%, #005BAC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800;
    letter-spacing: -0.3px;
    filter: drop-shadow(0 1px 4px rgba(230, 0, 18, 0.12)) drop-shadow(0 1px 4px rgba(0, 91, 172, 0.10));
}

/* Stile per il container dello SKU con logo */
.product-cat {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

/* Stile per il logo Tamiya */
.sku-logo {
    max-height: 2em;
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle;
}

/* Stile per il testo dello SKU */
.sku-text {
    font-size: 14px;
    color: #333;
}

/* ------------------------------------------------------------
   Card prodotto: bordo sfumato solo contorno (effetto rilievo)
   - Usa pseudo-elemento e mask per non alterare padding/layout
   - Variabili: --gd-start, --gd-end, --card-radius, --card-border, --card-bg
   ------------------------------------------------------------ */
.woocommerce ul.products li.product {
    position: relative;
    border-radius: var(--card-radius, 18px);
    background: var(--card-bg, #fff);
    overflow: hidden;
    /* Ombra gaming 3D: profondità marcata con highlight interno */
    box-shadow:
        0 10px 24px rgba(0,0,0,0.22),
        0 4px 8px rgba(0,0,0,0.16),
        inset 0 2px 0 rgba(255,255,255,0.7),
        inset 0 -1px 0 rgba(0,0,0,0.05);
    transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.woocommerce ul.products li.product::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: var(--card-border, 3px); /* bordo più spesso stile gaming */
    border-radius: inherit;
    /* Gradiente gaming: rosso acceso → blu elettrico */
    background: linear-gradient(135deg, var(--gd-start, #FF5252), var(--gd-end, #2196F3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.woocommerce ul.products li.product:hover::before {
    /* Hover: colori brand Tamiya */
    background: linear-gradient(to bottom right, var(--gd-start, #E60012), var(--gd-end, #005BAC));
}

/* --- Ribbon "ESAURITO" in diagonale, angolo in alto a sinistra --- */
.woocommerce ul.products li.product.outofstock::after {
    content: "ESAURITO";
    position: absolute;
    top: 18px;
    left: -34px;
    width: 150px;
    padding: 6px 0;
    background: linear-gradient(135deg, #E60012 0%, #b71c1c 100%);
    color: #fff;
    font-family: var(--speed-font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(-45deg);
    z-index: 5;
    box-shadow: 0 3px 10px rgba(230, 0, 18, 0.35);
    pointer-events: none;
}

/* ============================================================
   IL MIO ACCOUNT - LOGIN & REGISTRAZIONE - Stili accattivanti
   ============================================================ */

/* --- Spaziatura dall'header --- */
body.woocommerce-account #content.grid {
    padding-top: 40px;
}

@media (max-width: 768px) {
    body.woocommerce-account #content.grid {
        padding-top: 28px;
    }
}

/* My Account page: full-width contenuto */
body.woocommerce-account #content.grid .col-70 {
    width: 100%;
}

/* --- Nascondi titolo pagina "Il mio account" --- */
body.woocommerce-account .entry-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .page-title,
body.woocommerce-account .woocommerce-products-header__title,
body.woocommerce-account h1.text-center {
    display: none !important;
}

/* --- Nascondi pannello reinvio email di verifica --- */
.speed-verification-help {
    display: none !important;
}

/* --- Wrapper centrato login --- */
.speed-login-wrapper,
.speed-register-wrapper {
    max-width: 520px;
    margin: 36px auto 40px;
    padding: 0 16px;
}

/* --- Card principale login/registrazione con bordo sfumato Tamiya --- */
.speed-login-card,
.speed-register-card {
    background: #fff;
    border: 3px solid transparent;
    border-radius: 16px;
    padding: 40px 36px 32px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    text-align: center;
    background-image: linear-gradient(#fff, #fff), linear-gradient(135deg, #E60012 0%, #7a2d5f 35%, #4d3d92 55%, #005BAC 100%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
}

/* Icona decorativa in alto */
.speed-login-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.speed-login-logo {
    display: block;
    height: 70px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
}

/* Titolo e sottotitolo */
.speed-login-title {
    font-size: 24px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 6px;
}

/* Registrazione: titolo sempre su una riga */
.speed-register-card .speed-login-title {
    white-space: nowrap;
    font-size: clamp(22px, 4.2vw, 34px);
}

.speed-login-subtitle {
    font-size: 14px;
    color: #9ca3af;
    margin: 0 0 28px;
}

/* --- Form styling --- */
.speed-login-form {
    text-align: left;
}

.speed-form-group {
    margin-bottom: 18px;
}

.speed-form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.speed-form-group label .required {
    color: #ef4444;
}

/* Input con icona */
.speed-input-wrap {
    position: relative;
    width: 100%;
}

.speed-input-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    pointer-events: none;
    display: flex;
    z-index: 1;
}

/* WooCommerce: icona mostra/nascondi password (non deve accorciare il campo) */
.speed-input-wrap .show-password-input {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.speed-input-wrap input {
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
    height: 48px;
    padding: 10px 14px 10px 44px;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: 16px; /* ≥16px previene zoom automatico iOS Safari */
    color: #1f2937;
    background: #ffffff;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

/* Spazio a destra per l'occhio della password */
.speed-input-wrap input[type="password"] {
    padding-right: 44px;
}

.speed-input-wrap input:focus {
    outline: none;
    border-color: #d32f2f;
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.1);
    background: #fff;
}

.speed-input-wrap input::placeholder {
    color: #c0c0c0;
}

/* 2 colonne nome/cognome */
.speed-form-row-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

@media (max-width: 480px) {
    .speed-form-row-2col {
        grid-template-columns: 1fr;
    }
}

/* Opzioni login (ricordami + password dimenticata) */
.speed-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 8px;
}

.speed-remember {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
}

.speed-remember input[type="checkbox"] {
    accent-color: #d32f2f;
    width: 16px;
    height: 16px;
}

.speed-forgot-link {
    font-size: 13px;
    color: #d32f2f;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.speed-forgot-link:hover {
    color: #b71c1c;
    text-decoration: underline;
}

/* Bottone Accedi / Registrati */
.speed-btn-login {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    background: linear-gradient(135deg, #FF5252 0%, #d32f2f 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(211, 47, 47, 0.3);
    text-transform: uppercase;
}

.speed-btn-login:hover {
    background: linear-gradient(135deg, #d32f2f 0%, #b71c1c 100%) !important;
    box-shadow: 0 6px 20px rgba(211, 47, 47, 0.4) !important;
    transform: translateY(-1px);
}

/* CTA Registrazione / Torna al login */
.speed-register-cta {
    text-align: center;
    margin-top: 24px;
    padding: 24px 0;
}

.speed-register-text {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 12px;
}

.speed-btn-register {
    display: inline-block;
    padding: 14px 40px;
    background: #005BAC;
    color: #ffffff;
    border: 2px solid #005BAC;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0, 91, 172, 0.3);
}

.speed-btn-register:hover {
    background: #004a8f;
    color: #ffffff;
    border-color: #004a8f;
    box-shadow: 0 6px 20px rgba(0, 91, 172, 0.4);
    transform: translateY(-1px);
}

/* Bottone Torna indietro al login (stile invertito) */
.speed-btn-back-login {
    background: #1f2937;
    color: #fff;
    border-color: #1f2937;
}

.speed-btn-back-login:hover {
    background: #111827;
    border-color: #111827;
    color: #fff;
}

/* Nota privacy */
.speed-privacy-note {
    font-size: 12px;
    color: #9ca3af;
    line-height: 1.5;
    margin: 16px 0 20px;
}

.speed-privacy-note a {
    color: #d32f2f;
    text-decoration: underline;
}

/* Pannello verifica nella pagina registrazione */
.speed-verification-help--register {
    margin-top: 24px;
}

/* --- Responsive login/registrazione --- */
@media (max-width: 480px) {
    .speed-login-card,
    .speed-register-card {
        padding: 28px 20px 24px;
    }
    
    .speed-login-title {
        font-size: 20px;
    }
    
    .speed-login-logo {
        height: 56px;
        max-width: 180px;
    }
}

/* Nascondi i form WooCommerce originali (login+registrazione affiancati) */
.woocommerce-account .u-columns {
    display: none !important;
}

/* --- Box aiuto verifica email (prima del login) --- */
.speed-verification-help {
    margin: 0 0 30px;
    padding: 24px;
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.speed-verification-help h3 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.speed-verification-help > p {
    margin: 0 0 16px;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.6;
}

/* Details toggle reinvio */
.speed-resend-details {
    border-top: 1px solid #e5e7eb;
    padding-top: 16px;
    margin-top: 16px;
}

.speed-resend-details summary {
    cursor: pointer;
    font-weight: 600;
    color: #2563eb;
    font-size: 14px;
    padding: 8px 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.speed-resend-details summary::-webkit-details-marker {
    display: none;
}

.speed-resend-details summary::before {
    content: "▶";
    font-size: 10px;
    transition: transform 0.2s;
}

.speed-resend-details[open] summary::before {
    transform: rotate(90deg);
}

.speed-resend-details summary:hover {
    color: #1d4ed8;
}

/* Form reinvio email */
.speed-resend-form {
    margin-top: 16px;
}

.speed-resend-form label {
    display: block;
    font-weight: 500;
    color: #374151;
    margin-bottom: 8px;
    font-size: 14px;
}

.speed-resend-form input[type="email"] {
    width: 100%;
    max-width: 360px;
    height: 44px;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 16px; /* ≥16px previene zoom automatico iOS Safari */
    transition: border-color 0.2s, box-shadow 0.2s;
}

.speed-resend-form input[type="email"]:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.speed-resend-form .button {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 20px;
    background: #2563eb;
    color: #fff !important;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}

.speed-resend-form .button:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
}

/* --- Dashboard Account (utente loggato) --- */
.speed-account-dashboard {
    padding: 0;
    max-width: 980px;
    margin: 0 auto;
}

/* Titolo pagina "Il mio account" centrato */
.woocommerce-account .entry-title,
.woocommerce-account h1,
.woocommerce-account .page-title {
    text-align: center;
}

/* ============================================================
   MY ACCOUNT — WELCOME HERO
   ============================================================ */
@keyframes speed-avatar-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(230,0,18,0.25), 0 0 0 0 rgba(0,91,172,0.15); }
    50%       { box-shadow: 0 0 0 10px rgba(230,0,18,0), 0 0 0 18px rgba(0,91,172,0); }
}

.speed-account-welcome {
    text-align: center;
    padding: 36px 20px 32px;
    margin-bottom: 32px;
    position: relative;
}
.speed-account-welcome::after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    margin: 18px auto 0;
    border-radius: 2px;
    background: linear-gradient(90deg, #E60012, #005BAC);
}

.speed-account-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    color: #fff;
    font-family: var(--speed-font-display, 'Quicksand', sans-serif);
    font-size: 28px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    animation: speed-avatar-pulse 3s ease-in-out infinite;
    letter-spacing: 1px;
}

.speed-account-welcome__name {
    margin: 0 0 8px;
    font-family: var(--speed-font-display, 'Quicksand', sans-serif);
    font-size: clamp(22px, 4vw, 30px);
    font-weight: 700;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    padding-bottom: 4px;
    line-height: 1.25;
}

.speed-account-welcome__email {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}
.speed-account-welcome__email svg { opacity: .6; flex-shrink: 0; }

/* ============================================================
   MY ACCOUNT — CARDS DASHBOARD
   ============================================================ */
@keyframes speed-card-in {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

.speed-account-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 18px;
    max-width: 720px;
    margin: 0 auto 28px;
}

.speed-account-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 20px 24px;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 16px;
    background-image:
        linear-gradient(#fff, #fff),
        linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    text-decoration: none !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.07);
    transition: transform 0.28s cubic-bezier(.34,1.56,.64,1), box-shadow 0.28s ease;
    animation: speed-card-in 0.45s ease both;
    position: relative;
    overflow: hidden;
}
.speed-account-card:nth-child(1) { animation-delay: .05s; }
.speed-account-card:nth-child(2) { animation-delay: .12s; }
.speed-account-card:nth-child(3) { animation-delay: .19s; }
.speed-account-card:nth-child(4) { animation-delay: .26s; }

/* Striscia colorata in cima alla card */
.speed-account-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #E60012, #005BAC);
    border-radius: 16px 16px 0 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}
.speed-account-card:hover::before { transform: scaleX(1); }

.speed-account-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 36px rgba(0,0,0,0.13);
}

.speed-account-card__icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    background: linear-gradient(135deg, rgba(230,0,18,.1) 0%, rgba(0,91,172,.1) 100%);
    color: #E60012;
    transition: transform 0.35s cubic-bezier(.34,1.56,.64,1), background 0.25s ease;
}
.speed-account-card:hover .speed-account-card__icon {
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    color: #fff;
    transform: scale(1.15) rotate(-6deg);
}

/* Logout: icona sempre rossa tenue */
.speed-account-card--logout .speed-account-card__icon {
    background: rgba(220,38,38,.1);
    color: #dc2626;
}
.speed-account-card--logout:hover .speed-account-card__icon {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: #fff;
    transform: scale(1.15) rotate(6deg);
}
.speed-account-card--logout {
    background-image:
        linear-gradient(#fff, #fff),
        linear-gradient(135deg, #ef4444, #b91c1c);
}
.speed-account-card--logout::before {
    background: linear-gradient(90deg, #ef4444, #b91c1c);
}

.speed-account-card__title {
    font-family: var(--speed-font-display, 'Quicksand', sans-serif);
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 5px;
    line-height: 1.2;
}

.speed-account-card__count {
    font-size: 13px;
    font-weight: 600;
    background: linear-gradient(135deg, #E60012, #005BAC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    padding-bottom: 2px;
}

.speed-account-card__desc {
    font-size: 12px;
    color: #9ca3af;
    line-height: 1.45;
    margin: 0;
}

/* Mobile: 1 colonna */
@media (max-width: 520px) {
    .speed-account-cards {
        grid-template-columns: 1fr;
        max-width: 340px;
    }
}

/* ============================================================
   MY ACCOUNT - NAVIGAZIONE ORIZZONTALE IN ALTO (SENZA SIDEBAR)
   Stile professionale con bordo sfumato gaming Tamiya
   ============================================================ */

/* Layout: rimuove la sidebar, full-width */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    float: none !important;
    margin: 0 0 32px 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
    max-width: 1100px;
    padding: 0 20px;
}

/* Dashboard senza navigazione (desktop): contenuto centrato e full-width */
.speed-myaccount-dashboard-no-nav .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

.speed-myaccount-dashboard-no-nav .woocommerce-MyAccount {
    max-width: 1100px;
    margin: 0 auto;
}

/* Container navigazione: card con bordo sfumato */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 18px 24px;
    margin: 0 auto;
    max-width: 1100px;
    border-radius: 16px;
    position: relative;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.08),
        0 1px 4px rgba(0, 0, 0, 0.04);
    /* Bordo sfumato senza artefatti angolari */
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
    z-index: 1;
}

/* Pulsanti navigazione: stile pill professionale */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    background: #f8f9fa;
    color: #4b5563;
    border-radius: 10px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.2px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #e5e7eb;
    white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: linear-gradient(135deg, rgba(230, 0, 18, 0.08), rgba(0, 91, 172, 0.08));
    color: #1f2937;
    border-color: #E60012;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(230, 0, 18, 0.12);
}

/* Voce attiva: sfumatura brand */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 14px rgba(230, 0, 18, 0.3);
    font-weight: 700;
}

/* Voce "Esci" con stile differenziato */
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a {
    background: #fff5f5;
    color: #dc2626;
    border-color: #fecaca;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a:hover {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
    box-shadow: 0 3px 10px rgba(220, 38, 38, 0.25);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active:last-child a {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}

/* --- Recupero password (WooCommerce lost password) --- */
body.woocommerce-account.woocommerce-lost-password #content.grid.grid--center .col-70 {
    min-height: calc(100vh - 180px);
    display: flex;
    align-items: center;
}

body.woocommerce-account.woocommerce-lost-password #content.grid.grid--center .col-70 > article {
    width: 100%;
}

@media (max-width: 768px) {
    body.woocommerce-account.woocommerce-lost-password #content.grid.grid--center .col-70 {
        min-height: calc(100vh - 160px);
        padding-top: 10px;
        padding-bottom: 24px;
    }
}

body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    max-width: 100%;
    margin: 0 0 20px;
    color: #374151;
    font-size: 15px;
    line-height: 1.7;
}

.woocommerce form.woocommerce-ResetPassword,
.woocommerce form.lost_reset_password {
    position: relative;
    max-width: 720px;
    margin: 0 auto 24px;
    padding: 28px 22px;
    border-radius: 16px;
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg, rgba(230, 0, 18, 0.55) 0%, rgba(0, 91, 172, 0.55) 100%) border-box;
    border: 1px solid transparent;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}

.woocommerce form.woocommerce-ResetPassword::before,
.woocommerce form.lost_reset_password::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
}

.woocommerce form.woocommerce-ResetPassword .form-row,
.woocommerce form.lost_reset_password .form-row {
    margin: 0 0 16px;
}

.woocommerce form.woocommerce-ResetPassword label,
.woocommerce form.lost_reset_password label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.woocommerce form.woocommerce-ResetPassword input[type="text"],
.woocommerce form.woocommerce-ResetPassword input[type="email"],
.woocommerce form.lost_reset_password input[type="text"],
.woocommerce form.lost_reset_password input[type="email"] {
    width: 100%;
    height: 48px;
    padding: 10px 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: 15px;
    color: #1f2937;
    background: #ffffff;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.woocommerce form.woocommerce-ResetPassword input:focus,
.woocommerce form.lost_reset_password input:focus {
    outline: none;
    border-color: #d32f2f;
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.10);
}

.woocommerce form.woocommerce-ResetPassword .woocommerce-Button,
.woocommerce form.lost_reset_password .woocommerce-Button {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    margin-top: 6px;
    background: linear-gradient(135deg, #FF5252 0%, #d32f2f 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(211, 47, 47, 0.28);
    text-transform: uppercase;
}

.woocommerce form.woocommerce-ResetPassword .woocommerce-Button:hover,
.woocommerce form.lost_reset_password .woocommerce-Button:hover {
    background: linear-gradient(135deg, #d32f2f 0%, #b71c1c 100%) !important;
    box-shadow: 0 6px 20px rgba(211, 47, 47, 0.38) !important;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
        padding: 0 6px;
    }
    .woocommerce form.woocommerce-ResetPassword,
    .woocommerce form.lost_reset_password {
        padding: 22px 16px;
    }
}

/* --- Form account (edit-account, addresses) - Stile card con bordo gaming --- */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields {
    max-width: 680px;
    margin: 0 auto;
    border-radius: 14px;
    padding: 32px;
    position: relative;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-address-fields .form-row {
    margin-bottom: 20px;
}

.woocommerce-account .woocommerce-EditAccountForm label,
.woocommerce-account .woocommerce-address-fields label {
    display: block;
    font-weight: 500;
    color: #374151;
    margin-bottom: 6px;
    font-size: 14px;
}

.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"],
.woocommerce-account .woocommerce-address-fields input[type="text"],
.woocommerce-account .woocommerce-address-fields select {
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-account .woocommerce-EditAccountForm input:focus,
.woocommerce-account .woocommerce-address-fields input:focus,
.woocommerce-account .woocommerce-address-fields select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* --- Ordini tabella - Stile gaming card --- */
.woocommerce-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    position: relative;
    /* Bordo sfumato senza artefatti angolari */
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box;
}

.woocommerce-account .woocommerce-orders-table thead th {
    background: linear-gradient(135deg, #f8f9fa 0%, #f1f3f5 100%);
    padding: 16px 20px;
    text-align: left;
    font-weight: 700;
    color: #1f2937;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e5e7eb;
}

.woocommerce-account .woocommerce-orders-table thead th:first-child {
    border-top-left-radius: 14px;
}

.woocommerce-account .woocommerce-orders-table thead th:last-child {
    border-top-right-radius: 14px;
}

.woocommerce-account .woocommerce-orders-table tbody td {
    padding: 18px 20px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    color: #374151;
    background: #fff;
}

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

.woocommerce-account .woocommerce-orders-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 14px;
}

.woocommerce-account .woocommerce-orders-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 14px;
}

.woocommerce-account .woocommerce-orders-table tbody tr:hover td {
    background: linear-gradient(135deg, rgba(230, 0, 18, 0.02), rgba(0, 91, 172, 0.02));
}

/* Numero ordine - link stilizzato */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    color: #E60012;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
    color: #005BAC;
}

/* Stato ordine badge */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    font-weight: 600;
}

/* Pulsante Azioni */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-block;
    padding: 8px 18px;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-right: 6px;
    margin-bottom: 4px;
    transition: all 0.25s;
    box-shadow: 0 2px 8px rgba(230, 0, 18, 0.2);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
    background: linear-gradient(135deg, #c5000f 0%, #004a8f 100%);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(230, 0, 18, 0.3);
}

/* ============================================================
   DETTAGLI ORDINE (view-order) - Layout pulito e moderno
   ============================================================ */

/* Info ordine in alto */
.woocommerce-account .woocommerce-order-details {
    margin-bottom: 32px;
}

.woocommerce-account .woocommerce-order-details .woocommerce-order-details__title,
.woocommerce-account .woocommerce-column__title {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 3px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(90deg, #E60012, #005BAC) border-box;
    border-image: linear-gradient(90deg, #E60012, #005BAC) 1;
    display: inline-block;
}

/* Tabella dettagli ordine */
.woocommerce-account .woocommerce-table--order-details {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    margin-bottom: 24px;
    position: relative;
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box;
}

.woocommerce-account .woocommerce-table--order-details thead th {
    background: linear-gradient(135deg, #f8f9fa 0%, #f1f3f5 100%);
    padding: 14px 20px;
    font-weight: 700;
    color: #1f2937;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.6px;
    border-bottom: 2px solid #e5e7eb;
}

.woocommerce-account .woocommerce-table--order-details tbody td,
.woocommerce-account .woocommerce-table--order-details tfoot td,
.woocommerce-account .woocommerce-table--order-details tfoot th {
    padding: 14px 20px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    color: #374151;
    font-size: 14px;
}

.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th {
    border-bottom: none;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 16px;
}

/* Link prodotto nella tabella */
.woocommerce-account .woocommerce-table--order-details td a {
    color: #005BAC;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.woocommerce-account .woocommerce-table--order-details td a:hover {
    color: #E60012;
}

/* Nasconde il pulsante "Ordina di nuovo" */
.woocommerce-account .order-again {
    display: none !important;
}

/* ============================================================
   INDIRIZZI (fatturazione/spedizione) - View Order + My Account
   Layout professionale, simmetrico e stabile
   ============================================================ */

/* Griglia contenitore indirizzi (copre entrambe le pagine) */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.woocommerce-Addresses,
.woocommerce-account .u-columns.woocommerce-Addresses.col2-set.addresses,
.woocommerce-account .woocommerce-Addresses.col2-set.addresses,
.woocommerce-account .addresses.col2-set,
.woocommerce-account .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px;
    margin-top: 36px;
    width: 100% !important;
    align-items: stretch;
    grid-auto-rows: 1fr;
}

/* Reset wrapper framework (.col-1/.col-2) che rompe allineamenti */
.woocommerce-account .woocommerce-Addresses .col-1:not(.woocommerce-Address),
.woocommerce-account .woocommerce-Addresses .col-2:not(.woocommerce-Address),
.woocommerce-account .addresses.col2-set .col-1:not(.woocommerce-Address),
.woocommerce-account .addresses.col2-set .col-2:not(.woocommerce-Address),
.woocommerce-account .woocommerce-columns--addresses .col-1:not(.woocommerce-Address),
.woocommerce-account .woocommerce-columns--addresses .col-2:not(.woocommerce-Address) {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Card indirizzo complete (non header separato) */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .addresses.col2-set .woocommerce-Address,
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column {
    border-radius: 14px;
    padding: 24px 26px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100% !important;
    overflow: hidden;
    box-sizing: border-box;
    align-self: stretch;
}

/* Header card (titolo + link modifica) */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
.woocommerce-account .addresses.col2-set .woocommerce-Address-title,
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column__title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 16px 0 !important;
    padding: 0 0 10px;
    border-bottom: 2px solid transparent;
    border-image: linear-gradient(90deg, #E60012, #005BAC) 1;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3,
.woocommerce-account .addresses.col2-set .woocommerce-Address-title h2,
.woocommerce-account .addresses.col2-set .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column__title {
    margin: 0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.25;
    color: #1a1a1a;
    word-break: break-word;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit,
.woocommerce-account .addresses.col2-set .woocommerce-Address-title .edit {
    margin: 2px 0 0;
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #E60012;
    text-decoration: none;
    white-space: nowrap;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit:hover,
.woocommerce-account .addresses.col2-set .woocommerce-Address-title .edit:hover {
    color: #005BAC;
}

/* Corpo indirizzo */
.woocommerce-account .woocommerce-Addresses address,
.woocommerce-account .addresses.col2-set address,
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column address {
    margin: 0;
    padding: 6px 0 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    font-style: normal;
    font-size: 15px;
    line-height: 1.75;
    color: #4b5563;
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.woocommerce-account .woocommerce-Addresses address p,
.woocommerce-account .addresses.col2-set address p,
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column address p {
    margin: 0 0 8px;
}

@media (max-width: 900px) {
    .woocommerce-account .woocommerce-Addresses,
    .woocommerce-account .u-columns.woocommerce-Addresses,
    .woocommerce-account .u-columns.woocommerce-Addresses.col2-set.addresses,
    .woocommerce-account .woocommerce-Addresses.col2-set.addresses,
    .woocommerce-account .addresses.col2-set,
    .woocommerce-account .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    .woocommerce-account .addresses.col2-set .woocommerce-Address,
    .woocommerce-account .woocommerce-columns--addresses .woocommerce-column {
        min-height: auto;
    }
}

/* Info stato ordine in alto */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-account .woocommerce-MyAccount-content > mark {
    max-width: 100%;
    margin: 0 0 24px;
    color: #374151;
    font-size: 15px;
    line-height: 1.7;
}

.woocommerce-account .woocommerce-MyAccount-content mark {
    background: linear-gradient(135deg, rgba(230, 0, 18, 0.1), rgba(0, 91, 172, 0.1));
    padding: 2px 8px;
    border-radius: 4px;
    color: #1a1a1a;
    font-weight: 600;
}

/* Woocommerce Notices (messaggi di successo/errore/info) */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    border-radius: 10px;
    border-left: 4px solid #005BAC;
    background: #f0f7ff;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #1f2937;
}

.woocommerce-account .woocommerce-error {
    border-radius: 10px;
    border-left: 4px solid #E60012;
    background: #fff5f5;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #1f2937;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .speed-account-cards {
        grid-template-columns: 1fr;
    }

    .speed-account-dashboard {
        max-width: 600px;
        padding: 0 14px;
    }
    
    .speed-account-welcome h2 {
        font-size: 22px;
    }
    
    /* Navigazione: resta orizzontale, scrollabile */
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        gap: 8px;
        padding: 14px 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 8px 16px;
        font-size: 13px;
    }
    
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 0 12px !important;
    }
    
    .woocommerce-account .woocommerce-orders-table {
        display: block;
        overflow-x: auto;
    }
    
    .woocommerce-account .woocommerce-columns--addresses,
    .woocommerce-account .col2-set,
    .woocommerce .col2-set {
        grid-template-columns: 1fr !important;
    }
}

/* Hover: effetto lift gaming con ombra più intensa */
.woocommerce ul.products li.product:hover {
    box-shadow:
        0 20px 40px rgba(0,0,0,0.28),
        0 8px 16px rgba(0,0,0,0.20),
        inset 0 2px 0 rgba(255,255,255,0.8),
        inset 0 -1px 0 rgba(0,0,0,0.08);
    transform: translateY(-6px) scale(1.02);
}

/* Esempio di tema colore personalizzabile: applicare su un wrapper
   .shop-gradient-soft { --gd-start:#FFE29F; --gd-end:#FFA99F; }
*/

/* Fallback per browser senza supporto a mask-composite */
@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
    .woocommerce ul.products li.product {
        border: 2px solid transparent;
        background:
            linear-gradient(var(--card-bg, #fff), var(--card-bg, #fff)) padding-box,
            linear-gradient(to bottom right, var(--gd-start, #FF4A4A), var(--gd-end, #1E90FF)) border-box;
    }
    .woocommerce ul.products li.product:hover {
        background:
            linear-gradient(var(--card-bg, #fff), var(--card-bg, #fff)) padding-box,
            linear-gradient(to bottom right, var(--gd-start, #E60012), var(--gd-end, #005BAC)) border-box;
    }
    .woocommerce ul.products li.product::before { display: none; }
}

/* ------------------------------------------------------------
     SHOP LAYOUT - Struttura pulita e lineare
     Header -> Sidebar | Prodotti -> Footer
     Separatori sfumati uniformi
     ------------------------------------------------------------ */

/* Container principale: no padding, attaccato all'header */
.shop-layout { 
    width: 100%; 
    background: #fff;
    margin: 0;
    padding: 0;
}

/* Griglia a 2 colonne: Sidebar | Prodotti */
.shop-grid { 
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 0;
    width: 100%;
    min-height: calc(100vh - var(--header-height, 100px));
    background: #fff;
    align-items: start;
    position: relative;
}

/* Linea verticale sfumata — top negativo si estende dietro l'header (coperta dal suo z-index 1000) */
.shop-grid::before {
    content: '';
    position: absolute;
    top: -50px;
    bottom: 0;
    left: 260px;
    width: 2px;
    background: linear-gradient(to bottom, #333 0%, #333 calc(100% - 60px), #bbb 100%);
    z-index: 2;
    pointer-events: none;
}

/* SIDEBAR - Colonna sinistra */
.shop-col--sidebar { 
    position: relative;
    background: #fff;
    padding: 0 0 40px 0;
    border-right: none;
}

/* Desktop/Tablet: categorie sticky a sinistra, con scroll interno se troppo lunghe */
@media (min-width: 993px) {
    .shop-col--sidebar {
        position: sticky;
        top: var(--header-height, 100px);
        height: calc(100dvh - var(--header-height, 100px));
        overflow-y: auto;
        overflow-x: hidden;
        align-self: start;
    }
}

/* Contenuto interno sidebar */
.shop-sidebar-inner { 
    background: transparent;
    padding: 0;
}

/* Titolo sidebar */
.shop-sidebar-title { 
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    padding: 16px 18px;
    text-align: center;
    letter-spacing: 0.5px;
    border-bottom: none;
    background: linear-gradient(90deg, #E60012 0%, #005BAC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 6px rgba(255,255,255,0.8)) drop-shadow(0 0 14px rgba(255,255,255,0.4));
}

/* PRODOTTI - Colonna destra */
.shop-col--products { 
    min-width: 0;
    background: #fff;
    padding: 28px 24px 60px 32px;
}

.shop-col--products .woocommerce ul.products { 
    margin-top: 10px; 
}

/* Scheda prodotto singolo */
.woocommerce.single-product .shop-layout,
.woocommerce-page.single-product .shop-layout {
    padding-top: 28px;
}

/* SKU + logo marchio sulla scheda prodotto singolo */
.speed-single-sku-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
}

.speed-single-sku-logo {
    max-height: 2em;
    height: auto;
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle;
}

.speed-single-sku-code {
    font-size: 14px;
    font-weight: 700;
    color: #111;
}

/* Mobile: il prodotto singolo ora usa shop-grid con sidebar (stessi stili della shop) */

/* ---------------------------------------------------------------
   VECCHIA barra navigazione shop su pagina prodotto singolo (deprecata)
   Ora il singolo prodotto usa shop-grid con sidebar come la shop page.
   --------------------------------------------------------------- */

/* (shop-mobile-nav-single rimosso: il singolo prodotto usa ora shop-grid con sidebar) */

/* Layout full-width per pagine non-shop */
.shop-grid-full {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px 60px;
    box-sizing: border-box;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .shop-layout { padding-top: 20px; }
    
    .shop-grid { 
        grid-template-columns: 100%;
        gap: 0;
        min-height: auto;
    }
    
    /* Nasconde la sidebar normale su tablet/mobile - usa il pannello dropdown */
    .shop-col--sidebar { 
        order: 1;
        padding: 0 !important;
        margin: 0 !important;
        height: 0 !important;
        overflow: visible !important;
        border-right: none !important;
    }
    .shop-col--sidebar::after {
        display: none !important;
    }
    .shop-grid::before {
        display: none !important;
    }
    
    /* Nasconde il contenuto interno della sidebar (le categorie in lista) */
    .shop-col--sidebar .shop-sidebar-inner {
        display: none !important;
    }
    
    .shop-col--products { 
        order: 2;
        padding: 20px;
    }
}

@media (max-width: 600px) {
    .shop-layout { padding-top: 16px; }
    .shop-col--sidebar,
    .shop-col--products { padding: 16px; }
    .shop-grid-full { padding: 0 16px 32px; }
}

/* Reset vecchie classi conflittuali */
.shop-sidebar, .shop-content { 
    margin: 0; 
    padding: 0; 
    position: static; 
    width: auto; 
    height: auto; 
    border: none; 
}

/* ------------------------------------------------------------
   Sidebar categorie: sostituisce i pallini con l'icona saetta
   Funziona con la nuova struttura shop-sidebar-inner
   ------------------------------------------------------------ */
.shop-sidebar ul.product-categories,
.shop-sidebar .widget_product_categories ul,
.shop-sidebar-inner ul.product-categories,
.shop-sidebar-inner .widget_product_categories ul,
.shop-col--sidebar ul.product-categories,
.shop-col--sidebar .widget_product_categories ul {
    list-style: none !important;
    margin: 0;
    padding: 14px 18px 0;
}

.shop-sidebar ul.product-categories li,
.shop-sidebar .widget_product_categories ul li,
.shop-sidebar-inner ul.product-categories li,
.shop-sidebar-inner .widget_product_categories ul li,
.shop-col--sidebar ul.product-categories li,
.shop-col--sidebar .widget_product_categories ul li {
    position: relative;
    padding-left: 16px;
    line-height: 1.5;
    margin-bottom: 6px;
    white-space: nowrap;
}

/* Stile link categorie */
.shop-sidebar ul.product-categories li a,
.shop-sidebar .widget_product_categories ul li a,
.shop-sidebar-inner ul.product-categories li a,
.shop-sidebar-inner .widget_product_categories ul li a,
.shop-col--sidebar ul.product-categories li a,
.shop-col--sidebar .widget_product_categories ul li a {
    color: #c53030;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s ease, padding-left 0.2s ease;
    display: inline-block;
}

.shop-sidebar ul.product-categories li a:hover,
.shop-sidebar .widget_product_categories ul li a:hover,
.shop-sidebar-inner ul.product-categories li a:hover,
.shop-sidebar-inner .widget_product_categories ul li a:hover,
.shop-col--sidebar ul.product-categories li a:hover,
.shop-col--sidebar .widget_product_categories ul li a:hover {
    color: #a02020;
    padding-left: 4px;
}

.shop-sidebar ul.product-categories li.current-cat > a,
.shop-sidebar ul.product-categories li.current-cat-parent > a,
.shop-sidebar .widget_product_categories ul li.current-cat > a,
.shop-sidebar .widget_product_categories ul li.current-cat-parent > a,
.shop-sidebar-inner ul.product-categories li.current-cat > a,
.shop-sidebar-inner ul.product-categories li.current-cat-parent > a,
.shop-sidebar-inner .widget_product_categories ul li.current-cat > a,
.shop-sidebar-inner .widget_product_categories ul li.current-cat-parent > a,
.shop-col--sidebar ul.product-categories li.current-cat > a,
.shop-col--sidebar ul.product-categories li.current-cat-parent > a,
.shop-col--sidebar .widget_product_categories ul li.current-cat > a,
.shop-col--sidebar .widget_product_categories ul li.current-cat-parent > a {
    color: #a02020;
    font-weight: 700;
    background: linear-gradient(90deg, rgba(234,67,67,0.18) 0%, rgba(234,67,67,0) 80%);
    border-radius: 6px;
    padding-left: 4px;
}

.shop-sidebar ul.product-categories li.current-cat::before,
.shop-sidebar ul.product-categories li.current-cat-parent::before,
.shop-sidebar .widget_product_categories ul li.current-cat::before,
.shop-sidebar .widget_product_categories ul li.current-cat-parent::before,
.shop-sidebar-inner ul.product-categories li.current-cat::before,
.shop-sidebar-inner ul.product-categories li.current-cat-parent::before,
.shop-sidebar-inner .widget_product_categories ul li.current-cat::before,
.shop-sidebar-inner .widget_product_categories ul li.current-cat-parent::before,
.shop-col--sidebar ul.product-categories li.current-cat::before,
.shop-col--sidebar ul.product-categories li.current-cat-parent::before,
.shop-col--sidebar .widget_product_categories ul li.current-cat::before,
.shop-col--sidebar .widget_product_categories ul li.current-cat-parent::before {
    opacity: 1;
}

.shop-sidebar ul.product-categories li::before,
.shop-sidebar .widget_product_categories ul li::before,
.shop-sidebar-inner ul.product-categories li::before,
.shop-sidebar-inner .widget_product_categories ul li::before,
.shop-col--sidebar ul.product-categories li::before,
.shop-col--sidebar .widget_product_categories ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background: url('../img/saetta_rossa.png') no-repeat center center;
    background-size: contain;
    opacity: 0.95; /* leggero softening */
}

/* ------------------------------------------------------------
     Pannello categorie (Shop): stile tipo "menu" come reference
     - Link a piena larghezza
     - Categoria attiva con sfumatura rosso -> blu (Tamiya)
     ------------------------------------------------------------ */

/* Desktop sidebar + pannello mobile: stessa tipografia e spacing */
.shop-sidebar-inner ul.product-categories,
#shop-cat-panel ul.product-categories {
    margin: 0;
    padding: 0;
}

/* Rimuove l'icona saetta e l'indentazione vecchia */
.shop-sidebar-inner ul.product-categories li,
#shop-cat-panel ul.product-categories li {
    padding-left: 0;
    margin-bottom: 6px;
}

.shop-sidebar-inner ul.product-categories li::before,
#shop-cat-panel ul.product-categories li::before {
    display: none !important;
    content: none !important;
}

/* Link: stile full-width senza angoli rotondi (solo desktop sidebar) */
.shop-sidebar-inner ul.product-categories li > a {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.shop-sidebar-inner ul.product-categories li > a:hover {
    background: rgba(0,0,0,0.04);
}

/* Attivo: sfumatura brand Tamiya (solo desktop sidebar) */
.shop-sidebar-inner ul.product-categories li.current-cat > a,
.shop-sidebar-inner ul.product-categories li.current-cat-parent > a {
    background: linear-gradient(90deg, #E60012 0%, #005BAC 100%);
    color: #fff;
}

/* Evita che i contatori (mark) rovinino il pill */
.shop-sidebar-inner ul.product-categories li > a .count,
#shop-cat-panel ul.product-categories li > a .count {
    float: right;
    opacity: 0.85;
}

/* Sotto-categorie: mantieni l'indentazione coerente */
.shop-sidebar ul.product-categories ul.children,
.shop-sidebar .widget_product_categories ul.children,
.shop-sidebar-inner ul.product-categories ul.children,
.shop-sidebar-inner .widget_product_categories ul.children,
.shop-col--sidebar ul.product-categories ul.children,
.shop-col--sidebar .widget_product_categories ul.children {
    margin-left: 8px;
    list-style: none;
    padding-left: 0;
}

/* Widget nella sidebar - titoli e spaziatura */
.shop-col--sidebar .widget,
.shop-sidebar-inner .widget {
    margin-bottom: 25px;
}

.shop-col--sidebar .widget:last-child,
.shop-sidebar-inner .widget:last-child {
    margin-bottom: 0;
}

.shop-col--sidebar .widget h3,
.shop-col--sidebar .widget .widget-title,
.shop-sidebar-inner .widget h3,
.shop-sidebar-inner .widget .widget-title {
    font-size: 16px;
    font-weight: 700;
    color: #222;
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
    letter-spacing: 0.2px;
}

/* ------------------------------------------------------------
     WooCommerce: Spaziature + responsive grid (4 -> 3 -> 2)
     - Normalizza i vecchi float/width Woo
     - Evita margini enormi e posizionamenti assoluti (prezzo)
     ------------------------------------------------------------ */

/* Wrapper full-width usato da `woocommerce.php` per pagine non-shop (es. scheda prodotto) */
.shop-grid-full {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px 60px;
    box-sizing: border-box;
}

/* Scheda prodotto: non usa più shop-grid-full */

@media (max-width: 900px) {
    .shop-grid-full { padding: 0 20px 40px; }
}

@media (max-width: 600px) {
    .shop-grid-full { padding: 0 16px 32px; }
}

/* OTTIMIZZAZIONE SPAZIO MOBILE/TABLET (HEADER -> CATEGORIE -> TITOLO) */
@media (max-width: 992px) {
    /* Rimuove padding extra dal container principale */
    .shop-layout { padding-top: 0 !important; }
    
    /* La sidebar è vuota (contiene elementi fixed), quindi rimuoviamo lo spazio che occupa nel flusso */
    .shop-col--sidebar { 
        padding: 0 !important; 
        margin: 0 !important;
        height: 0 !important;
        overflow: visible !important;
    }
    
    /* Padding minimo: spazio per barre fixed (categorie + filtri) */
    .shop-col--products { 
        padding-top: calc(30px + var(--shop-cat-bar-height, 50px) + var(--shop-filters-height, 46px)) !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    /* Riduci margine del titolo */
    .shop-col--products .woocommerce-products-header {
        margin-bottom: 12px !important;
        margin-top: 0 !important;
    }
    
    /* Titolo più compatto */
    .shop-col--products .woocommerce-products-header__title,
    .shop-col--products .page-title {
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
    }
}

/* Mobile/Tablet shop/category: barra categorie e filtri separati dal single product */
@media (max-width: 992px) {
    :root { --shop-cat-bar-height: 50px; --shop-filters-height: 46px; }

    .shop-mobile-cat-bar {
        display: block;
        position: fixed;
        top: var(--header-height, 100px);
        left: 0;
        right: 0;
        z-index: 2000;
        background: #fff;
        padding: 6px 12px;
        border-bottom: none;
        box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    }

    /* Stile Button Toggle: gradiente brand */
    .shop-cat-toggle {
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
        border: none;
        border-radius: 10px;
        padding: 10px 24px;
        font-size: 14px;
        font-weight: 700;
        color: #fff;
        cursor: pointer;
        transition: all 0.25s ease;
        box-shadow: 0 4px 12px rgba(0,91,172,0.18);
        outline: none;
        letter-spacing: 0.3px;
    }

    .shop-cat-toggle:hover,
    .shop-cat-toggle:focus { 
        filter: brightness(1.1);
        box-shadow: 0 6px 16px rgba(0,91,172,0.25);
        transform: translateY(-1px);
    }
    
    .shop-cat-toggle:active {
        transform: translateY(0);
        filter: brightness(0.95);
    }
    
    .shop-cat-toggle[aria-expanded="true"] { 
        filter: brightness(1.05);
    }

    /* Freccia Toggle (Caret) bianca */
    .shop-cat-toggle .caret {
        position: absolute;
        right: 20px;
        width: 8px; 
        height: 8px; 
        border: 2px solid #fff; 
        border-top: none; 
        border-left: none;
        transform: rotate(45deg); 
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        margin-top: -2px;
    }
    
    .shop-cat-toggle[aria-expanded="true"] .caret { 
        transform: rotate(-135deg); 
        margin-top: 2px;
    }

    /* Pannello categorie: si apre sotto la barra filtri */
    #shop-cat-panel {
        position: fixed;
        top: calc(var(--header-height, 100px) + var(--shop-cat-bar-height, 50px) + var(--shop-filters-height, 46px));
        left: 0;
        right: 0;
        z-index: 1999;
        background: #fff;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
        border-bottom: 1px solid #e4e4e4;
        -webkit-overflow-scrolling: touch;
        padding: 0 12px 12px; /* aggiunto padding-bottom proporzionale ai margini laterali */
        /* Ombra interna per stacco dal bottone quando si apre */
        box-shadow: inset 0 6px 10px -8px rgba(0,0,0,0.1); 
    }

    #shop-cat-panel.open {
        max-height: calc(100dvh - var(--header-height, 100px) - var(--shop-cat-bar-height, 50px) - var(--shop-filters-height, 46px));
        opacity: 1;
        overflow-y: auto;
    }
    
    /* Nascondi il titolo "Categorie" dentro il pannello mobile */
    #shop-cat-panel .shop-sidebar-title,
    #shop-cat-panel .widget-title,
    #shop-cat-panel .widget h3,
    #shop-cat-panel .shop-sidebar-inner > h3:first-child {
        display: none !important;
    }
    
    /* Pannello interno — sovrascrive il display:none della sidebar */
    #shop-cat-panel .shop-sidebar-inner {
        display: block !important;
        padding: 0;
    }
    
    #shop-cat-panel .widget {
        margin: 0;
        padding: 0;
    }
    
    /* Griglia categorie mobile - tutti i pulsanti stessa altezza con grid-auto-rows */
    #shop-cat-panel ul.product-categories {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 1fr; /* tutte le righe hanno la stessa altezza */
        gap: 10px;
        list-style: none;
        margin: 0;
        padding: 12px 0 0;
    }
    
    /* li: semplice contenitore flex, nessuno stile decorativo */
    #shop-cat-panel ul.product-categories li {
        display: flex !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        transition: transform 0.2s ease;
    }

    #shop-cat-panel ul.product-categories li:hover {
        transform: translateY(-1px);
    }

    #shop-cat-panel ul.product-categories li::before,
    #shop-cat-panel ul.product-categories li::after {
        display: none !important;
        content: none !important;
    }

    /* Link: bordo sfumato tramite background dual-layer (padding-box + border-box) */
    #shop-cat-panel ul.product-categories li > a {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px !important;
        background:
            linear-gradient(#f9f9f9, #f9f9f9) padding-box,
            linear-gradient(135deg, #E60012 0%, #7a2d5f 50%, #005BAC 100%) border-box !important;
        border: 2px solid transparent !important;
        border-radius: 22px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #1a1a1a !important;
        text-decoration: none !important;
        text-align: center !important;
        line-height: 1.35 !important;
        box-shadow: none !important;
        transition: all 0.2s ease;
    }

    /* Hover: sfondo bianco + testo rosso */
    #shop-cat-panel ul.product-categories li > a:hover {
        background:
            linear-gradient(#fff, #fff) padding-box,
            linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box !important;
        color: #E60012 !important;
    }

    /* Categoria attiva: il li fa da clip con overflow:hidden, niente angoli bianchi */
    #shop-cat-panel ul.product-categories li.current-cat,
    #shop-cat-panel ul.product-categories li.current-cat-parent {
        border-radius: 22px !important;
        overflow: hidden !important;
    }

    #shop-cat-panel ul.product-categories li.current-cat > a,
    #shop-cat-panel ul.product-categories li.current-cat-parent > a {
        background: linear-gradient(135deg, #E60012 0%, #7a2d5f 50%, #005BAC 100%) !important;
        border: none !important;
        border-radius: 0 !important; /* il clip arrotondato è gestito dal li */
        padding: 12px 10px !important;
        color: #fff !important;
    }
    
    /* Nascondi contatori e sottocategorie su mobile */
    #shop-cat-panel ul.product-categories li > a .count,
    #shop-cat-panel ul.product-categories ul.children {
        display: none !important;
    }

    /* (padding-top per barre sticky gestito sopra) */

    /* --- Filtri (ricerca + ordinamento) sticky sotto la barra categorie --- */
    .shop-filters-wrapper{
        position: fixed !important;
        top: calc(var(--header-height, 100px) + var(--shop-cat-bar-height, 54px)) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1999 !important;
        background: #fff !important;
        margin: 0 !important;
        padding: 6px 12px !important;
        border-bottom: 1px solid #f0f0f0 !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Ricerca: compatta, flessibile */
    .shop-filters-wrapper .product-search-form{
        flex: 1 !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    .shop-filters-wrapper .product-search-form .search-field{
        height: 34px !important;
        font-size: 13px !important;
        padding: 0 32px 0 10px !important;
        border: 1.5px solid #ddd !important;
        border-radius: 8px !important;
        background: #f9f9f9 !important;
    }
    .shop-filters-wrapper .product-search-form .search-field:focus{
        border-color: #005BAC !important;
        background: #fff !important;
        box-shadow: 0 0 0 2px rgba(0,91,172,0.12) !important;
    }
    .shop-filters-wrapper .product-search-form .search-submit{
        height: 34px !important;
        width: 34px !important;
        border-radius: 0 8px 8px 0 !important;
        background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
        border: none !important;
    }
    .shop-filters-wrapper .product-search-form .search-submit .search-icon,
    .shop-filters-wrapper .product-search-form .search-submit svg{
        filter: brightness(0) invert(1) !important;
    }

    /* Ordinamento: stessa larghezza della ricerca */
    .shop-filters-wrapper .woocommerce-ordering{
        flex: 1 !important;
        display: flex !important;
        margin: 0 !important;
    }
    .shop-filters-wrapper .woocommerce-ordering select{
        width: 100% !important;
        height: 34px !important;
        font-size: 12px !important;
        padding: 0 28px 0 10px !important;
        border: 1.5px solid #ddd !important;
        border-radius: 8px !important;
        background-color: #f9f9f9 !important;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005BAC' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
        background-repeat: no-repeat !important;
        background-position: right 8px center !important;
        background-size: 14px !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }
    .shop-filters-wrapper .woocommerce-ordering select:focus{
        border-color: #005BAC !important;
        background-color: #fff !important;
        box-shadow: 0 0 0 2px rgba(0,91,172,0.12) !important;
    }

    /* Nasconde pseudo-elemento freccia duplicato */
    .shop-filters-wrapper .woocommerce-ordering::before{
        display: none !important;
    }
    .shop-filters-wrapper .product-search-form .search-wrapper{
        align-items: stretch;
    }
}

/* Product loop: usa CSS Grid al posto dei float */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin: 0;
    padding: 8px;
    list-style: none;
}

/* Woo/Framework clearfix: con CSS Grid diventa una "card" vuota */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    content: none !important;
    display: none !important;
}

/* Tablet: 2 colonne */
@media (max-width: 1200px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }
}

/* Mobile: 1 colonna stile social feed */
@media (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 12px;
    }
}

/* Reset regole Woo (float/width/margini) che creano spazi sbagliati */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Impaginazione interna card: spacing gaming con più respiro */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    height: auto;
    display: block;
}

.woocommerce ul.products li.product .price {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    margin-top: 8px;
    text-align: center;
}

.woocommerce ul.products li.product a.button {
    width: 100%;
    max-width: 240px;
    margin: 12px auto 0;
    color: #fff !important;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 800;
    letter-spacing: 0.4px;
    box-shadow: 0 6px 16px rgba(0,91,172,0.18);
    transition: filter 0.25s, box-shadow 0.25s, transform 0.25s;
}
.woocommerce ul.products li.product a.button:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
    filter: brightness(1.12);
    box-shadow: 0 10px 24px rgba(0,91,172,0.28);
    transform: translateY(-1px);
}

/* La barra ricerca + ordinamento della scheda prodotto usa lo stesso markup
   e le stesse regole di shop e categorie (.shop-filters-wrapper): vedi
   speed_render_shop_filters() in inc/woocommerce-hooks.php. */

/* Scheda prodotto: base pulita e prevedibile */
.woocommerce.single-product .product_title,
.woocommerce-page.single-product .product_title {
    margin: 0;
    font-size: clamp(24px, 2.8vw, 40px);
    line-height: 1.18;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    background: linear-gradient(135deg, #E60012 0%, #b8003e 35%, #6a1b9a 60%, #005BAC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 8px rgba(230, 0, 18, 0.18)) drop-shadow(0 2px 8px rgba(0, 91, 172, 0.14));
    font-weight: 800;
    letter-spacing: -0.5px;
    text-align: center;
    padding: 0 10px;
}

.woocommerce.single-product div.product div.summary,
.woocommerce-page.single-product div.product div.summary {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-bottom: 20px;
}

.woocommerce.single-product div.product .summary form.cart,
.woocommerce-page.single-product div.product .summary form.cart,
.woocommerce.single-product div.product .summary .woocommerce-variation-add-to-cart,
.woocommerce-page.single-product div.product .summary .woocommerce-variation-add-to-cart {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.woocommerce.single-product div.product .summary .price,
.woocommerce-page.single-product div.product .summary .price,
.woocommerce.single-product .summary .stock,
.woocommerce-page.single-product .summary .stock {
    margin: 0;
    display: inline-flex;
    align-items: center;
}

.woocommerce.single-product div.product .summary .ppc-button-wrapper,
.woocommerce.single-product div.product .summary .woocommerce-ppcp-button,
.woocommerce.single-product div.product .summary .woocommerce-paypal-payments-button,
.woocommerce.single-product div.product .summary .paypal-buttons,
.woocommerce-page.single-product div.product .summary .ppc-button-wrapper,
.woocommerce-page.single-product div.product .summary .woocommerce-ppcp-button,
.woocommerce-page.single-product div.product .summary .woocommerce-paypal-payments-button,
.woocommerce-page.single-product div.product .summary .paypal-buttons {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.woocommerce.single-product div.product .product_meta,
.woocommerce.single-product div.product .summary .product_meta,
.woocommerce-page.single-product div.product .product_meta,
.woocommerce-page.single-product div.product .summary .product_meta,
.woocommerce.single-product .sku_wrapper,
.woocommerce.single-product .posted_in,
.woocommerce.single-product .tagged_as,
.woocommerce-page.single-product .sku_wrapper,
.woocommerce-page.single-product .posted_in,
.woocommerce-page.single-product .tagged_as {
    display: none !important;
}

.woocommerce.single-product .woocommerce-product-gallery,
.woocommerce-page.single-product .woocommerce-product-gallery {
    width: 100%;
    max-width: 100%;
    position: relative;
}

.woocommerce.single-product .woocommerce-product-gallery__wrapper,
.woocommerce-page.single-product .woocommerce-product-gallery__wrapper,
.woocommerce.single-product .woocommerce-product-gallery__image,
.woocommerce-page.single-product .woocommerce-product-gallery__image {
    width: 100%;
}

.woocommerce.single-product .woocommerce-product-gallery__image img,
.woocommerce-page.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    transform: none !important;
    transition: none !important;
}

.woocommerce.single-product .woocommerce-product-gallery__image:hover img,
.woocommerce-page.single-product .woocommerce-product-gallery__image:hover img {
    transform: none !important;
}

.woocommerce.single-product a.woocommerce-product-gallery__trigger,
.woocommerce-page.single-product a.woocommerce-product-gallery__trigger {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 20;
}

.pswp__button--close {
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
}

@media (min-width: 1024px) {
    .woocommerce.single-product div.product,
    .woocommerce-page.single-product div.product {
        display: block;
        width: 100%;
    }

    /* Gallery nativa nascosta: ora è dentro la Scheda Tecnica */
    .woocommerce.single-product div.product > div.images,
    .woocommerce-page.single-product div.product > div.images {
        display: none !important;
    }

    .woocommerce.single-product div.product > .woocommerce-tabs,
    .woocommerce-page.single-product div.product > .woocommerce-tabs,
    .woocommerce.single-product div.product .woocommerce-tabs,
    .woocommerce.single-product div.product .wc-tabs-wrapper,
    .woocommerce-page.single-product div.product .woocommerce-tabs,
    .woocommerce-page.single-product div.product .wc-tabs-wrapper {
        clear: both;
        margin-top: 20px;
    }
}

@media (max-width: 767px) {
    .woocommerce.single-product .product_title,
    .woocommerce-page.single-product .product_title {
        font-size: 22px !important;
        line-height: 1.25 !important;
        padding: 6px 12px 0 !important;
        margin-top: 8px !important;
        margin-bottom: 0 !important;
        border-bottom: 3px solid transparent;
        border-image: linear-gradient(90deg, #E60012 0%, #6a1b9a 50%, #005BAC 100%) 1;
    }
}

/* Titoli sezioni (es. Prodotti correlati): centrato */
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce-page .related.products > h2,
.woocommerce-page .upsells.products > h2 {
    margin: 0 0 24px;
    font-size: clamp(22px, 3.5vw, 34px);
    line-height: 1.15;
    text-align: center;
    font-weight: 700;
    color: #1a1a1a;
}

.woocommerce .related,
.woocommerce .upsells,
.woocommerce-page .related,
.woocommerce-page .upsells {
    margin-top: 60px;
    margin-bottom: 40px;
    position: relative;
    max-width: 100%;
    width: 100%;
    padding: 0;
    overflow: hidden; /* Nasconde le card fuori dal viewport */
}

@media (max-width: 768px) {
    .woocommerce .related,
    .woocommerce .upsells,
    .woocommerce-page .related,
    .woocommerce-page .upsells {
        margin-top: 40px;
        margin-bottom: 30px;
    }
}

/* --- Carosello prodotti correlati --- */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products,
.woocommerce-page .related ul.products,
.woocommerce-page .upsells ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory; /* Snap alle card */
    gap: 28px;
    padding: 20px 60px 50px; /* Padding laterale per frecce, bottom per ombre */
    margin: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.woocommerce .related ul.products::-webkit-scrollbar,
.woocommerce .upsells ul.products::-webkit-scrollbar,
.woocommerce-page .related ul.products::-webkit-scrollbar,
.woocommerce-page .upsells ul.products::-webkit-scrollbar {
    display: none;
}

.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product,
.woocommerce-page .related ul.products li.product,
.woocommerce-page .upsells ul.products li.product {
    flex: 0 0 300px;
    max-width: 300px;
    width: 300px;
    margin: 0 !important;
    scroll-snap-align: start; /* Allinea sempre al bordo */
}

@media (max-width: 900px) {
    .woocommerce .related ul.products li.product,
    .woocommerce .upsells ul.products li.product {
        flex: 0 0 260px;
        max-width: 260px;
        width: 260px;
    }
    .woocommerce .related ul.products,
    .woocommerce .upsells ul.products {
        padding: 16px 50px 40px;
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .woocommerce .related ul.products li.product,
    .woocommerce .upsells ul.products li.product {
        flex: 0 0 220px;
        max-width: 220px;
        width: 220px;
    }
    .woocommerce .related ul.products,
    .woocommerce .upsells ul.products {
        padding: 12px 44px 36px;
        gap: 16px;
    }
}

/* Frecce carosello */
.speed-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 30;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    transition: all 0.2s ease;
    opacity: 1;
}

.speed-carousel-arrow[disabled],
.speed-carousel-arrow.is-disabled {
    opacity: 0.25;
    filter: grayscale(100%);
    cursor: default;
    box-shadow: none;
    pointer-events: none;
}

.speed-carousel-arrow:hover {
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 6px 20px rgba(0,0,0,0.35);
}

.speed-carousel-arrow--left {
    left: 8px;
}

.speed-carousel-arrow--right {
    right: 8px;
}

@media (max-width: 768px) {
    .speed-carousel-arrow {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    .speed-carousel-arrow--left { left: 4px; }
    .speed-carousel-arrow--right { right: 4px; }
}

/* Descrizione prodotto: tipografia e padding leggibili */
.woocommerce.single-product .woocommerce-tabs,
.woocommerce-page.single-product .woocommerce-tabs {
    margin-top: 28px;
}

.woocommerce.single-product .woocommerce-Tabs-panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel {
    padding-top: 12px;
}

.woocommerce.single-product .woocommerce-Tabs-panel p,
.woocommerce-page.single-product .woocommerce-Tabs-panel p {
    margin: 0 0 14px;
    line-height: 1.65;
}

/* ======================================================================
   SCHEDA TECNICA PRODOTTO - Stile accattivante per e-commerce modellismo
   ====================================================================== */

/* Nascondi le tab di navigazione (mostra solo il contenuto descrizione) */
.woocommerce.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
    display: none !important;
}

/* Pannello descrizione: stile scheda tecnica con glow Tamiya rosso/blu */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description {
    background: #ffffff;
    border: none;
    border-radius: 16px;
    padding: 42px 48px !important;
    position: relative;
    box-sizing: border-box;
    overflow: visible;
    box-shadow:
        0 0 20px rgba(0, 82, 180, 0.08),
        0 0 40px rgba(200, 16, 46, 0.06),
        0 4px 24px rgba(0, 0, 0, 0.04);
}

/* Media (gallery immagini) dentro la Scheda Tecnica */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media {
    margin: 0 0 20px 0;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media .woocommerce-product-gallery,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media .woocommerce-product-gallery {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media .woocommerce-product-gallery__image img,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media .woocommerce-product-gallery__image img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    border-radius: 10px;
}

/* Tablet: immagine a sinistra, testo scorre a destra e continua sotto */
@media (min-width: 768px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media {
        float: left;
        width: 45%;
        margin: 0 24px 16px 0;
    }
}

/* Desktop: immagine più grande a sinistra con margine */
@media (min-width: 1024px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media {
        float: left;
        width: 48%;
        margin: 0 28px 18px 0;
    }
}

/* Clearfix: dopo il contenuto della descrizione, chiudi il float */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description::after,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description::after {
    content: "";
    display: block;
    clear: both;
}

/* Bordo sfumato Tamiya (rosso/blu) */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description::before,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 2px;
    background: linear-gradient(135deg, #c8102e 0%, #0052b4 50%, #c8102e 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* Titolo "Scheda Tecnica" */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2 {
    font-size: clamp(22px, 2.6vw, 30px);
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 24px;
    padding-bottom: 14px;
    border-bottom: 3px solid transparent;
    background: linear-gradient(90deg, #c8102e, #0052b4);
    background-clip: text;
    -webkit-background-clip: text;
    border-image: linear-gradient(90deg, #c8102e, #0052b4) 1;
    display: inline-block;
    position: relative;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2::after,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #c8102e, #0052b4);
    border-radius: 2px;
}

/* Paragrafi descrizione */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a3a3a;
    margin-bottom: 18px;
}

@media (min-width: 1024px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p {
        font-size: clamp(13px, 0.95vw, 15px);
        line-height: 1.7;
        margin-bottom: 14px;
    }
}

/* Evidenzia parole in grassetto (es. Materiale:, Peso:).
   Vale sia per <strong> che per <b>: alcune schede prodotto sono state
   scritte/incollate con <b> invece di <strong> (stesso grassetto, tag
   diverso) e restavano senza evidenziazione colorata. */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description strong,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description b,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description strong,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description b {
    font-weight: 800;
    color: #111;
    padding: 0 6px;
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(200, 16, 46, 0.12), rgba(0, 82, 180, 0.10));
}

/* Sottotitoli nella descrizione (h3, h4, strong usati come titoli) */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h3,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h4,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h3,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h4 {
    font-size: 17px;
    font-weight: 600;
    color: #222;
    margin: 26px 0 12px;
}

/* Elenchi puntati: usa marker nativi così rispettano il float dell'immagine */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul {
    list-style: disc;
    padding-left: 42px;
    margin: 20px 0 24px;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li {
    padding-left: 10px;
    padding-right: 12px;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
}

/* Testo in grassetto: più scuro e ben visibile come nell'editor WooCommerce */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description strong,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description b,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description strong,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description b {
    font-weight: 700;
    color: #1a1a1a;
}

@media (min-width: 1024px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li {
        font-size: clamp(13px, 0.95vw, 15px);
        margin-bottom: 12px;
    }
}

/* Punti elenco semplici e ben visibili */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul {
    list-style: disc;
    list-style-position: outside;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li::marker,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li::marker {
    color: #000;
}

/* Righe più "lineari" dentro elenchi: evita rientri strani su wrap */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li {
    text-align: left;
}

/* Elenchi numerati stilizzati */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol {
    list-style: none;
    padding: 0;
    margin: 16px 0 20px;
    counter-reset: spec-counter;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li {
    /* Flexbox invece di position:absolute: il badge numerato resta sempre
       affiancato al proprio testo, indipendentemente dal float della
       .speed-tech-media (con position:absolute il riferimento poteva
       finire nel punto sbagliato quando il testo wrappava attorno alla
       foto, facendo apparire i numeri lontani dalle rispettive righe). */
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    counter-increment: spec-counter;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li::before,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li::before {
    content: counter(spec-counter);
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: #c8102e;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 24px;
    border-radius: 50%;
}

/* Tabelle dati nella descrizione */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 14px;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table th,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table td,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table th,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table th,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table th {
    background: #f0f0f0;
    font-weight: 600;
    color: #222;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table tr:hover td,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description table tr:hover td {
    background: #fafafa;
}

/* Responsive scheda tecnica */
@media (max-width: 768px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description {
        padding: 28px 24px !important;
        border-radius: 12px;
    }
}

@media (max-width: 600px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description {
        padding: 20px 18px;
        border-radius: 8px;
    }

    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li,
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul li,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol li {
        font-size: 14px;
    }
}

/* Stili per liste e grassetti nella descrizione prodotto */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul,
.woocommerce-product-details__short-description ul {
    list-style-type: disc !important;
    list-style-position: outside !important;
    margin-left: 0 !important;
    padding-left: 40px !important;
    margin-bottom: 20px !important;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol,
.woocommerce-product-details__short-description ol {
    list-style-type: decimal !important;
    list-style-position: outside !important;
    margin-left: 0 !important;
    padding-left: 40px !important;
    margin-bottom: 20px !important;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description li,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description li,
.woocommerce-product-details__short-description li {
    margin-bottom: 10px !important;
    line-height: 1.6 !important;
    list-style-type: inherit !important;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description strong,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description strong,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description b,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description b,
.woocommerce-product-details__short-description strong,
.woocommerce-product-details__short-description b {
    font-weight: 800 !important;
    color: #000000 !important;
}


/* Mobile: immagine sopra il testo, colonna verticale */
@media (max-width: 767px) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description {
        display: flex;
        flex-direction: column;
    }

    /* Image first */
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media {
        order: -1;
        margin-bottom: 20px;
    }

    /* Hide clearfix on flex layout */
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description::after,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description::after {
        display: none;
    }
}

/* ============================================================
   INFINITE SCROLL - Nasconde paginazione e spinner caricamento
   ============================================================ */

/* Nascondi la paginazione classica WooCommerce */
.woocommerce-pagination {
    display: none !important;
}

/* Spinner di caricamento infinite scroll */
.speed-infinite-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 32px 0;
    font-family: var(--speed-font-ui);
    font-size: 14px;
    font-weight: 600;
    color: #888;
    letter-spacing: 0.3px;
}

.speed-spinner-dot {
    width: 28px;
    height: 28px;
    border: 3px solid #e0e0e0;
    border-top-color: #E60012;
    border-radius: 50%;
    animation: speed-spin 0.8s linear infinite;
}

@keyframes speed-spin {
    to { transform: rotate(360deg); }
}

/* ============================================================
   FIX FINALE DESKTOP - PANNELLI INDIRIZZI ALLINEATI
   Forza layout 2 colonne uguali e padding interni corretti
   ============================================================ */
@media (min-width: 901px) {
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
    body.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
    body.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses.col2-set.addresses,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set.addresses,
    body.woocommerce-account .woocommerce-MyAccount-content .addresses.col2-set,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 28px !important;
        row-gap: 0 !important;
        align-items: stretch !important;
        width: 100% !important;
        margin-top: 36px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after,
    body.woocommerce-account .woocommerce-MyAccount-content .addresses.col2-set::before,
    body.woocommerce-account .woocommerce-MyAccount-content .addresses.col2-set::after,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses::before,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses::after {
        content: none !important;
        display: none !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-1,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-2,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column1,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column2,
    body.woocommerce-account .woocommerce-MyAccount-content .addresses.col2-set > .col-1,
    body.woocommerce-account .woocommerce-MyAccount-content .addresses.col2-set > .col-2,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses > .col-1,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses > .col-2,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses > .woocommerce-column,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address {
        float: none !important;
        clear: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        align-self: stretch !important;
        position: static !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses .woocommerce-column,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-1.woocommerce-Address,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-2.woocommerce-Address {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 270px !important;
        padding: 24px 26px !important;
        border-radius: 14px !important;
        border: 2px solid transparent !important;
        background:
            linear-gradient(#fff, #fff) padding-box,
            linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        flex-wrap: wrap !important;
        gap: 8px 14px !important;
        margin: 0 0 16px 0 !important;
        padding: 0 0 10px !important;
        border-bottom: 2px solid transparent !important;
        border-image: linear-gradient(90deg, #E60012, #005BAC) 1 !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
        margin: 0 !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
        margin: 2px 0 0 !important;
        white-space: nowrap !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #E60012 !important;
        text-decoration: none !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
        color: #005BAC !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses address,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses address {
        margin: 0 !important;
        padding: 6px 0 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        font-style: normal !important;
        font-size: 15px !important;
        line-height: 1.75 !important;
        color: #4b5563 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses address p,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses address p {
        margin: 0 0 8px !important;
    }
}

/* ============================================================
   CARRELLO - RESTYLING COMPLETO
   ============================================================ */

/* Titolo pagina carrello */
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce > h1,
.woocommerce-cart .page-title {
    text-align: center;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.3px;
    color: #1a1a1a;
    margin: 0 0 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid transparent;
    background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg, #E60012, #005BAC) border-box;
    border-bottom: 2px solid transparent;
}

/* Tabella carrello */
.woocommerce-cart table.shop_table {
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 12px !important;
}

.woocommerce-cart table.shop_table thead {
    display: none;
}

.woocommerce-cart table.shop_table td {
    border: none !important;
    padding: 10px 14px !important;
    vertical-align: middle !important;
    font-size: 14px;
}

/* Ogni riga prodotto come card */
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item {
    background: #fff;
    border: 1.5px solid #eee;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.04);
    transition: box-shadow 0.25s, border-color 0.25s;
}

.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item:hover {
    border-color: #005BAC;
    box-shadow: 0 6px 20px rgba(0,91,172,0.10);
}

/* Immagine prodotto nel carrello */
.woocommerce-cart table.shop_table td.product-thumbnail {
    width: 120px !important;
    padding: 10px 12px !important;
}

.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 96px !important;
    height: 96px !important;
    object-fit: contain !important;
    border-radius: 10px;
    border: 1.5px solid #f0f0f0;
    background: #fafafa;
    display: block;
}

/* Nome prodotto */
.woocommerce-cart table.shop_table td.product-name {
    font-weight: 600;
    font-size: 14px;
    color: #1a1a1a;
}

.woocommerce-cart table.shop_table td.product-name a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
    color: #E60012;
}

/* Prezzo e subtotale */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
    font-weight: 700;
    color: #333;
    font-size: 14px;
}

/* Input quantità */
.woocommerce-cart table.shop_table .quantity input.qty {
    width: 52px;
    height: 36px;
    text-align: center;
    border: 1.5px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    background: #f9f9f9;
    transition: border-color 0.2s;
}

.woocommerce-cart table.shop_table .quantity input.qty:focus {
    border-color: #005BAC;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0,91,172,0.1);
}

/* Pulsante rimuovi */
.woocommerce-cart table.shop_table td.product-remove a.remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%);
    color: #fff !important;
    font-size: 18px;
    font-weight: 700;
    border: none;
    box-shadow: 0 2px 8px rgba(0,91,172,0.25);
    transition: filter 0.2s, box-shadow 0.2s, transform 0.2s;
    text-decoration: none;
}

.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    filter: brightness(1.15);
    box-shadow: 0 4px 14px rgba(0,91,172,0.38);
    transform: translateY(-1px);
    color: #fff !important;
}

/* Riga azioni (coupon + aggiorna) — centrata e ben spaziata */
.woocommerce-cart table.shop_table td.actions {
    background: transparent !important;
    padding: 30px 0 !important;
    border: none !important;
    text-align: center !important;
}

/* Pannello coupon: contenitore bordato con input e pulsante inline */
.woocommerce-cart .coupon {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important; /* consente al messaggio di errore di andare a capo sotto input+bottone */
    align-items: center !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto 16px auto !important;
    border: 2px solid #d8d8d8 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
    float: none !important;
    transition: border-color 0.25s, box-shadow 0.25s !important;
}

/* Input coupon — integrato nel pannello */
.woocommerce-cart .coupon input.input-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 50px !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 18px !important;
    font-size: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transition: none !important;
}

.woocommerce-cart .coupon input.input-text:focus {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Pulsante Applica Coupon — dentro il pannello */
.woocommerce-cart .coupon button,
.woocommerce-cart .coupon input[type="submit"] {
    flex: 0 0 auto !important;
    height: 50px !important;
    padding: 0 20px !important;
    border: none !important;
    border-left: 2px solid #d8d8d8 !important;
    border-radius: 0 10px 10px 0 !important;
    background: linear-gradient(135deg, #E60012, #005BAC) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: filter 0.25s !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-cart .coupon input[type="submit"]:hover {
    filter: brightness(1.12) !important;
}

/* Pulsante Aggiorna Carrello — centrato, stessa larghezza del pannello coupon */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
    display: block !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 480px !important;
    height: 46px !important;
    padding: 0 20px !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #E60012, #005BAC) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    cursor: pointer !important;
    transition: filter 0.25s, box-shadow 0.25s !important;
}

.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart input[name="update_cart"]:hover {
    filter: brightness(1.1);
    box-shadow: 0 4px 12px rgba(0,91,172,0.2);
}

.woocommerce-cart button[name="update_cart"]:disabled,
.woocommerce-cart input[name="update_cart"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---- TOTALE CARRELLO ---- */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cart-collaterals h2 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid transparent;
    background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg, #E60012, #005BAC) border-box;
    border-bottom: 2px solid transparent;
}

.woocommerce-cart .cart_totals table.shop_table {
    border: 1.5px solid #eee !important;
    border-radius: 14px !important;
    overflow: hidden;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 12px 16px !important;
    border: none !important;
    border-bottom: 1px solid #f3f3f3 !important;
    font-size: 14px;
    vertical-align: middle;
}

.woocommerce-cart .cart_totals table.shop_table th {
    font-weight: 700;
    color: #333;
    background: #fafafa;
    width: 40%;
}

.woocommerce-cart .cart_totals table.shop_table td {
    color: #555;
    text-align: right;
}

.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
.woocommerce-cart .cart_totals table.shop_table tr:last-child td {
    border-bottom: none !important;
}

/* Riga totale finale */
.woocommerce-cart .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart_totals table.shop_table .order-total td {
    font-size: 16px;
    font-weight: 800;
    color: #1a1a1a;
    background: #f9f9ff;
}

/* Sconto coupon */
.woocommerce-cart .cart_totals .cart-discount td {
    color: #16a34a;
    font-weight: 700;
}

.woocommerce-cart .cart_totals .cart-discount td a {
    color: #E60012;
    font-size: 12px;
}

/* ---- PULSANTI CHECKOUT / PAYPAL ---- */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 16px 0 0;
    text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .button {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 10px;
    padding: 12px 20px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #E60012, #005BAC);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: filter 0.25s, box-shadow 0.25s, transform 0.25s;
    box-shadow: 0 6px 18px rgba(0,91,172,0.18);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .button:hover {
    filter: brightness(1.1);
    box-shadow: 0 8px 24px rgba(0,91,172,0.25);
    transform: translateY(-1px);
    color: #fff;
}

/* PayPal buttons container */
.woocommerce-cart .wc-proceed-to-checkout #ppc-button,
.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper,
.woocommerce-cart .wc-proceed-to-checkout [id*="paypal"],
.woocommerce-cart .wc-proceed-to-checkout .paypal-buttons {
    max-width: 100% !important;
    margin: 8px auto !important;
}

/* Paga in 3 rate text */
.woocommerce-cart .wc-proceed-to-checkout .wc-ppcp-paylater-msg,
.woocommerce-cart .cart_totals .wc-ppcp-paylater-msg {
    font-size: 12px;
    text-align: center;
    color: #666;
    padding: 8px 0;
    max-width: 400px;
    margin: 0 auto;
}

/* Shipping info styling */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    font-size: 13px;
    color: #555;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
    color: #E60012;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-cart .cart_totals .shipping-calculator-button:hover {
    color: #005BAC;
}

/* ---- DESKTOP ≥ 769px: layout carrello ottimizzato ---- */
@media (min-width: 769px) {
    .woocommerce-cart table.shop_table {
        border-spacing: 0 16px !important;
    }

    /* Card desktop: stesso bordo gradiente della mobile con layout ordinato */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: clamp(120px, 20vw, 196px) minmax(0, 1fr) 34px !important;
        grid-template-areas:
            "thumb title remove"
            "thumb price remove"
            "thumb quantity remove"
            "thumb subtotal remove";
        gap: 0 20px !important;
        align-items: stretch !important;
        border: 2px solid transparent !important;
        background:
            linear-gradient(#fff, #fff) padding-box,
            linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 14px rgba(0,91,172,0.08) !important;
        margin-bottom: 16px !important;
        min-height: 208px !important;
        padding: 14px 18px !important;
        position: relative;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item:hover {
        box-shadow: 0 8px 24px rgba(0,91,172,0.15) !important;
        border-color: transparent !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td {
        padding: 5px 0 !important;
        border: none !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail {
        grid-area: thumb !important;
        width: auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        align-self: stretch !important;
        overflow: hidden !important;
        background: #fff !important;
        border-radius: 14px 0 0 14px !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove::before {
        display: none !important;
    }

    .woocommerce-cart table.shop_table td.product-thumbnail img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: contain !important;
        object-position: center center !important;
        border-radius: 0 !important;
        border: none !important;
        background: #fff !important;
        display: block !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name {
        grid-area: title !important;
        padding: 0 0 10px !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        color: #1a1a1a !important;
        line-height: 1.35 !important;
        min-height: 0 !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name a {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price {
        grid-area: price !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity {
        grid-area: quantity !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
        grid-area: subtotal !important;
        color: #1a1a1a !important;
        font-weight: 800 !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        border-top: 1px solid #f0f0f0 !important;
        padding-top: 12px !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price::before {
        content: "Prezzo:" !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity::before {
        content: "Quantita:" !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
        content: "Subtotale:" !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
        display: block !important;
        flex: 0 0 122px;
        font-weight: 600 !important;
        color: #666 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price > *,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal > * {
        margin-left: auto !important;
        text-align: right !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity .quantity {
        margin-left: auto !important;
    }

    .woocommerce-cart .quantity input.qty {
        width: 58px !important;
        height: 34px !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove {
        grid-area: remove !important;
        width: auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove a.remove {
        margin-top: 2px;
    }

    /* Sicurezza: in desktop rimuove eventuale clone mobile della X */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity > a.remove {
        display: none !important;
    }

    /* Totale carrello: larghezza piena allineata al contenuto */
    .woocommerce-cart .cart_totals,
    .woocommerce-cart .cart-collaterals .cart_totals {
        max-width: 100% !important;
        width: 100% !important;
        float: none !important;
        margin: 40px auto 20px !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .cart-collaterals {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    /* Pulsante coupon: testo abbreviato via CSS (fallback al filtro PHP) */
    .woocommerce-cart .coupon button[name="apply_coupon"] {
        font-size: 0 !important;
    }
    .woocommerce-cart .coupon button[name="apply_coupon"]::after {
        content: "APPLICA";
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.5px;
        color: #fff;
        text-transform: uppercase;
    }
}

/* ---- RESPONSIVE MOBILE ---- */
@media (max-width: 768px) {
    .woocommerce-cart .entry-title,
    .woocommerce-cart .woocommerce > h1,
    .woocommerce-cart .page-title {
        font-size: 22px;
        margin-bottom: 4px;
    }

    /* Riduce spazio tra titolo e tabella carrello */
    .woocommerce-cart table.shop_table {
        margin-top: 0 !important;
    }

    .woocommerce-cart table.shop_table {
        border-spacing: 0 14px !important;
    }

    /* ---- Card prodotto mobile: layout a due quadranti ---- */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: clamp(90px, 28vw, 130px) minmax(0, 1fr) !important;
        grid-template-areas:
            "thumb title"
            "thumb price"
            "thumb quantity"
            "thumb subtotal" !important;
        gap: 0 !important;
        align-items: stretch !important;
        border: 2px solid transparent !important;
        background:
            linear-gradient(#fff, #fff) padding-box,
            linear-gradient(135deg, #E60012 0%, #005BAC 100%) border-box !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 14px rgba(0,91,172,0.08) !important;
        margin-bottom: 14px !important;
        min-height: 160px !important;
        padding: 0 !important;
        position: relative !important;
        overflow: hidden !important;
    }

    /* Reset padding su tutti i td */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td {
        padding: 0 !important;
        border: none !important;
    }

    /* QUADRANTE SINISTRO — immagine a tutta altezza, zero padding */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail {
        grid-area: thumb !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: auto !important;
        padding: 0 !important;
        align-self: stretch !important;
        overflow: hidden !important;
        background: #fff !important;
        border-radius: 12px 0 0 12px !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove::before {
        display: none !important;
    }

    .woocommerce-cart table.shop_table td.product-thumbnail img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: contain !important;
        object-position: center center !important;
        border-radius: 0 !important;
        border: none !important;
        background: #fff !important;
        display: block !important;
    }

    /* QUADRANTE DESTRO — titolo in cima con padding, spazio per la X */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name {
        grid-area: title !important;
        display: block !important;
        font-weight: 700 !important;
        font-size: clamp(13px, 3.8vw, 16px) !important;
        color: #1a1a1a !important;
        padding: 12px 52px 8px 14px !important;
        line-height: 1.35 !important;
        min-height: 0 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name a {
        color: #1a1a1a !important;
        text-decoration: none !important;
        display: block !important;
        text-align: left !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    /* QUADRANTE DESTRO — righe dettagli */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price {
        grid-area: price !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity {
        grid-area: quantity !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
        grid-area: subtotal !important;
        color: #1a1a1a !important;
        font-weight: 800 !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border-top: 1px solid #f0f0f0 !important;
        padding: 7px 14px !important;
        margin-top: 0 !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price::before {
        content: "Prezzo:" !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity::before {
        content: "Quantita:" !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
        content: "Subtotale:" !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity::before,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
        display: block !important;
        flex: 0 0 80px !important;
        max-width: 80px !important;
        font-weight: 600 !important;
        color: #888 !important;
        font-size: 10px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price > *,
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal > * {
        margin-left: auto !important;
        text-align: right !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity .quantity {
        margin-left: auto !important;
    }

    /* RIQUADRO ROSSO CON X — posizione assoluta in alto a destra del quadrante destro */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove {
        position: absolute !important;
        top: 8px !important;
        right: 8px !important;
        width: 26px !important;
        height: 26px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 10 !important;
        border: none !important;
        background: transparent !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove a.remove {
        width: 26px !important;
        height: 26px !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 8px !important;
        background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
        border: none !important;
        color: #fff !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 8px rgba(0,91,172,0.25) !important;
        transition: filter 0.2s, box-shadow 0.2s, transform 0.2s !important;
    }

    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove a.remove:hover {
        filter: brightness(1.15) !important;
        box-shadow: 0 4px 14px rgba(0,91,172,0.38) !important;
        transform: translateY(-1px) !important;
        color: #fff !important;
    }

    /* Nasconde il clone JS della X nella quantità: usiamo solo quella assoluta in alto a destra */
    .woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity > a.remove {
        display: none !important;
    }

    /* Quantità input */
    .woocommerce-cart .quantity input.qty {
        width: 46px;
        height: 32px;
        font-size: 13px;
    }

    .woocommerce-cart .cart_totals > h2,
    .woocommerce-cart .cart-collaterals h2 {
        font-size: 20px;
    }

    .woocommerce-cart .cart_totals table.shop_table th,
    .woocommerce-cart .cart_totals table.shop_table td {
        padding: 10px 12px !important;
        font-size: 13px;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
    .woocommerce-cart .wc-proceed-to-checkout .button {
        max-width: 100%;
        padding: 12px 16px;
        font-size: 13px;
    }

    .woocommerce-cart .coupon {
        max-width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        min-height: 50px !important;
        margin: 0 auto 14px auto !important;
        border: 2px solid #d8d8d8 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
    }

    .woocommerce-cart .coupon input.input-text {
        font-size: 13px !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        border: none !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .coupon button,
    .woocommerce-cart .coupon input[type="submit"] {
        flex: 0 0 clamp(120px, 42%, 168px) !important;
        width: auto !important;
        min-width: 120px !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 16px !important;
        font-size: 0 !important;
        margin: 0 !important;
        float: none !important;
        align-self: stretch !important;
        border-radius: 0 !important;
        border-left: 2px solid #d8d8d8 !important;
        box-shadow: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .coupon button[name="apply_coupon"]::after {
        content: "APPLICA";
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.5px;
        color: #fff;
        text-transform: uppercase;
    }

    .woocommerce-cart button[name="update_cart"],
    .woocommerce-cart input[name="update_cart"] {
        max-width: 100% !important;
    }
}

/* ================================================================
   STILE GLOBALE PULSANTI WOOCOMMERCE — gradiente brand
   Copre: Ritorna al negozio, Salva indirizzo, Accedi, Registrati,
   Aggiungi al carrello (singolo), Place Order, ecc.
   ================================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .return-to-shop a.button,
.woocommerce .wc-backward,
.woocommerce a.button.wc-backward,
.woocommerce .cart-empty + .return-to-shop a,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce .woocommerce-Button,
.woocommerce .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
    color: #fff !important;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 12px 28px !important;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(0,91,172,0.18);
    transition: filter 0.25s, box-shadow 0.25s, transform 0.25s;
    display: inline-block;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .return-to-shop a.button:hover,
.woocommerce .wc-backward:hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce .woocommerce-Button:hover,
.woocommerce .woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content button:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
    filter: brightness(1.12);
    box-shadow: 0 10px 24px rgba(0,91,172,0.28);
    transform: translateY(-1px);
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    filter: none;
}

/* (Vecchio hardening shop-mobile-nav-single rimosso — ora il singolo prodotto usa shop-grid) */

/* Single product mobile rewrite: flusso semplice e prevedibile */
@media (max-width: 992px) {
    .woocommerce.single-product div.product,
    .woocommerce-page.single-product div.product {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    .woocommerce.single-product div.product > div.summary,
    .woocommerce-page.single-product div.product > div.summary {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto 12px !important;
        padding: 0 !important;
        text-align: center !important;
        gap: 10px !important;
    }

    .woocommerce.single-product div.product > div.summary > *,
    .woocommerce-page.single-product div.product > div.summary > * {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        flex: initial !important;
        margin: 0 !important;
    }

    .woocommerce.single-product div.product > div.summary .product_title,
    .woocommerce-page.single-product div.product > div.summary .product_title,
    .woocommerce.single-product div.product > div.summary .speed-single-sku-brand,
    .woocommerce-page.single-product div.product > div.summary .speed-single-sku-brand,
    .woocommerce.single-product div.product > div.summary .price,
    .woocommerce-page.single-product div.product > div.summary .price,
    .woocommerce.single-product div.product > div.summary .stock,
    .woocommerce-page.single-product div.product > div.summary .stock,
    .woocommerce.single-product div.product > div.summary form.cart,
    .woocommerce-page.single-product div.product > div.summary form.cart {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .woocommerce.single-product div.product > div.summary .product_title,
    .woocommerce-page.single-product div.product > div.summary .product_title {
        display: block !important;
        width: 100% !important;
        padding: 6px 12px 0 !important;
    }

    .woocommerce.single-product div.product > div.summary .speed-single-sku-brand,
    .woocommerce-page.single-product div.product > div.summary .speed-single-sku-brand {
        display: inline-flex !important;
        gap: 6px !important;
        min-height: 24px;
    }

    .woocommerce.single-product div.product > div.images,
    .woocommerce-page.single-product div.product > div.images {
        display: none !important;
    }

    .woocommerce.single-product div.product > .woocommerce-tabs,
    .woocommerce-page.single-product div.product > .woocommerce-tabs {
        order: 3 !important;
        clear: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .woocommerce.single-product div.product > section.related,
    .woocommerce.single-product div.product > section.upsells,
    .woocommerce-page.single-product div.product > section.related,
    .woocommerce-page.single-product div.product > section.upsells {
        order: 4 !important;
        width: 100% !important;
    }

    .woocommerce.single-product div.product div.summary:empty,
    .woocommerce-page.single-product div.product div.summary:empty {
        display: none !important;
    }
}

/* ============================================================
   SIDEBAR CATEGORIE — Redesign "Speed Racing"
   Overrides tutti gli stili precedenti della sidebar
   ============================================================ */

/* Keyframe stripe verticale (fuori da media query per essere condiviso) */
@keyframes speed-vstripe {
    0%   { background-position: 0 100%; }
    100% { background-position: 0 -200%; }
}

/* --- Contenitore sidebar --- */
@media (min-width: 993px) {
    .shop-col--sidebar {
        /* Sfondo tenue nei toni del tema — non sovrascrive position:sticky */
        background: linear-gradient(
            180deg,
            rgba(230,0,18,0.04) 0%,
            rgba(0,91,172,0.07) 60%,
            rgba(0,91,172,0.04) 100%
        ) !important;
        border-right: 0 !important;
        box-shadow: none !important;
    }
    /* Bordo destro: stripe animata come quella del footer (ma verticale) */
    .shop-col--sidebar::after {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 3px !important;
        background: linear-gradient(
            to bottom,
            transparent 0%,
            #E60012 20%,
            #005BAC 50%,
            #E60012 80%,
            transparent 100%
        ) !important;
        background-size: 100% 300% !important;
        animation: speed-vstripe 4s linear infinite !important;
        display: block !important;
        opacity: 0.9 !important;
    }
}

/* --- Titolo "Categorie" ---
   Barra header piena, attaccata all'header e ai bordi della sidebar:
   ancora il pannello invece di lasciarlo "fluttuare" come testo sfumato. */
.shop-col--sidebar .shop-sidebar-title,
.shop-sidebar-inner .shop-sidebar-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    font-family: var(--speed-font-display, 'Quicksand', sans-serif) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2.5px !important;
    padding: 18px 18px !important;
    text-align: left !important;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
    background-size: 160% 160% !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
    filter: none !important;
    margin: 0 !important;
    border-bottom: 0 !important;
    /* Nessuna aureola intorno alla barra: solo un filo di luce interno in alto
       (la salda all'header) e un'ombra proiettata verso il basso, sulla
       lista sottostante, in modo che la barra sembri attaccata e non fluttuante. */
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.3), 0 6px 10px -6px rgba(0,0,0,0.32) !important;
    animation: speed-sidebar-title-shift 6s ease-in-out infinite !important;
}
@keyframes speed-sidebar-title-shift {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}
/* Icona fulmine — bianca con leggero bagliore intermittente */
.shop-col--sidebar .shop-sidebar-title::before,
.shop-sidebar-inner .shop-sidebar-title::before {
    content: "⚡" !important;
    font-size: 15px !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
    background: none !important;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.65)) !important;
    flex-shrink: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    animation: speed-bolt-flicker 3.2s ease-in-out infinite !important;
}
@keyframes speed-bolt-flicker {
    0%, 90%, 100% { opacity: 1; }
    93% { opacity: 0.45; }
    96% { opacity: 1; }
    98% { opacity: 0.6; }
}
/* La vecchia linea sfumata sotto al titolo non serve più: ora la barra è piena */
.shop-col--sidebar .shop-sidebar-title::after,
.shop-sidebar-inner .shop-sidebar-title::after {
    content: none !important;
}
@media (prefers-reduced-motion: reduce) {
    .shop-col--sidebar .shop-sidebar-title,
    .shop-sidebar-inner .shop-sidebar-title,
    .shop-col--sidebar .shop-sidebar-title::before,
    .shop-sidebar-inner .shop-sidebar-title::before {
        animation: none !important;
    }
}

/* --- Lista categorie --- */
.shop-sidebar-inner ul.product-categories,
.shop-sidebar-inner .widget_product_categories ul {
    list-style: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}

/* --- Item --- */
.shop-sidebar-inner ul.product-categories li,
.shop-sidebar-inner .widget_product_categories ul li {
    position: relative !important;
    padding-left: 0 !important;
    margin-bottom: 1px !important;
    white-space: normal !important;
    overflow: hidden !important;
}
/* Nasconde la saetta PNG */
.shop-sidebar-inner ul.product-categories li::before,
.shop-sidebar-inner .widget_product_categories ul li::before {
    display: none !important;
    content: none !important;
}

/* Entry animation con stagger */
@keyframes speed-sidebar-in {
    from { opacity: 0; transform: translateX(-14px); }
    to   { opacity: 1; transform: translateX(0); }
}
.shop-sidebar-inner ul.product-categories li {
    animation: speed-sidebar-in 0.38s cubic-bezier(0.4, 0, 0.2, 1) both !important;
}
.shop-sidebar-inner ul.product-categories li:nth-child(1)  { animation-delay: 0.03s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(2)  { animation-delay: 0.06s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(3)  { animation-delay: 0.09s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(4)  { animation-delay: 0.12s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(5)  { animation-delay: 0.15s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(6)  { animation-delay: 0.18s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(7)  { animation-delay: 0.21s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(8)  { animation-delay: 0.24s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(9)  { animation-delay: 0.27s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(10) { animation-delay: 0.30s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(11) { animation-delay: 0.33s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(12) { animation-delay: 0.36s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(13) { animation-delay: 0.39s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(14) { animation-delay: 0.42s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(15) { animation-delay: 0.45s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(16) { animation-delay: 0.48s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(17) { animation-delay: 0.51s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(18) { animation-delay: 0.54s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(19) { animation-delay: 0.57s !important; }
.shop-sidebar-inner ul.product-categories li:nth-child(20) { animation-delay: 0.60s !important; }

/* Separatore sottile tra item */
.shop-sidebar-inner ul.product-categories li + li::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 10px !important;
    right: 10px !important;
    height: 1px !important;
    background: rgba(0,0,0,0.05) !important;
    pointer-events: none !important;
}

/* --- Link base --- */
.shop-sidebar-inner ul.product-categories li > a,
.shop-sidebar-inner .widget_product_categories ul li > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 11px 14px 11px 18px !important;
    border-radius: 0 !important;
    font-family: var(--speed-font-display, 'Quicksand', sans-serif) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    text-decoration: none !important;
    position: relative !important;
    background: transparent !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transition: color 0.22s cubic-bezier(0.4,0,0.2,1),
                background 0.22s cubic-bezier(0.4,0,0.2,1),
                padding-left 0.22s cubic-bezier(0.4,0,0.2,1) !important;
}

/* Indicatore sinistro (barra colorata) */
.shop-sidebar-inner ul.product-categories li > a::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 20% !important;
    bottom: 20% !important;
    width: 3px !important;
    border-radius: 0 3px 3px 0 !important;
    background: transparent !important;
    transition: background 0.22s, top 0.22s, bottom 0.22s !important;
    pointer-events: none !important;
}
/* Freccia destra */
.shop-sidebar-inner ul.product-categories li > a::after {
    content: '›' !important;
    margin-left: auto !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: #E60012 !important;
    opacity: 0 !important;
    transform: translateX(-5px) !important;
    transition: opacity 0.22s, transform 0.22s !important;
    flex-shrink: 0 !important;
    -webkit-text-fill-color: #E60012 !important;
    pointer-events: none !important;
}


/* --- Hover --- */
.shop-sidebar-inner ul.product-categories li > a:hover,
.shop-sidebar-inner .widget_product_categories ul li > a:hover {
    color: #E60012 !important;
    -webkit-text-fill-color: #E60012 !important;
    padding-left: 22px !important;
    background: linear-gradient(90deg, rgba(230,0,18,0.08) 0%, rgba(230,0,18,0.02) 70%, transparent 100%) !important;
}
.shop-sidebar-inner ul.product-categories li > a:hover::before {
    background: linear-gradient(to bottom, #E60012, #005BAC) !important;
    top: 10% !important;
    bottom: 10% !important;
}
.shop-sidebar-inner ul.product-categories li > a:hover::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* --- Categoria attiva --- */
.shop-sidebar-inner ul.product-categories li.current-cat > a,
.shop-sidebar-inner ul.product-categories li.current-cat-parent > a,
.shop-sidebar-inner .widget_product_categories ul li.current-cat > a,
.shop-sidebar-inner .widget_product_categories ul li.current-cat-parent > a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, #E60012 0%, #005BAC 100%) !important;
    padding-left: 18px !important;
}
.shop-sidebar-inner ul.product-categories li.current-cat > a::before,
.shop-sidebar-inner ul.product-categories li.current-cat-parent > a::before {
    background: rgba(255,255,255,0.45) !important;
    top: 8% !important;
    bottom: 8% !important;
    width: 4px !important;
}
.shop-sidebar-inner ul.product-categories li.current-cat > a::after,
.shop-sidebar-inner ul.product-categories li.current-cat-parent > a::after {
    opacity: 0.85 !important;
    transform: translateX(0) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.85) !important;
    color: rgba(255,255,255,0.85) !important;
}

/* Pulsazione glow sull'item attivo */
@keyframes speed-cat-active-glow {
    0%, 100% { box-shadow: 0 2px 12px rgba(230,0,18,0.18), 0 1px 4px rgba(0,91,172,0.10); }
    50%       { box-shadow: 0 4px 20px rgba(230,0,18,0.32), 0 2px 8px rgba(0,91,172,0.20); }
}
.shop-sidebar-inner ul.product-categories li.current-cat {
    animation: speed-cat-active-glow 2.8s ease-in-out infinite !important;
    border-radius: 0 !important;
}

/* --- Sottocategorie --- */
.shop-sidebar-inner ul.product-categories ul.children {
    margin-left: 0 !important;
    padding: 0 0 4px !important;
    background: rgba(0,0,0,0.025) !important;
}
.shop-sidebar-inner ul.product-categories ul.children li > a {
    font-size: 13px !important;
    font-weight: 500 !important;
    padding-left: 30px !important;
    color: #4b5563 !important;
    -webkit-text-fill-color: #4b5563 !important;
}
.shop-sidebar-inner ul.product-categories ul.children li > a:hover {
    color: #E60012 !important;
    -webkit-text-fill-color: #E60012 !important;
    padding-left: 36px !important;
    background: rgba(230,0,18,0.05) !important;
}

/* Ridotta motion */
@media (prefers-reduced-motion: reduce) {
    .shop-sidebar-inner ul.product-categories li { animation: none !important; }
    .shop-sidebar-inner ul.product-categories li.current-cat { animation: none !important; }
    .shop-col--sidebar::after { animation: none !important; }
}

/* --- Separatore verticale full-height: usa .shop-layout come ancora --- */
/* Disattiva il vecchio shop-grid::before */
.shop-grid::before {
    display: none !important;
}

/* shop-layout copre tutta l'altezza del contenuto (dall'header al footer) */
.shop-layout {
    position: relative !important;
}
.shop-layout::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 260px !important;
    width: 2px !important;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        #E60012 20%,
        #005BAC 50%,
        #E60012 80%,
        transparent 100%
    ) !important;
    background-size: 100% 300% !important;
    animation: speed-vstripe 4s linear infinite !important;
    opacity: 0.65 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
@media (max-width: 992px) {
    .shop-layout::before { display: none !important; }
}

/* Il marquee correlati (ora fuori dal shop-grid) copre visivamente la riga
   nella sua area: l'animazione appare fermarsi alla stripe orizzontale */
.speed-related-marquee {
    position: relative !important;
    z-index: 2 !important;
    background: #fff !important;
}

/* Footer: stripe orizzontale animata full-width */
footer.footer::before {
    content: '' !important;
    display: block !important;
    height: 3px !important;
    width: 100% !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        #E60012 20%,
        #005BAC 50%,
        #E60012 80%,
        transparent 100%
    ) !important;
    background-size: 300% 100% !important;
    animation: speed-stripe-slide 4s linear infinite !important;
}

/* Nasconde la stripe inferiore del marquee correlati:
   la stripe del footer la sostituisce già */
.speed-related-marquee .speed-home-showcase__stripe:last-child {
    display: none !important;
}

/* Carrello mobile: hard override finale coupon (dopo stili globali pulsanti) */
@media (max-width: 768px) {
    /* Azzera il padding-bottom: .5em iniettato dal foglio WooCommerce nativo */
    .woocommerce #content table.cart td.actions .coupon,
    .woocommerce table.cart td.actions .coupon,
    .woocommerce-page #content table.cart td.actions .coupon,
    .woocommerce-page table.cart td.actions .coupon {
        padding-bottom: 0 !important;
    }

    .woocommerce.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions .coupon {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 50px !important;
        margin: 0 0 14px 0 !important;
        border: 2px solid #d8d8d8 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
        box-sizing: border-box !important;
        background: #fff !important;
    }

    .woocommerce.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions .coupon input.input-text {
        flex: 1 1 auto !important;
        width: 0 !important;
        min-width: 0 !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        border: none !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        background: transparent !important;
        outline: none !important;
    }

    .woocommerce.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions .coupon button.button,
    .woocommerce.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions .coupon button[name="apply_coupon"],
    .woocommerce.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions .coupon input[type="submit"] {
        flex: 0 0 120px !important;
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        float: none !important;
        border-radius: 0 !important;
        border-left: 2px solid #d8d8d8 !important;
        box-shadow: none !important;
        transform: none !important;
        line-height: 1 !important;
        font-size: 0 !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .woocommerce.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions .coupon button[name="apply_coupon"]::after {
        content: "APPLICA" !important;
        display: block !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 0.5px !important;
        color: #fff !important;
        text-transform: uppercase !important;
    }
}

/* ============================================================
   MESSAGGI COUPON E NOTICE CARRELLO/CHECKOUT
   - Errore inline sotto il pannello coupon (spesa minima, codice
     non valido/scaduto): la card cresce in altezza invece di
     schiacciare il testo accanto al bottone "Applica".
   - Notice generali (coupon applicato, avvisi) coerenti col brand.
   ============================================================ */

/* Stato di errore sull'input coupon (classe aggiunta via AJAX da WooCommerce) */
.woocommerce-cart .coupon input.input-text.has-error,
.woocommerce-checkout .coupon input.input-text.has-error {
    background: #fff5f5 !important;
    color: #b71c1c;
}

.woocommerce-cart .coupon input.input-text.has-error::placeholder,
.woocommerce-checkout .coupon input.input-text.has-error::placeholder {
    color: #e2a3a3;
}

/* Il pannello si evidenzia in rosso e vibra brevemente quando compare un errore */
.woocommerce-cart .coupon:has(.coupon-error-notice),
.woocommerce-checkout .coupon:has(.coupon-error-notice) {
    border-color: #E60012 !important;
    box-shadow: 0 2px 10px rgba(230, 0, 18, 0.18) !important;
    animation: speed-coupon-shake 0.4s ease;
}

@keyframes speed-coupon-shake {
    10%, 90% { transform: translateX(-1px); }
    20%, 80% { transform: translateX(2px); }
    30%, 50%, 70% { transform: translateX(-3px); }
    40%, 60% { transform: translateX(3px); }
}

/* Messaggio di errore coupon: riga dedicata a piena larghezza sotto input+bottone */
.woocommerce-cart .coupon-error-notice,
.woocommerce-checkout .coupon-error-notice {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    flex: 1 1 100% !important;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding: 11px 16px 12px !important;
    background: #fff5f5;
    border-top: 1px solid #ffd9d9;
    color: #c0392b;
    font-size: 12.5px !important;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    box-sizing: border-box;
    animation: speed-coupon-error-in 0.3s ease;
}

.woocommerce-cart .coupon-error-notice::before,
.woocommerce-checkout .coupon-error-notice::before {
    content: "!";
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border-radius: 50%;
    background: #E60012;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
}

@keyframes speed-coupon-error-in {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---- Notice generali WooCommerce (successo / info / errore) ----
   Es: "Codice coupon applicato correttamente." dopo un coupon valido.
   Escluso il contesto .woocommerce-account, gia' stilizzato a parte. */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
    display: block;
    border-radius: 12px;
    border-top: none !important;
    border-left: 4px solid #005BAC;
    background: #f0f7ff;
    padding: 14px 20px 14px 46px !important;
    margin: 0 0 20px !important;
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    box-shadow: 0 4px 14px rgba(0,0,0,0.05);
    list-style: none;
    animation: speed-coupon-error-in 0.35s ease;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before {
    font-family: inherit !important;
    content: "\2713" !important;
    top: 14px !important;
    left: 18px !important;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #005BAC;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800;
    line-height: 20px !important;
    text-align: center;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
    border-left-color: #E60012;
    background: #fff5f5;
}

.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error::before {
    content: "!" !important;
    background: #E60012 !important;
}

.woocommerce-cart .woocommerce-message li,
.woocommerce-cart .woocommerce-info li,
.woocommerce-cart .woocommerce-error li,
.woocommerce-checkout .woocommerce-message li,
.woocommerce-checkout .woocommerce-info li,
.woocommerce-checkout .woocommerce-error li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart .woocommerce-message .button.wc-forward,
.woocommerce-checkout .woocommerce-message .button.wc-forward {
    float: none;
    display: inline-block;
    margin-left: 12px;
    padding: 6px 16px;
    background: linear-gradient(135deg, #E60012, #005BAC);
    color: #fff !important;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-decoration: none;
    transition: filter 0.2s;
}

.woocommerce-cart .woocommerce-message .button.wc-forward:hover,
.woocommerce-checkout .woocommerce-message .button.wc-forward:hover {
    filter: brightness(1.1);
}

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-message,
    .woocommerce-cart .woocommerce-info,
    .woocommerce-cart .woocommerce-error,
    .woocommerce-checkout .woocommerce-message,
    .woocommerce-checkout .woocommerce-info,
    .woocommerce-checkout .woocommerce-error {
        padding: 13px 16px 13px 42px !important;
        font-size: 13px;
    }

    .woocommerce-cart .woocommerce-message .button.wc-forward,
    .woocommerce-checkout .woocommerce-message .button.wc-forward {
        display: block;
        margin: 10px 0 0;
        text-align: center;
    }
}

/* ============================================================
   BARRA FILTRI STICKY SU DESKTOP (ricerca + ordinamento)
   Su mobile la stessa barra e' gia' fixed sotto le categorie
   (vedi il blocco @media max-width:992px piu' sopra); qui resta
   agganciata sotto l'header mentre si scorrono i prodotti.
   ============================================================ */
@media (min-width: 993px) {
    .shop-col--products .shop-filters-wrapper {
        position: sticky;
        /* --header-height include gia' l'altezza della admin bar:
           vedi updateBodyPadding() in js/script.js */
        top: var(--header-height, 100px);
        z-index: 30;
        /* Sfondo esteso fino ai bordi della colonna, cosi' i prodotti che
           scorrono sotto non si intravedono ai lati della barra. Il margine
           sinistro si ferma 2px dopo il bordo per non coprire la stripe
           verticale animata di .shop-layout::before. */
        margin: 0 -24px 20px -30px;
        padding: 12px 24px 12px 30px;
        background: #fff;
        box-shadow: 0 6px 16px -10px rgba(0,0,0,0.35);
    }

    /* Separatore sfumato nei colori del tema */
    .shop-col--products .shop-filters-wrapper::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2px;
        background: linear-gradient(90deg, #E60012 0%, #005BAC 100%);
        opacity: 0.9;
        pointer-events: none;
    }

    /* La barra copre i prodotti che le scorrono sotto */
    .shop-col--products .woocommerce ul.products {
        position: relative;
        z-index: 1;
    }
}


/* ============================================================
   TITOLO PAGINA SOTTO LA BARRA FILTRI (staccato)
   Il markup ora segue: barra ricerca/ordinamento -> titolo -> prodotti.
   Vedi speed_print_shop_page_title() in inc/woocommerce-hooks.php.
   ============================================================ */
.shop-col--products .shop-page-title {
    text-align: center;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.3px;
    color: #111;
    margin: 26px 0 24px;
    padding: 0;
}

@media (max-width: 992px) {
    .shop-col--products .shop-page-title {
        margin: 4px 0 14px !important;
        font-size: 22px !important;
    }
}

/* ============================================================
   MESSAGGI WOOCOMMERCE (info / errore) NEL CONTESTO SHOP
   Stessa identica veste grafica gia' usata in carrello/checkout,
   estesa qui perche' prima la pagina "nessun risultato" mostrava
   lo stile grezzo di default di WooCommerce.
   ============================================================ */
.shop-col--products .woocommerce-message,
.shop-col--products .woocommerce-info,
.shop-col--products .woocommerce-error {
    display: block;
    border-radius: 12px;
    border-top: none !important;
    border-left: 4px solid #005BAC;
    background: #f0f7ff;
    padding: 14px 20px 14px 46px !important;
    margin: 0 0 20px !important;
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    box-shadow: 0 4px 14px rgba(0,0,0,0.05);
    list-style: none;
    animation: speed-coupon-error-in 0.35s ease;
}

.shop-col--products .woocommerce-message::before,
.shop-col--products .woocommerce-info::before {
    font-family: inherit !important;
    content: "i" !important;
    top: 14px !important;
    left: 18px !important;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #005BAC;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800;
    font-style: normal !important;
    line-height: 20px !important;
    text-align: center;
}

.shop-col--products .woocommerce-error {
    border-left-color: #E60012;
    background: #fff5f5;
}

.shop-col--products .woocommerce-error::before {
    content: "!" !important;
    background: #E60012 !important;
}

.shop-col--products .woocommerce-message li,
.shop-col--products .woocommerce-info li,
.shop-col--products .woocommerce-error li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .shop-col--products .woocommerce-message,
    .shop-col--products .woocommerce-info,
    .shop-col--products .woocommerce-error {
        padding: 13px 16px 13px 42px !important;
        font-size: 13px;
    }
}

/* Suggerimento sotto l'avviso "nessun prodotto trovato": stesso linguaggio
   visivo dell'info box ma piu' leggero, per restare un livello sotto come
   importanza (e' un consiglio, non un messaggio di stato). */
.speed-no-results-hint {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 14px 0 0;
    padding: 14px 18px;
    border-radius: 12px;
    background: rgba(0,91,172,0.05);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #4b5563;
}

.speed-no-results-hint::before {
    content: "\2192";
    flex-shrink: 0;
    color: #005BAC;
    font-weight: 800;
    font-size: 16px;
    line-height: 1.4;
}

@media (max-width: 992px) {
    .speed-no-results-hint {
        margin: 12px 16px 0;
        font-size: 13px;
    }
}

/* ============================================================
   LINK NEL TESTO DELLA SCHEDA TECNICA
   Prima erano solo testo rosso, indistinguibili da una parola
   evidenziata. Qui prendono una sottolineatura sfumata nei colori
   del brand (sempre visibile = si capisce che è un link) che al
   passaggio del mouse si riempie diventando una pillola piena,
   lo stesso gradiente dei pulsanti del sito.
   Vale SOLO dentro il pannello descrizione del singolo prodotto.
   ============================================================ */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a {
    color: #C1121F;
    font-weight: 700;
    text-decoration: none !important;
    padding: 1px 5px;
    border-radius: 5px;
    background-image: linear-gradient(90deg, #E60012 0%, #005BAC 100%);
    background-repeat: no-repeat;
    background-size: 100% 2px;
    background-position: 0 100%;
    /* Su link che vanno a capo mantiene padding e sottolineatura su ogni riga */
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    transition: background-size 0.25s cubic-bezier(0.4,0,0.2,1),
                color 0.2s ease,
                box-shadow 0.25s ease;
}

.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a:hover,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a:focus-visible,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a:hover,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a:focus-visible {
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
    background-size: 100% 100%;
    box-shadow: 0 4px 12px rgba(0,91,172,0.28);
}

/* Contorno visibile per chi naviga da tastiera */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a:focus-visible,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a:focus-visible {
    outline: 2px solid #005BAC;
    outline-offset: 2px;
}

/* Grassetto dentro un link: eredita lo stile del link, niente doppia
   evidenziazione con la pillola sfumata delle parole chiave */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a strong,
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a b,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a strong,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a b {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

/* La galleria immagini vive dentro lo stesso pannello: il link che
   apre la foto a schermo intero non va trattato come link di testo */
.woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media a,
.woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .speed-tech-media a {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
    .woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a,
    .woocommerce-page.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description a {
        transition: none;
    }
}
