/*
Theme Name:   Celeris
Theme URI:    https://celeris.lucaguidobaldi.it/
Description:  Infrastruttura e-commerce premium ad alte prestazioni. Ottimizzazione estrema, zero-bloat e focus totale su CRO e metriche Core Web Vitals (PageSpeed 100/100).
Author:       Luca Guidobaldi
Author URI:   https://lucaguidobaldi.it/
Template:     kadence
Version:      1.0.0
Text Domain:  celeris
*/

/* ==========================================================================
   CELERIS SWP - CORE STYLES
   Inizio delle regole custom (Architettura CSS "Lite")
   ========================================================================== */
/* --- CELERIS HERO WRAPPER (Sfondo e Spaziatura) --- */
.celeris-hero-section {
    background: linear-gradient(135deg, #1e1e24 0%, #2a2a35 50%, #ff6b00 100%);
    color: #ffffff;
    width: 100%;
    
    /* Gestione spaziatura interna (Padding) direttamente via CSS */
    padding: 120px 20px; 
    
    /* Flexbox per centrare il contenuto verticalmente se necessario */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- CONTENITORE LARGHEZZA MAX --- */
.celeris-container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    text-align: left; /* O 'center' se preferisci il testo centrato */
}

/* --- TIPOGRAFIA --- */
.celeris-title {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: clamp(2.5rem, 6vw, 4.5rem); /* Dimensione fluida */
    line-height: 1.1;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 1.5rem;
    letter-spacing: -0.03em;
	text-align: center;
}

.celeris-highlight {
    color: #ffa04d; /* Celeste chiaro per contrasto */
    display: block;
    font-weight: 300; /* Più sottile per eleganza */
    margin-top: 10px;
}

.celeris-description {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #e0e0e0;
    margin-bottom: 3rem;
    font-weight: 400;
	text-align: center;
}

/* --- BOTTONI --- */
.celeris-actions {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.celeris-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
	margin: 0 auto;
}

/* Primary (Pieno) */
.celeris-btn.primary {
    background-color: #ffffff;
    color: #000428; /* Testo scuro su bottone bianco */
    border: 2px solid #ffffff;
}

.celeris-btn.primary:hover {
    background-color: transparent;
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* Secondary (Outline) */
.celeris-btn.secondary {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.celeris-btn.secondary:hover {
    border-color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
}

/* --- MOBILE --- */
@media (max-width: 768px) {
    .celeris-hero-section {
        padding: 80px 20px;
    }
    .celeris-actions {
        flex-direction: column;
        width: 100%;
    }
    .celeris-btn {
        width: 100%;
    }
}

/* --- CELERIS HEADER ICONS --- */

.celeris-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: inherit; /* Prende il colore del testo dell'header impostato in Kadence */
    text-decoration: none;
    transition: color 0.3s ease, transform 0.2s ease;

}

/* Dimensione specifica SVG */
.celeris-header-icon svg {
    width: 22px; /* Regola questo per matchare la dimensione della ricerca */
    height: 22px;
}

/* Effetto Hover "Elettrico" */
.celeris-header-icon:hover {
    color: #ff6b00; /* Il Ciano del gradiente per un tocco acceso */
    transform: translateY(-1px); /* Piccolo saltello */
}

/* Opzionale: Se l'icona ricerca nativa è diversa, usiamo questa classe per allinearle */
.header-search-icon, .celeris-header-icon {
    vertical-align: middle;
}

/* --- CELERIS CATEGORY GRID (AGGIORNATO PER SEO & PERFORMANCE) --- */

.celeris-cat-grid {
    display: grid;
    /* Forza matematicamente 4 colonne su desktop */
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px;
    width: 100%;
    margin: 40px 0;
}

.celeris-cat-card {
    position: relative;
    
    /* RIMUOVI l'altezza fissa di 400px e SOSTITUISCILA con aspect-ratio */
    /* height: 400px;  <-- CANCELLARE */
    aspect-ratio: 1 / 1; /* IL SEGRETO: Forza il quadrato perfetto a qualsiasi risoluzione */
    
    overflow: hidden;
    border-radius: 4px;
    text-decoration: none;
    display: flex;
    align-items: flex-end;
    background-color: #000;
}

/* 1. Il tag <img> si comporta esattamente come il vecchio background-image */
.celeris-cat-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garantisce che l'immagine riempia lo spazio senza deformarsi */
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.6s ease;
    opacity: 0.8; 
    z-index: 1;
}

/* Overlay sfumato per leggere meglio il testo */
.celeris-cat-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    z-index: 2;
    pointer-events: none; /* Sicurezza: evita che il gradiente blocchi il clic sul link */
}

/* Contenuto Testuale */
.celeris-cat-content {
    position: relative;
    z-index: 3;
    padding: 30px;
    width: 100%;
    color: #fff;
}

/* --- CELERIS SWP: GRIGLIA CATEGORIE AGGIORNATA --- */

.celeris-cat-title {
    font-size: 1rem; /* Molto più equilibrato su desktop */
    font-weight: 500;
    margin: 0 !important;
    letter-spacing: 0.1em; /* Leggero aumento per un look più fashion */
    color: #fff;
    text-align: center; /* Opzionale: centra il titolo se preferisci */
}

.celeris-cat-link {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    opacity: 0.8;
    transition: opacity 0.3s, color 0.3s;
}

.arrow {
    transition: transform 0.3s;
}

/* --- HOVER EFFECTS --- */
.celeris-cat-card:hover .celeris-cat-img {
    transform: scale(1.1); /* Zoom in sull'immagine nativa */
    opacity: 1; 
}

.celeris-cat-card:hover .celeris-cat-link {
    opacity: 1;
    color: #ff6b00; /* Usa il tuo Azzurro per il link all'hover */
}

.celeris-cat-card:hover .arrow {
    transform: translateX(5px); 
}

/* 2. MEDIA QUERY TABLET (Sicurezza per schermi medi) */
@media (max-width: 1024px) {
    .celeris-cat-grid {
        /* Passa a 2 colonne fluide prima dello smartphone */
        grid-template-columns: repeat(2, 1fr); 
    }
}

/* 3. MEDIA QUERY MOBILE */
@media (max-width: 768px) {
    .celeris-cat-grid {
        gap: 15px; 
    }

    .celeris-cat-card {
        height: auto !important; 
        aspect-ratio: 1 / 1; /* Forza il quadrato perfetto */
    }

    .celeris-cat-content {
        padding: 15px; 
    }

   .celeris-cat-title {
        font-size: 1rem; /* Dimensione piccola e pulita per mobile */
        letter-spacing: 0.05em;
        line-height: 1.2;
    }

    .celeris-cat-link {
        font-size: 0.8rem; 
    }
}

#celeris-home-categories{
        margin-top:40px;
}

/* --- CELERIS SECTION TITLES --- */

/* Stile Base per H2 di sezione */
h2.celeris-section-title {
    font-family: 'Inter', sans-serif; /* O il font dei titoli del tema */
    font-size: 2.2rem;
    font-weight: 700;
    color: #020024; /* Blu Notte molto scuro, quasi nero */
    margin-bottom: 1.5rem!important; /* Spazio sotto il titolo prima del contenuto */
    position: relative;
    display: inline-block; /* Necessario per la linea sotto */
    letter-spacing: -0.02em;
}

/* La "Scia" di velocità sotto il titolo */
h2.celeris-section-title::after {
    content: '';
    display: block;
    width: 60px; /* Lunghezza della linea */
    height: 4px; /* Spessore */
    
    /* Gradiente che sfuma (effetto velocità) */
    background: linear-gradient(90deg, #ff6b00 0%, rgba(0, 86, 179, 0) 100%);
    
    margin-top: 12px; /* Distanza dal testo */
    border-radius: 2px;
}

/* Variante Centrata (Opzionale) */
/* Se centri il testo nel blocco Kadence, la linea deve centrarsi */
.text-center h2.celeris-section-title::after,
h2.celeris-section-title.align-center::after {
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(90deg, rgba(0, 86, 179, 0) 0%, #ff6b00 50%, rgba(0, 86, 179, 0) 100%);
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    h2.celeris-section-title {
        font-size: 1.8rem;
    }
}

/* --- CELERIS PRODUCT GRID (Shadow & Mobile Fix) --- */

.celeris-prod-grid {
    display: grid;
    /* Desktop: colonne automatiche min 250px */
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

.celeris-prod-card {
    background: #fff; /* Fondamentale per vedere l'ombra */
    border-radius: 8px; /* Un po' più arrotondato */
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    
    /* L'OMBRA RICHIESTA */
    box-shadow: 0 4px 15px rgba(0,0,0,0.08); /* Ombra soffice */
    border: 1px solid rgba(0,0,0,0.03); /* Micro-bordo quasi invisibile per definizione */
}

/* Hover: L'ombra aumenta e la card sale */
.celeris-prod-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

.celeris-prod-link-wrap {
    position: relative; /* Fix per il badge */
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* --- IMMAGINE PRODOTTO (RAPPORTO 1:1) --- */

.celeris-prod-bg {
    width: 100%;
    
    /* LA MODIFICA CHIAVE: Rimuovi height fissa e usa aspect-ratio */
    /* height: 320px;  <-- CANCELLATO */
    aspect-ratio: 1 / 1; /* Forza il quadrato perfetto */
    
    background-size: cover; /* Ritaglia l'immagine per riempire il quadrato */
    background-position: center;
    background-color: #f4f4f4; /* Colore di sfondo mentre carica */
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.celeris-prod-details {
    padding: 15px; /* Spazio interno per non attaccare il testo ai bordi */
}

/* --- MOBILE SPECIFIC (Sotto 768px) --- */
@media (max-width: 768px) {
    .celeris-prod-grid {
        /* Forza 2 colonne esatte */
        grid-template-columns: repeat(2, 1fr); 
        gap: 15px; /* Spazio ridotto tra le card */
    }

    /* Su mobile l'immagine resta quadrata (grazie a aspect-ratio sopra) 
       ma riduciamo un po' il testo per farci stare tutto */
    
    .celeris-prod-details {
        padding: 10px; 
    }
    .celeris-prod-bg {
        height: 180px; /* Immagine più bassa su mobile per non allungare troppo la pagina */
    }

    .celeris-prod-details {
        padding: 10px; /* Meno padding su mobile */
    }

    .celeris-prod-title {
        font-size: 0.9rem;
        margin-bottom: 3px;
    }
	.celeris-prod-price {
        font-size: 0.85rem;
    }
}

/* Effetto Zoom Immagine */
.celeris-prod-card:hover .celeris-prod-bg {
    transform: scale(1.05);
}

/* Dettagli (Titolo e Prezzo) */
.celeris-prod-details {
    padding: 1rem 1rem 1.5rem; /* Padding solo verticale, allineato a sx con l'immagine */
}

.celeris-prod-title {
    font-family: 'Inter', sans-serif;
    font-size: 1.05rem;
    font-weight: 500; /* Peso medio, molto elegante */
    margin: 0 0 5px 0;
    color: #111;
    line-height: 1.4;
}

.celeris-prod-price {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    color: #555; /* Grigio scuro invece di nero */
    font-weight: 400;
}

@media (max-width: 767px) {
  .celeris-prod-price {
    font-size: 16px;
  }
}

/* Gestione prezzi in offerta */
.celeris-prod-price ins {
    text-decoration: none;
    color: #ff6b00; /* Prezzo scontato in Blu Celeris */
    font-weight: 600;
}

.celeris-prod-price del {
    opacity: 0.7;
}

/* Badge Sale */
.celeris-badge {
  min-height:0;
  min-width:0;
  padding:.5em 1em;
  font-weight:700;
  position:absolute;
  text-align:center;
  line-height:1.2;
  top: 6px;
  right: 6px;
  left: auto;
  margin: 0;
  border-radius:.25rem;
  background-color:var(--global-palette-highlight);
  color:var(--global-palette-highlight-alt2);
  font-size:.857em;
  z-index:9;
  font-size: 10px !important;
}
.woocommerce span.onsale {
right: unset;
}

/* --- FIX OVERFLOW CARRELLO & CHECKOUT (Celeris) --- */

/* Targettiamo specificamente le pagine Woo e la classe colpevole */
body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks {
    /* Resetta la logica full-width */

    width: 100% !important;
    
    /* Centra il tutto */
    margin-left: auto !important;
    margin-right: auto !important;
    
    /* Disabilita il calcolo vw problematico reimpostando le variabili (opzionale ma sicuro) */
    --global-vw: 100%; 
}

/* Fix aggiuntivo per l'allineamento interno del form */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    max-width: 100%;
}

/* FOOTER */

.lg-footer-col {
  color: #cbd5e1;
  font-size: 0.95rem;
  padding: 10px;
}

.lg-footer-desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #94a3b8;
  margin-bottom: 24px;
  max-width: 90%;
}

.lg-footer-title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #ffffff;
  margin-bottom: 24px;
  position: relative;
  display: inline-block;
}  
  
.lg-footer-list {
  list-style: none;
  padding: 0 !important;
  margin: 0;
}

.lg-footer-list li {
  margin-bottom: 12px;
}

.lg-footer-list a {
  color: #cbd5e1 !important;
  transition: color 0.2s ease, padding-left 0.2s ease;
  display: inline-block;
}

.footer-text{margin:0px}

/* Social Icons */
.lg-social-links {
    display: flex;
    gap: 16px;
}

.lg-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: rgba(255, 255, 255, 0.05);
    color: #ffffff!important;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.lg-social-icon svg {
    width: 20px;
    height: 20px;
}

.lg-social-icon:hover {
    background-color: #38bdf8;
    color: #0f172a;
    transform: translateY(-3px);
}

/* --- CELERIS DEMO PAGE (SWP LAYOUT) --- */

.celeris-demo-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin: 80px 0; /* Distanza tra una feature e l'altra */
}

/* La classe 'reverse' inverte gli elementi su Desktop per l'effetto zig-zag */
.celeris-demo-section.reverse {
    direction: ltr; 
}
.celeris-demo-section.reverse .celeris-demo-content {
    order: 2;
}
.celeris-demo-section.reverse .celeris-demo-media {
    order: 1;
}

.celeris-body-text {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569; /* Un grigio ardesia molto leggibile */
    margin-top: 15px;
}

.celeris-demo-image {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); /* Ombra premium elegante */
    transition: transform 0.4s ease;
}

.celeris-demo-image:hover {
    transform: translateY(-5px);
}

/* --- MOBILE RESPONSIVE --- */
@media (max-width: 900px) {
    .celeris-demo-section {
        grid-template-columns: 1fr; /* Colonna singola su mobile */
        gap: 30px;
        margin: 50px 0;
        text-align: left; /* Mantiene la leggibilità sul testo lungo */
    }
    
    /* Su mobile distruggiamo l'ordine reverse, l'immagine deve sempre stare sopra al testo */
    .celeris-demo-section.reverse .celeris-demo-content {
        order: 2;
    }
    .celeris-demo-section.reverse .celeris-demo-media {
        order: 1;
    }
    
    .celeris-body-text {
        font-size: 1.05rem;
    }
}
/* --- CELERIS SWP: FIX ORDINE SEZIONI ALTERNATE SU MOBILE --- */

@media (max-width: 1024px) {
    /* 1. Assicuriamoci che tutte le sezioni siano in colonna */
    .celeris-demo-section {
        display: flex;
        flex-direction: column;
    }

    /* 2. Nelle sezioni .reverse, forziamo il testo a tornare SOPRA l'immagine */
    .celeris-demo-section.reverse .celeris-demo-content {
        order: 1;
        margin-bottom: 20px; /* Spazio tra testo e immagine */
    }

    .celeris-demo-section.reverse .celeris-demo-media {
        order: 2;
    }
}
/* --- CELERIS DESKTOP SEARCH BAR (Stile Amazon) --- */

/* Da 1025px a 1099px */
@media (min-width: 1025px) and (max-width: 1099px) {
    .kb-search {
        min-width: 600px;
    }
}

/* Da 1100px a 1199px */
@media (min-width: 1100px) and (max-width: 1199px) {
    .kb-search {
        min-width: 700px;
    }
}

/* Da 1200px a 1399px */
@media (min-width: 1200px) and (max-width: 1399px) {
    .kb-search {
        min-width: 800px;
    }
}

/* Da 1400px in su */
@media (min-width: 1400px) {
    .kb-search {
        min-width: 900px;
    }
}
/* --- HOVER ICONA ACCOUNT WOOCOMMERCE --- */

/* 1. Transizione fluida per lo stato normale */
.wp-block-woocommerce-customer-account .wc-block-customer-account__link {
    transition: color 0.3s ease, transform 0.2s ease;
    display: inline-flex; /* Aiuta a mantenere l'icona allineata se applichi trasformazioni */
}

/* 2. Effetto Hover con il colore Celeris (#ff6b00) */
.wp-block-woocommerce-customer-account .wc-block-customer-account__link:hover {
    color: #ff6b00 !important; 
    /* Uso !important per sovrascrivere in modo sicuro la classe nativa "has-theme-palette8-color" di Gutenberg */
}

/* Opzionale: Se vuoi anche un leggerissimo "saltello" verso l'alto al passaggio del mouse (stile App) */
.wp-block-woocommerce-customer-account .wc-block-customer-account__link:hover svg {
    transform: translateY(-2px);
    transition: transform 0.2s ease;
}
/* --- ICONA CARRELLO WOOCOMMERCE (Base + Hover) --- */

/* 1. Colore di Base e Transizione */
.wc-block-mini-cart .wc-block-mini-cart__button {
    color: #002147 !important; /* Colore base rosa */
    transition: color 0.3s ease, transform 0.2s ease;
    background: transparent; /* Assicura che non ci siano sfondi indesiderati */
    border: none;
    cursor: pointer;
}

/* 2. Effetto Hover con il colore Celeris */
.wc-block-mini-cart .wc-block-mini-cart__button:hover {
    color: #ff6b00 !important; /* Colore hover azzurro */
}

/* 3. Animazione di "saltello" al passaggio del mouse (coerente con l'icona account) */
.wc-block-mini-cart .wc-block-mini-cart__button:hover .wc-block-mini-cart__icon {
    transform: translateY(-2px);
    transition: transform 0.2s ease;
}

/* 4. Fix opzionale per il pallino numerico (Badge) */
/* Impedisce che il pallino salti insieme all'icona, mantenendo l'effetto più pulito */
.wc-block-mini-cart .wc-block-mini-cart__quantity-badge {
    position: relative;
    display: inline-flex;
}

/* --- ICONA ACCOUNT WOOCOMMERCE (Versione Mobile) --- */  
    /* 1. Colore base e transizione */
    .wp-block-woocommerce-customer-account .wc-block-customer-account__link {
        color: #002147 !important; /* Colore base chiaro */
        transition: color 0.3s ease, transform 0.2s ease;
        display: inline-flex;
    }

    /* 2. Effetto Hover con il colore Celeris */
    .wp-block-woocommerce-customer-account .wc-block-customer-account__link:hover {
        color: #ff6b00 !important; /* Azzurro */
    }

    /* 3. Animazione di "saltello" (mantiene la coerenza del design) */
    .wp-block-woocommerce-customer-account .wc-block-customer-account__link:hover svg {
        transform: translateY(-2px);
        transition: transform 0.2s ease;
    }
	
	/* --- ICONA CARRELLO WOOCOMMERCE (Versione Mobile) --- */
    /* 1. Colore base e transizione del link contenitore */
    .celeris-header-icon.header-cart-button {
        color: #002147 !important; /* Colore base chiaro */
        text-decoration: none;
        transition: color 0.3s ease;
        display: inline-flex;
        align-items: center;
    }

    /* 2. Effetto Hover con il colore Celeris */
    .celeris-header-icon.header-cart-button:hover {
        color: #ff6b00 !important; /* Azzurro */
    }

    /* 3. Animazione fluida sull'icona SVG al passaggio del mouse */
    .celeris-header-icon.header-cart-button svg {
        transition: transform 0.2s ease;
    }

    .celeris-header-icon.header-cart-button:hover svg {
        transform: translateY(-2px); /* Effetto saltello */
    }
	
	/* --- ICONA MENU HAMBURGER (Off-Canvas Trigger Mobile) --- */ 
    /* 1. Colore base e reset del bottone */
    .wp-block-kadence-off-canvas-trigger {
        color: #002147 !important; /* Colore base chiaro */
        background: transparent; /* Reset per evitare sfondi nativi */
        border: none;
        transition: color 0.3s ease;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* 2. Effetto Hover con il colore Celeris */
    .wp-block-kadence-off-canvas-trigger:hover {
        color: #ff6b00 !important; /* Azzurro */
    }

    /* 3. Animazione fluida sull'icona SVG al passaggio del mouse */
    .wp-block-kadence-off-canvas-trigger svg {
        transition: transform 0.2s ease;
    }

    .wp-block-kadence-off-canvas-trigger:hover svg {
        transform: translateY(-2px); /* Effetto saltello */
    }
	
	/* --- ICONA ACCEDI WOOCOMMERCE (Menu Mobile / Off-Canvas) --- */    
    /* 1. Colore base (Blu Oxford) e transizione */
    .wc-block-customer-account__link {
        color: #002147 !important; /* Colore base scuro e istituzionale */
        transition: color 0.3s ease;
        display: inline-flex;
        align-items: center;
        text-decoration: none; /* Rimuove eventuali sottolineature native */
    }

    /* 2. Effetto Hover con il colore Celeris */
    .wc-block-customer-account__link:hover {
        color: #ff6b00 !important; /* Azzurro acceso */
    }

    /* 3. Animazione fluida sull'icona SVG al passaggio del mouse */
    .wc-block-customer-account__link svg {
        transition: transform 0.2s ease;
    }

    /* Effetto "saltello" (coerente con tutto l'ecosistema Celeris) */
    .wc-block-customer-account__link:hover svg {
        transform: translateY(-2px); 
    }
	
	/* --- ICONA ACCEDI WOOCOMMERCE (Menu Mobile Off-Canvas) --- */

/* 1. Colore base (Blu Oxford) e transizione */
.celeris-account-mobile .wc-block-customer-account__link {
    color: #002147 !important; 
    transition: color 0.3s ease;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
	letter-spacing: 2px;
	font-size: 18px;
}

/* 2. Effetto Hover con il colore Celeris */
.celeris-account-mobile .wc-block-customer-account__link:hover {
    color: #ff6b00 !important; 
}

/* 3. Animazione fluida sull'icona SVG al passaggio del mouse */
.celeris-account-mobile .wc-block-customer-account__link svg {
    transition: transform 0.2s ease;
	margin-right: 5px;
}

/* 4. Effetto "saltello" */
.celeris-account-mobile .wc-block-customer-account__link:hover svg {
    transform: translateY(-2px); 
}

/* --- FIX ACCESSIBILITÀ WOOCOMMERCE MINI-CART (PAGESPEED) --- */

/* Rimuove i pulsanti dal focus della tastiera quando il cassetto è chiuso */
.wc-block-mini-cart__drawer[aria-hidden="true"] {
    visibility: hidden !important;
    
    /* Nota: questo ritardo di 0.3s serve a permettere all'animazione 
       di scorrimento in chiusura di finire PRIMA che l'elemento diventi invisibile */
    transition: visibility 0s linear 0.3s, transform 0.3s ease !important; 
}

/* Ripristina la visibilità quando il cassetto si apre */
.wc-block-mini-cart__drawer[aria-hidden="false"] {
    visibility: visible !important;
    transition: visibility 0s linear 0s, transform 0.3s ease !important;
}
.woocommerce ul.products li.product .price del {
  color: #000000!important;
}

/* ==========================================================================
   CELERIS SWP: PAGINA PRODOTTO SINGOLA (Layout Compattato)
   ========================================================================== */

/* --- 1. TITOLO E PREZZO --- */

.single-product div.product .product_title {
    font-size: clamp(2rem, 4vw, 3rem);

}

.single-product div.product p.price {
    font-size: 2.2rem !important;
    font-weight: 700;
    color: #111111; 

    display: inline-block;
}

/* --- CELERIS SWP: STILE ELENCHI CONTENUTO PREMIUM --- */

/* Distanzia l'H3 dal paragrafo precedente e lo prepara per la lista */
h3.celeris-content-subtitle {
    margin-top: 32px; 
    margin-bottom: 0; /* Il respiro inferiore viene gestito dal margin-top della lista */
    font-size: 1.4rem;
    color: #0f172a; /* Slate 900 */
}

/* Setup della lista: stacca dall'H3 e rimuove i pallini di base */
.celeris-content-list {
    margin-top: 16px; 
    margin-bottom: 24px;
    margin-left: 0px!important;
    list-style: none; 
}

/* Stile delle singole voci dell'elenco */
.celeris-content-list li {
    position: relative;
    padding-left: 32px; /* Spazio per la nostra icona custom */
    margin-bottom: 12px; /* Respiro tra una voce e l'altra */
    line-height: 1.6;
    color: #475569; /* Slate 600 */
}

/* Iniezione della spunta vettoriale (Checkmark) in puro CSS */
.celeris-content-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px; /* Allinea l'icona perfettamente al centro della prima riga di testo */
    width: 20px;
    height: 20px;
    /* Icona Check SVG blu premium (zero richieste server) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230056b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* --- Prodotti correlati --- */

.woocommerce section.products > h2 {
  margin-bottom: .7em!important;
  margin-top: 50px;
}

/* --- 2. LA BUY BOX (Spazi ridotti) --- */

.single-product div.product form.cart {
    flex-wrap: wrap;
    margin-top: 1rem; /* Spazio ridotto */
    margin-bottom: 1.5rem; /* Spazio ridotto */
}

/* --- MEDIA QUERY TABLET & MOBILE --- */
@media (max-width: 1044px) {
    .single_add_to_cart_button {
        margin-top: 20px;
    }
	.kadence-cart-button-medium-large.woocommerce div.product .button.single_add_to_cart_button {
  width: 100%!important;
}
}

.woocommerce div.product form.cart div.quantity {
  margin: 0px 10px 0px 0px !important;
}

/* Il Pulsante "Aggiungi al Carrello" (Stile .celeris-btn.primary) */
.single-product div.product form.cart .single_add_to_cart_button {
    text-transform: uppercase;
    letter-spacing: 0.05em;  
    /* Colori Base (Blu Celeris su testo Bianco) */
    background-color: #ff6b00;
    color: #ffffff;
}

/* Hover: Svuota lo sfondo, colora il testo e fa saltare il bottone */
.single-product div.product form.cart .single_add_to_cart_button:hover {
    background-color: #ff6b00;
    color: #1A202C;
}

/* --- CELERIS SWP: FIX DEFINITIVO PULSANTE DISABILITATO (KADENCE COMPATIBILE) --- */

.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce div.product form.cart .button[disabled] {
    /* 1. Stili Visivi Premium */
    background-color: #f3f4f6 !important; 
    color: #4b5563 !important; 
    opacity: 1 !important; 
    cursor: not-allowed !important; 
    
    /* 2. IL TRUCCO MAGICO: Bordo virtuale tramite ombreggiatura interna. 
       Non aggiunge spessore fisico, quindi non fa esplodere la percentuale di Kadence */
    border: none !important; 
    box-shadow: inset 0 0 0 1px #d1d5db !important; 
    
    /* 3. Disinnesco Strutturale: Lasciamo il comando a Kadence */
    min-width: unset !important;
    flex: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

/* Hover state: nessuna reazione */
.woocommerce div.product form.cart .button.disabled:hover,
.woocommerce div.product form.cart .button:disabled:hover,
.woocommerce div.product form.cart .button[disabled]:hover {
    background-color: #f3f4f6 !important;
    color: #4b5563 !important;
    transform: none !important;
}

/* --- CELERIS SWP: FIX PROPORZIONI MINIATURE GALLERIA (PAGESPEED) --- */

.woocommerce div.product div.images .flex-control-thumbs li img {
    width: 100% !important;
    height: auto !important; /* Lascia che l'altezza si adatti automaticamente... */
    aspect-ratio: 1 / 1 !important; /* ...ma forza matematicamente la proporzione quadrata */
    object-fit: cover !important; /* Evita lo schiacciamento: riempie lo spazio tagliando i bordi in eccesso se necessario */
}
/* --- 3. EXTRAS (Solo Spunte) --- */

.single-product-extras li svg {
    color: #10B981; /* Verde Smeraldo per le spunte */
}

.woocommerce div.product div.summary p {
  margin: 0.5em 0!important;
}
.woocommerce ul.products li.product .price del {
  opacity: 1!important;
}
  .woocommerce-account .account-navigation-wrap {
      margin-top: 40px;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
margin-top: 40px;
  }
  #customer_login{
 margin-top: 40px
}
.kadence-breadcrumbs {
  margin: 5px 0px 20px 0px !important;
}

/* --- CELERIS SWP: FIX BREADCRUMB MOBILE E OVERLAP MENÙ --- */
@media (max-width: 768px) {
    /* 1. Riposiziona il breadcrumb senza bucare l'off-canvas */
    .kadence-breadcrumbs,
    .woocommerce-breadcrumb,
    .site-breadcrumb {
        position: relative;
        z-index: 10 !important; /* Abbassato drasticamente da 999 a 10 */
        pointer-events: auto;
    }
}

/* --- CELERIS SWP: BLOCCO DEFINITIVO SCORRIMENTO OFF-CANVAS --- */

/* 1. Impedisce che lo scorrimento "buchi" il menù e passi alla pagina (Fix Scroll Chaining) */
#mobile-drawer,
.popup-drawer,
.drawer-overlay {
    overscroll-behavior: contain !important;
}

/* 2. Congela fisicamente la pagina (Fix obbligatorio per iOS Safari) */
html.drawer-open,
body.drawer-open {
    overflow: hidden !important;
    height: 100vh !important; /* Impedisce l'allungamento virtuale della pagina */
}

.lg-copyright{font-size: 14px}
.lg-copyright a:link{color:#ff6b00;text-decoration: none!important;}
.lg-copyright a:hover{text-decoration: underline!important;}

/* --- CELERIS SWP: FIX DEFINITIVO UX FILTRI MOBILE (GRID LAYOUT) --- */

@media (max-width: 1024px) {
    
    /* 1. Il contenitore diventa una Griglia a 2 colonne perfette */
    .has-sidebar .content-container {
        display: grid;
        grid-template-columns: 1fr 1fr; 
        column-gap: 15px;
        row-gap: 20px; 
    }

    /* 2. Sciogliamo il #main per muovere i figli liberamente */
    .has-sidebar #main {
        display: contents;
    }

    /* 3. Tutti gli elementi testuali (Titolo, Breadcrumb) in alto su tutta la riga */
    .has-sidebar #main > header,
    .has-sidebar #main > .woocommerce-products-header,
    .has-sidebar #main > .woocommerce-breadcrumb {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    /* --- LA RIGA MAGICA: SCAMBIO EFFETTUATO --- */

    /* COLONNA 1: Il contenitore della Sidebar (Filtri ora a SINISTRA) */
    .has-sidebar #secondary {
        grid-column: 1 / 2 !important; /* Prima era 2 / 3 */
        grid-row: 2 !important; 
        margin: 0 !important;
        width: 100%;
        display: flex;
        align-items: flex-start;
		padding-top:0px;
    }

    /* COLONNA 2: Il contenitore Top Row (Ordinamento ora a DESTRA) */
    .has-sidebar #main > .kadence-shop-top-row {
        grid-column: 2 / 3 !important; /* Prima era 1 / 2 */
        grid-row: 2 !important; 
        margin: 0 !important;
        width: 100%;
        display: block !important;
    }

    /* --- PULIZIA ELEMENTI INUTILI SU MOBILE --- */
    
    /* Nascondiamo il conteggio risultati e i bottoncini Griglia/Lista per fare spazio */
    .woocommerce-result-count,
    .kadence-shop-top-item.kadence-woo-toggle {
        display: none !important;
    }

    /* --- STILIZZAZIONE DEI DUE CONTROLLI --- */
    
    /* Facciamo occupare alla tendina il 100% dello spazio disponibile nella sua mezza colonna */
    .kadence-shop-top-item.kadence-woo-ordering {
        width: 100%;
        margin: 0 !important;
    }
    
    .woocommerce-ordering select {
        width: 100%;
        height: 48px !important; 
        padding: 0 10px;
        border-radius: 4px;
        background-color: #f8fafc;
        border: 1px solid #e2e8f0;
        font-size: 0.95rem;
        color: #0f172a;
    }

    /* Bottone Filtri identico e simmetrico */
    .wc-block-product-filters__open-overlay {
        width: 100% !important;
        height: 48px !important; 
        background-color: #002147 !important; /* Blu Oxford */
        color: #ffffff !important;
        border: none;
        border-radius: 4px;
        padding: 0 10px !important;
        justify-content: center;
        text-transform: uppercase;
        font-size: 0.85rem; 
        font-weight: 600;
        letter-spacing: 0.05em;
        transition: background-color 0.3s ease, transform 0.2s ease;
        display: inline-flex;
        align-items: center;
        margin: 0 !important;
    }

    .wc-block-product-filters__open-overlay:hover,
    .wc-block-product-filters__open-overlay:active {
        background-color: #ff6b00 !important;
        color: #002147 !important;
        transform: translateY(-2px);
    }

/* --- I PRODOTTI IN FONDO --- */
    
    /* 1. I Prodotti (Riga 3). Devono prendere il 100% dello spazio per non sballare le colonne */
    .has-sidebar #main > ul.products,
    .has-sidebar #main > .products,
    .has-sidebar #main > .kadence-woo-archive-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        margin-top: 10px !important;
        width: 100% !important; 
    }

    /* 2. La Paginazione (Riga 4). Bloccata in basso e allineata a sinistra */
    .has-sidebar #main > .woocommerce-pagination {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        margin-top: 40px !important;
        width: 100% !important;
        display: block !important;
        text-align: left !important;
    }

    /* 3. Disinnesco del centraggio Flexbox nativo di WooCommerce sui numeri */
    .has-sidebar #main > .woocommerce-pagination ul,
    .woocommerce nav.woocommerce-pagination ul {
        justify-content: flex-start !important; 
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

} /* <-- FONDAMENTALE: Questa chiude la Media Query @media (max-width: 1024px) o 768px */

/* --- CELERIS SWP: TENDINA KADENCE LIVE SEARCH --- */

.celeris-results-dropdown {
    display: none; 
    position: absolute;
    top: 100%; /* Si attacca esattamente sotto il bordo inferiore dell'input */
    left: 0;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: none;
    border-radius: 0 0 6px 6px; /* Arrotondamento leggero in basso */
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); /* Ombra premium */
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 99999; /* Imbattibile, starà sempre sopra */
    overflow: hidden;
}

.celeris-results-dropdown.is-active {
    display: block;
    /* Animazione di comparsa morbida */
    animation: celerisDropdownFade 0.2s ease-out; 
}

@keyframes celerisDropdownFade {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.celeris-results-dropdown li {
    border-bottom: 1px solid #f1f5f9;
    margin: 0 !important;
}

.celeris-results-dropdown li:last-child {
    border-bottom: none;
}

.celeris-results-dropdown a {
    display: block;
    padding: 14px 18px;
    color: #0f172a;
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.4;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

.celeris-results-dropdown a:hover {
    background-color: #f8fafc;
    color: #002147; 
    padding-left: 22px; /* Micro-interazione: il testo rientra leggermente */
}

.celeris-results-dropdown li.no-results {
    padding: 14px 18px;
    color: #64748b;
    font-style: italic;
    font-size: 0.95rem;
}

/* --- CELERIS SWP: TESTO SEO A FONDO PAGINA --- */

.celeris-seo-section {
    width: 100%;
    flex-basis: 100%;       /* Antidoto per Flexbox */
    grid-column: 1 / -1;    /* Antidoto per CSS Grid (occupa da inizio a fine) */
    clear: both;            /* Rete di sicurezza standard */ 
    background-color: #f8fafc;
    padding: 20px 0px;
    margin-top: 20px;
    border-top: 1px solid #e2e8f0;
}

.celeris-seo-container {
    margin: 0 auto; /* Centra il testo nella pagina */
    color: #334155;
    font-size: 1rem;
    line-height: 1.8; /* Maggiore interlinea per far respirare il testo */
}

/* Stili per le intestazioni all'interno della descrizione */
.celeris-seo-container h2, 
.celeris-seo-container h3 {
    color: #002147;
    margin-top: 2em;
    margin-bottom: 0.5em;
    font-weight: 700;
}

/* Stili per i paragrafi finali */
.celeris-seo-container p {
    margin-bottom: 1.5em;
}

/* --- CELERIS SWP: PAGINA PRESENTAZIONE PROGETTO --- */

.celeris-presentation-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 60px; /* Generoso spazio di respiro tra immagine e testi */
    margin: 40px 0;
}

/* Contenitore Immagine */
.celeris-presentation-media {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    /* Un'ombra morbida ed elegante per far risaltare il mockup */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); 
    background-color: #f8fafc; /* Sfondo neutro in attesa del caricamento */
}

.celeris-showcase-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Griglia Testi 2x2 */
.celeris-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px 50px; /* Spazio verticale e orizzontale tra i blocchi */
}

.celeris-feature-block {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Spazio tra Titolo e Paragrafo */
}

.celeris-feature-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #002147; 
    margin: 0;
    line-height: 1.3;
}

.celeris-feature-text {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #475569; /* Grigio ardesia per un'ottima leggibilità */
    margin: 0;
}

/* --- MEDIA QUERY TABLET & MOBILE --- */
@media (max-width: 992px) {
    .celeris-features-grid {
        gap: 40px;
    }
    
    .celeris-feature-title {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .celeris-presentation-wrapper {
        gap: 40px;
    }

    .celeris-features-grid {
        /* Scivola su singola colonna per schermi piccoli */
        grid-template-columns: 1fr; 
        gap: 40px;
    }

    .celeris-feature-title {
        font-size: 1.3rem;
    }

    .celeris-feature-text {
        font-size: 1rem;
    }
}

.celeris-cart-margin {
        margin-top: 40px;
    }
	
	/* --- CELERIS SWP: INFORMAZIONI DI CONTATTO --- */

.celeris-contact-info {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}

.celeris-contact-title {
    font-size: 2.5rem;
    font-weight: 500;
    color: #002147;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.celeris-contact-intro {
    font-size: 1.1rem;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.celeris-info-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-left: 20px;
    border-left: 3px solid #ff6b00; /* Accento visivo colore Celeris */
}

.celeris-info-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #94a3b8;
    margin: 0;
}

.celeris-info-link,
.celeris-info-address {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
    font-style: normal; /* Previene il corsivo di default imposto dal tag <address> */
    transition: color 0.3s ease;
}

.celeris-info-link:hover {
    color: #ff6b00;
}

.celeris-info-detail {
    font-size: 0.9rem;
    color: #64748b;
}

/* --- MEDIA QUERY: MOBILE --- */
@media (max-width: 768px) {
    .celeris-contact-title {
        font-size: 1.8rem;
    }
    
    .celeris-contact-intro {
        font-size: 1rem;
    }
}

.woocommerce-form-register__submit{
margin-top: 20px
}  

/* --- CELERIS SWP: SEZIONE FAQ HTML5 (PREMIUM UPGRADE) --- */

.celeris-faq-section {
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 0px;
}

.celeris-faq-header {
    text-align: center;
    margin-bottom: 48px; /* Leggermente aumentato per dare più respiro */
}

.celeris-section-title {
    font-size: 2.5rem;
    color: #0f172a; /* Slate 900 - Più profondo ed elegante */
    margin-bottom: 12px;
    font-weight: 700;
    letter-spacing: -0.02em; /* Stringe leggermente i caratteri per un look più moderno */
}

.celeris-section-subtitle {
    font-size: 1.125rem;
    color: #64748b;
}

.celeris-faq-item {
    background-color: #ffffff;
    border: 1px solid #e2e8f0; 
    border-radius: 12px; /* Raggio aumentato per un look più "SaaS" */
    margin-bottom: 16px;
    overflow: hidden;
    /* Transizione estesa anche al trascinamento verso l'alto */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
}

/* Effetto Hover: ombra morbida diffusa e sollevamento 3D */
.celeris-faq-item:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    border-color: #cbd5e1;
    transform: translateY(-2px); 
}

/* Evidenzia la FAQ quando è aperta */
.celeris-faq-item[open] {
    border-color: #ff6b00;
    box-shadow: 0 4px 6px -1px rgba(0, 86, 179, 0.1);
}

.celeris-faq-question {
    list-style: none;
    padding: 24px; /* Padding aumentato per una "click area" migliore da mobile */
    font-weight: 600;
    font-size: 1.1rem;
    color: #1e293b;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: color 0.3s ease;
}

/* Il testo diventa blu premium quando la FAQ è aperta */
.celeris-faq-item[open] .celeris-faq-question {
    color: #ff6b00;
}

.celeris-faq-question::-webkit-details-marker {
    display: none; 
}

/* Icona Chevron in puro CSS vettoriale (0 chiamate HTTP) */
.celeris-faq-question::after {
    content: '';
    width: 20px;
    height: 20px;
    /* Disegna una freccia grigia */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    margin-left: 15px;
}

/* Quando è aperto, ruota di 180 gradi e cambia l'SVG con la versione blu */
.celeris-faq-item[open] .celeris-faq-question::after {
    transform: rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230056b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Stile della risposta e innesco dell'animazione */
.celeris-faq-answer {
    padding: 0 24px 24px 24px;
    color: #475569;
    line-height: 1.7;
    animation: faqSlideDown 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Animazione per ammorbidire lo scatto del tag <details> */
@keyframes faqSlideDown {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- CELERIS SWP: BADGE PRODOTTO DIMOSTRATIVO IN PURO CSS --- */
/* Aggiunge un'etichetta elegante sopra ogni immagine prodotto nella griglia */

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    position: relative; 
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative;
    display: block;
}

/* --- CELERIS SWP: BADGE "DEMO CELERIS" (Archivio Woo + Home Page Custom) --- */

/* Assicura che il link custom faccia da "recinto" per il badge assoluto */
.celeris-prod-card .celeris-prod-link-wrap {
    position: relative;
    display: block; 
}

.woocommerce span.onsale {
   font-size: 10px!important;
}
.woocommerce ul.products li.product .star-rating ~ .price {
  padding-right: 0px!important;
}
.woocommerce .star-rating {
  color: #C24A00!important;
}

/* --- CELERIS SWP: STILE RATING E CONTEGGIO RECENSIONI --- */
.celeris-custom-rating {
    display: flex;
    align-items: center; /* Allinea stelle e numero sulla stessa linea orizzontale */
    justify-content: flex-start; /* Incolla tutto a sinistra */
    gap: 6px; /* Spaziatura elegante tra l'ultima stella e la parentesi */
    margin-top: 12px; /* Dà respiro rispetto al prezzo sopra */
    width: 100%;
    order: 99; /* Assicura che sia sempre l'ultimo elemento in basso */
}

/* Annulla i margini nativi delle stelle per un allineamento perfetto col testo */
.celeris-custom-rating .star-rating {
    margin: 0 !important; 
}

/* Stile per il numeretto tra parentesi */
.celeris-rating-count {
    font-size: 13px;
    color: #334155; /* Un grigio ardesia premium, riposante per gli occhi */
    line-height: 1;
    font-weight: 500;
}

/* --- CELERIS SWP: STILI TRUST BAR --- */
.celeris-trust-bar {
    background-color: #f8fafc; /* Un grigio leggerissimo e freddo, molto premium */
    border-top: 1px solid #e2e8f0;
    padding: 40px 0px;
}

.celeris-trust-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    /* Magia CSS: si adatta automaticamente da 1 a 4 colonne a seconda dello schermo */
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
}

.celeris-trust-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.celeris-trust-icon {
    flex-shrink: 0;
    color: #0f172a; /* Grigio scuro per contrasto */
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05); /* Effetto profondità leggerissimo */
    padding: 8px;
}

.celeris-trust-text {
    display: flex;
    flex-direction: column;
}

.celeris-trust-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
    margin-bottom: 4px;
}

.celeris-trust-desc {
    font-size: 13px;
    color: #64748b; /* Passa l'accessibilità perché non è testo fondamentale/link, è decorativo */
    line-height: 1.3;
}

@media (max-width: 768px) {
    .celeris-trust-container {
        /* Forza esattamente 2 colonne di larghezza uguale */
        grid-template-columns: repeat(2, 1fr);
        /* Gap: 24px in verticale tra le righe, 10px in orizzontale tra le colonne */
        gap: 24px 10px; 
    }

    .celeris-trust-item {
        /* Impila l'icona e il testo in verticale per evitare schiacciamenti */
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    .celeris-trust-title {
        font-size: 14px; /* Leggermente ridotto per i piccoli schermi */
        margin-bottom: 0;
    }

    .celeris-trust-desc {
        font-size: 12px; /* Ridotto per massima leggibilità */
        line-height: 1.2;
    }
}

/* --- CELERIS SWP: STILE TESTO PRIVACY REGISTRAZIONE --- */
.woocommerce-privacy-policy-text {
    font-size: 0.85rem;
    color: #475569; /* Slate 600 - leggibile ma non invadente */
    line-height: 1.6;
    padding: 16px 20px;
    background-color: #f8fafc; /* Sfondo leggerissimo grigio-freddo */
    border: 1px solid #e2e8f0;
    border-radius: 8px; /* Curve morbide in stile SaaS premium */
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    margin-top: 20px;
}

/* Iniezione del Lucchetto SVG in puro CSS */
.woocommerce-privacy-policy-text::before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    /* Icona Lucchetto grigio scuro */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: 1px; /* Allinea l'icona alla prima riga di testo */
}

/* Stile per il link cliccabile "Privacy Policy" */
.woocommerce-privacy-policy-text a {
    color: #0f172a;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: #cbd5e1;
    text-underline-offset: 3px;
    transition: text-decoration-color 0.3s ease;
}

.woocommerce-privacy-policy-text a:hover {
    text-decoration-color: #0f172a;
}

/* Nasconde la descrizione breve prodotto dal popup carrello, pagina carrello, pagamento */
.wc-block-components-product-metadata__description{
  display: none!important;
}

/* --- CELERIS SWP: PULIZIA META PRODOTTO (Mantiene SOLO il Marchio) --- */

/* 1. Nasconde lo SKU */
.single-product div.product .product_meta .sku_wrapper {
    display: none !important;
}

/* 2. Nasconde TUTTE le voci "Categoria", "Tag" o cloni vari */
.single-product div.product .product_meta .posted_in,
.single-product div.product .product_meta .tagged_as {
    display: none !important;
}

/* 3. LA MAGIA: Riaccende SOLO la riga che contiene un link al marchio */
.single-product div.product .product_meta .posted_in:has(a[href*="/marchio/"]) {
    display: block !important;
    
    /* Piccola rifinitura estetica per far risaltare il brand */
    font-weight: 600; 
    color: #0f172a; 
}

/* --- CELERIS SWP: DISCLAIMER FOOTER DEMO (da rimuovere online) --- */
.celeris-demo-notice {
    background-color: rgba(15, 23, 42, 0.05); /* Sfondo impercettibile */
    border-left: 3px solid #ff6b00; /* Richiamo al colore del brand */
    padding: 25px 16px;
    margin-bottom: 20px;
    border-radius: 0 4px 4px 0;
}

.celeris-demo-notice p {
    font-size: 0.9rem;
    color: #000; /* Slate 500: leggibile ma non dominante */
    line-height: 1.5;
    margin: 0 !important; /* Disinnesca margini nativi dei paragrafi */
}

.celeris-demo-notice strong {
    text-transform: uppercase;
    font-size: 0.80rem;
    letter-spacing: 0.05em;
}
.woocommerce-ResetPassword, .lost_reset_password{
margin-top: 40px!important;
}

/* Nasconde il campo anti-spam invisibile (Honeypot su Form Kadence adv) */
.kb-advanced-form input[name="kb_hp_field"] {
    display: none !important;
    visibility: hidden !important;
}

/* Se il browser supporta il selettore :has, nascondiamo l'intera riga dell'honeypot per evitare spazi vuoti */
.kb-adv-form-field:has(input[name="kb_hp_field"]) {
    display: none !important;
}

/* 7. Messaggi di errore (Validazione) */
.kb-adv-form-message, .kb-adv-form-error-msg {
    color: #000000 !important;
    font-size: 16px;
    margin-top: 35px;
	font-weight: 700;
}

input[name="kb_hp_field"] {display: none !important;visibility: hidden !important;height: 0 !important;width: 0 !important;opacity: 0 !important;pointer-events: none !important;position: absolute !important;left: -9999px !important;top: -9999px !important;}

/* --- CELERIS SWP: KADENCE ADVANCED FORM STYLING --- */

/* 1. Contenitore Form (Il box pulito e strutturato) */
.wp-block-kadence-advanced-form {
    background: #ffffff;
    padding: 40px;
    border-radius: 8px; /* Raggio più ridotto per un look tech e solido */
    border-top: 3px solid #ff6b00 !important; /* Richiamo chirurgico al brand Celeris */
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); /* Ombra fredda su toni slate */
    border-left: 1px solid rgba(15, 23, 42, 0.05);
    border-right: 1px solid rgba(15, 23, 42, 0.05);
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}

/* 2. Stile Input e Textarea */
.kb-advanced-form .kb-field {
    background-color: #f8fafc !important; /* Slate 50 ultra chiaro */
    border: 1px solid #e2e8f0 !important; /* Slate 200 */
    border-radius: 4px !important; /* Spigoli quasi vivi, stile ingegneristico */
    padding: 14px 16px !important;
    font-size: 16px !important; /* 16px esatti prevengono lo zoom automatico e fastidioso su iOS */
    color: #0f172a !important; /* Slate 900 (Testo input) */
    width: 100%;
    transition: all 0.2s ease-in-out !important;
}

/* 3. Effetto Focus (Il feedback visivo premium) */
.kb-advanced-form .kb-field:focus {
    background-color: #ffffff !important;
    border-color: #ff6b00 !important;
    box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.15) !important;
    outline: none !important;
}

/* 4. Etichette (Labels) */
.kb-advanced-form .kb-adv-form-label {
    font-weight: 600 !important;
    color: #0f172a !important;
    font-size: 0.85rem !important;
    margin-bottom: 8px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
}

/* Asterisco (Required) - Accessibilità visiva standard */
.kb-advanced-form .kb-adv-form-required {
    color: #ef4444; /* Tailwind Red 500: chiaro, visibile e universalmente riconosciuto come "obbligatorio" */
    margin-left: 4px;
    font-weight: bold;
}

/* 5. Bottone di Invio */
.kb-advanced-form .kb-adv-form-submit-button {
    background-color: #0f172a !important; /* Scuro ed elegante di base */
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9rem !important;
    border: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
    margin-top: 10px;
    width: 100% !important; /* Occupa tutta la larghezza per massima usabilità */
}

/* Effetto Hover del Bottone */
.kb-advanced-form .kb-adv-form-submit-button:hover {
    background-color: #ff6b00 !important; /* Esplosione del colore brand al passaggio del mouse */
    color: #0f172a !important; /* Il testo diventa scuro per massimo contrasto col ciano */
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 212, 255, 0.2) !important;
}