:root {
    --tbg-bg-black: #030303;
    --tbg-bg-dark: #0a0a0c;
    --tbg-bg-card: #111114;
    --tbg-purple: #4d24ff;
    --tbg-text: #ffffff;
    --tbg-text-muted: #a0a0a0;
    --tbg-border: #1f1f22;
    --tbg-font: 'Montserrat', sans-serif;
}

/* RISOLVE IL PROBLEMA DEI PULSANTI SPOSTATI */
*, *::before, *::after {
    box-sizing: border-box;
}

body { margin: 0; background-color: var(--tbg-bg-black); }

.tbg-site-wrapper {
    background-color: var(--tbg-bg-black);
    color: var(--tbg-text);
    font-family: var(--tbg-font);
    line-height: 1.6;
}

/* --- ICONE VETTORIALI SVG --- */
.tbg-svg-icon { stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tbg-icon-sm { width: 20px; height: 20px; }
.tbg-icon-md { width: 24px; height: 24px; }
.tbg-icon-lg { width: 40px; height: 40px; }

/* --- HEADER (Bilanciato e distanziato) --- */
.tbg-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 5%; 
    background-color: rgba(3, 3, 3, 0.98);
    border-bottom: 1px solid var(--tbg-border);
    position: relative; /* AGGIUNTO */
    z-index: 1000;      /* AGGIUNTO */
}
/* Nascondi il tasto Hamburger su PC */
.tbg-mobile-menu-btn { display: none; margin-left: 10px; }
.tbg-logo img { height: 65px; transition: 0.3s ease; }
.tbg-nav a { 
    color: var(--tbg-text-muted); 
    text-decoration: none; 
    margin: 0 20px; /* Più spazio tra i link */
    font-size: 0.85rem; 
    font-weight: 600; 
    text-transform: uppercase; 
    letter-spacing: 1.5px; /* Effetto più premium */
    transition: 0.3s;
}
.tbg-nav a:hover, .tbg-nav a.active { color: var(--tbg-text); border-bottom: 2px solid var(--tbg-purple); padding-bottom: 5px; }

.tbg-header-icons { display: flex; align-items: center; gap: 20px; }
.icon-btn { display: flex; align-items: center; cursor: pointer; position: relative; color: var(--tbg-text-muted); transition: 0.3s; }
.icon-btn:hover { color: var(--tbg-text); }
.cart-count { background: var(--tbg-purple); color: #fff; font-size: 0.65rem; font-weight: 800; padding: 2px 6px; border-radius: 50%; position: absolute; top: -8px; right: -10px; }

/* --- BOTTONI & TYPOGRAPHY --- */
.tbg-accent { color: var(--tbg-purple); }
.tbg-accent-text { color: var(--tbg-purple); font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; display: block; margin-bottom: 10px; font-weight: 700; }
.tbg-btn { display: inline-flex; align-items: center; justify-content: center; padding: 18px 40px; font-weight: 700; text-decoration: none; text-transform: uppercase; font-size: 0.85rem; transition: 0.3s; cursor: pointer; letter-spacing: 1px; }
.tbg-btn-primary { background-color: var(--tbg-purple); color: #fff; border: none; }
.tbg-btn-primary:hover { background-color: #5c3aff; }
.tbg-btn-outline { background-color: transparent; border: 1px solid #444; color: #fff; }
.tbg-btn-outline:hover { border-color: #fff; }

/* --- HERO (Impostata perfettamente al centro e massiccia) --- */
.tbg-hero {
    position: relative; 
    min-height: 70vh; /* Abbassato da 85vh per far salire la barra inferiore nello schermo */
    background-color: #050505; 
    background-image: image-set(url('../img/hero-bg.webp') type('image/webp'), url('../img/hero-bg.png') type('image/png')); 
    background-size: cover; 
    background-position: 70% center; 
    background-repeat: no-repeat;
    display: flex; 
    align-items: center; 
    padding: 0 5%; 
    border-bottom: 1px solid var(--tbg-border);
}
/* Sfumatura ammorbidita per mostrare di più l'auto */
.tbg-hero-overlay { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    background: linear-gradient(90deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.6) 45%, rgba(0,0,0,0) 100%); 
    z-index: 1; 
}
.tbg-hero-content { position: relative; z-index: 2; max-width: 800px; margin-top: -30px; }
/* Titolo: compresso e gigante */
.tbg-title { font-size: 6.5rem; font-weight: 900; line-height: 0.92; margin: 15px 0; letter-spacing: -3px; text-transform: uppercase; }
.tbg-subtitle { font-size: 0.85rem; font-weight: 700; letter-spacing: 3px; color: #ccc; display: flex; align-items: center; gap: 10px; margin-bottom: 10px; text-transform: uppercase; }
.tbg-description { font-size: 1.15rem; color: #a0a0a0; margin-bottom: 45px; line-height: 1.7; max-width: 650px; }
.tbg-buttons { display: flex; gap: 20px; }


/* --- DA QUI IN GIÙ È TUTTO UGUALE A PRIMA --- */

/* --- FEATURES --- */
.tbg-features { display: grid; grid-template-columns: repeat(4, 1fr); padding: 60px 5%; background-color: var(--tbg-bg-dark); border-bottom: 1px solid var(--tbg-border); gap: 30px; }
.tbg-feature { display: flex; align-items: flex-start; gap: 15px; }
.tbg-feature-icon { color: var(--tbg-text-muted); }
.tbg-feature h3 { font-size: 0.9rem; font-weight: 700; margin: 0 0 5px 0; letter-spacing: 1px;}
.tbg-feature p { font-size: 0.8rem; color: var(--tbg-text-muted); margin: 0; }

/* --- SHOP --- */
.tbg-shop { display: flex; padding: 80px 5%; align-items: center; border-bottom: 1px solid var(--tbg-border); background-color: var(--tbg-bg-black); }
.tbg-shop-intro { width: 25%; padding-right: 40px; }
.tbg-shop-intro h2 { font-size: 2.2rem; font-weight: 900; line-height: 1.1; margin: 0 0 20px 0; }
.tbg-shop-intro p { color: var(--tbg-text-muted); font-size: 0.9rem; margin-bottom: 30px; }
.tbg-shop-slider-container { width: 75%; display: flex; align-items: center; position: relative; }
.tbg-product-track { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 10px; scroll-behavior: smooth; }
.tbg-product-track { 
    display: flex; 
    gap: 20px; 
    overflow-x: auto; 
    padding-bottom: 10px; 
    scroll-behavior: smooth; 
    /* scroll-snap-type RIMOSSO per garantire lo scorrimento liscio e continuo */
    -ms-overflow-style: none;  
    scrollbar-width: none;  
    overscroll-behavior-x: none; 
}
.tbg-product-track::-webkit-scrollbar { display: none; }

.tbg-product-card { 
    background: var(--tbg-bg-card); 
    border-radius: 6px; 
    padding: 20px; 
    min-width: 250px; 
    border: 1px solid var(--tbg-border); 
    /* scroll-snap-align RIMOSSO per non bloccare più le card */
    flex: 0 0 auto; 
    display: flex;
    flex-direction: column;
}

/* --- RIPRISTINO STILI CANCELLATI PER ERRORE --- */
.tbg-product-img-wrap { background-color: #1a1a1c; height: 180px; border-radius: 4px; margin-bottom: 20px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.tbg-product-img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tbg-product-img:not([src]), .tbg-product-img[src=""] { visibility: hidden; }
.tbg-product-card h4 { font-size: 0.9rem; font-weight: 800; margin: 0 0 5px 0; text-transform: uppercase;}
.tbg-product-card p { font-size: 0.75rem; color: var(--tbg-text-muted); margin: 0 0 15px 0; letter-spacing: 1px;}
.tbg-price { color: var(--tbg-purple); font-weight: 700; font-size: 1.1rem; }

/* MAGIA CORRETTA: Forziamo il link interno a flex bypassando l'HTML */
.tbg-product-card > a {
    display: flex !important;
    flex-direction: column;
    height: 100%;
}

/* Spinge il prezzo sempre in basso, allineando tutte le card in modo millimetrico! */
.tbg-product-card .tbg-price {
    margin-top: auto; 
}
.slider-arrow { background: transparent; border: none; color: #fff; font-size: 2rem; cursor: pointer; padding: 0 15px; }

/* Card Finale "Vedi Tutti" */
.tbg-product-card-more {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, var(--tbg-bg-card) 0%, #16161d 100%);
    border: 2px dashed #333;
    transition: 0.3s;
}
.tbg-product-card-more:hover { border-color: var(--tbg-purple); background: #16161d; }
.tbg-more-content { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.tbg-more-content .tbg-svg-icon { color: var(--tbg-purple); width: 45px; height: 45px; }
.tbg-more-content h4 { font-size: 1rem; margin: 0; line-height: 1.3; }
.tbg-more-content p { margin: 0; font-size: 0.75rem; color: var(--tbg-text-muted); }

/* --- PAGINA INTERNA: SHOP COMPLETO --- */
.tbg-page-header { padding: 120px 5% 60px 5%; text-align: center; background-color: #050505; border-bottom: 1px solid var(--tbg-border); }
.tbg-page-header .tbg-accent-text { justify-content: center; display: flex; align-items: center; gap: 10px; }
.tbg-page-title { font-size: 3.5rem; font-weight: 900; letter-spacing: -2px; margin: 10px 0 0 0; text-transform: uppercase; }

.tbg-shop-layout { display: flex; padding: 60px 5%; gap: 50px; align-items: flex-start; background-color: var(--tbg-bg-black); }
.tbg-shop-sidebar { width: 250px; flex-shrink: 0; position: sticky; top: 100px; }
.tbg-shop-sidebar h3 { font-size: 1rem; font-weight: 800; border-bottom: 2px solid var(--tbg-border); padding-bottom: 15px; margin-bottom: 20px; letter-spacing: 1px; }

.tbg-filter-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px;}
.tbg-filter-list a { color: var(--tbg-text-muted); text-decoration: none; transition: 0.3s; display: block; padding: 12px 15px; border-radius: 4px; background: #0a0a0c; border: 1px solid var(--tbg-border); font-size: 0.85rem; font-weight: 600;}
.tbg-filter-list a:hover, .tbg-filter-list a.active { color: #fff; border-color: var(--tbg-purple); background: #111; }

.tbg-shop-main { flex-grow: 1; }
.tbg-shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 25px; }

/* Adatta le card alla griglia (resetta le regole dello slider orizzontale) */
.tbg-shop-grid .tbg-product-card { width: 100%; min-width: unset; margin: 0; scroll-snap-align: none; flex: none; }

/* --- BARRA ORDINAMENTO SHOP --- */
.tbg-shop-controls { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-bottom: 30px; 
    padding-bottom: 15px;
    border-bottom: 1px solid #1a1a1c;
}
.tbg-results-count { font-size: 0.85rem; color: var(--tbg-text-muted); font-weight: 600; }
.tbg-sort-select { 
    background-color: #0a0a0c; 
    color: #fff; 
    border: 1px solid var(--tbg-border); 
    padding: 10px 15px; 
    border-radius: 4px; 
    font-family: var(--tbg-font); 
    font-size: 0.85rem; 
    font-weight: 600;
    outline: none; 
    cursor: pointer; 
    transition: 0.3s; 
}
.tbg-sort-select:focus, .tbg-sort-select:hover { border-color: var(--tbg-purple); }

/* Su mobile mettiamo il contatore e la tendina in colonna */
@media (max-width: 768px) {
    .tbg-shop-controls { flex-direction: column; gap: 15px; align-items: flex-start; }
    .tbg-sort-select { width: 100%; }
}

/* --- CUSTOM PROJECTS --- */
.tbg-custom-projects { padding: 120px 5%; background-color: #111; background-size: cover; background-position: center; position: relative; border-bottom: 1px solid var(--tbg-border); }
.tbg-custom-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(3,3,3,0.9) 0%, rgba(3,3,3,0.4) 100%); z-index: 1; }
.tbg-custom-content { position: relative; z-index: 2; max-width: 600px; }
.tbg-custom-projects h2 { font-size: 3rem; font-weight: 900; line-height: 1.1; margin-bottom: 20px; }

/* --- PORTFOLIO --- */
.tbg-portfolio { padding: 80px 5%; background-color: var(--tbg-bg-black); border-bottom: 1px solid var(--tbg-border); }
.tbg-portfolio h2 { font-size: 2.2rem; font-weight: 900; margin-bottom: 40px; margin-top: 0; }
.tbg-portfolio-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }

/* Aggiornato: Transizione e stato Hover */
.tbg-portfolio-item { 
    background-color: #1a1a1c; 
    height: 220px; 
    border-radius: 6px; 
    background-size: cover; 
    background-position: center; 
    border: 1px solid #222; 
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.tbg-portfolio-item:hover {
    transform: translateY(-8px);
    border-color: var(--tbg-purple);
    box-shadow: 0 15px 30px rgba(77, 36, 255, 0.3);
    z-index: 2;
}

/* --- FOOTER --- */
.tbg-footer { display: grid; grid-template-columns: 1.5fr 1fr 1.5fr 1fr; gap: 50px; padding: 80px 5%; font-size: 0.85rem; color: var(--tbg-text-muted); background-color: var(--tbg-bg-dark); }
.footer-logo { max-width: 140px; height: auto; display: block; margin-bottom: 25px; }
.tbg-footer h4 { color: #fff; font-size: 0.95rem; margin-bottom: 25px; font-weight: 800; letter-spacing: 1px; }
.tbg-contact-list { list-style: none; padding: 0; margin: 0; }
.tbg-contact-list li { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 15px; line-height: 1.5; }
.tbg-contact-list .tbg-svg-icon { color: var(--tbg-purple); margin-top: 2px; }
/* Social Links */
.tbg-social { display: flex; gap: 12px; margin-top: 30px; }
.tbg-social a { 
    color: var(--tbg-text-muted); 
    background-color: #1a1a1c; /* Sfondo scuro per il bottone */
    width: 36px; 
    height: 36px; 
    border-radius: 6px;
    display: flex; 
    align-items: center; 
    justify-content: center;
    transition: 0.3s; 
    border: 1px solid transparent;
}
.tbg-social a:hover { 
    color: var(--tbg-purple); 
    border-color: var(--tbg-purple);
    background-color: transparent;
    transform: translateY(-3px); 
}
.tbg-social .tbg-svg-icon { width: 18px; height: 18px; }
.tbg-newsletter-form { display: flex; margin-top: 20px; width: 100%; max-width: 350px;}
.tbg-newsletter-form input { background: #1a1a1c; border: 1px solid #333; color: #fff; padding: 14px 15px; width: 100%; border-radius: 4px 0 0 4px; outline: none; transition: 0.3s; }
.tbg-newsletter-form input:focus { border-color: var(--tbg-purple); }
.tbg-newsletter-form button { background: var(--tbg-purple); border: none; color: #fff; padding: 0 25px; border-radius: 0 4px 4px 0; cursor: pointer; transition: 0.3s; }
.tbg-newsletter-form button:hover { background: #5c3aff; }
.footer-links { display: flex; flex-direction: column; gap: 15px; }
.footer-links a { color: var(--tbg-text-muted); text-decoration: none; font-weight: 600; transition: 0.3s; }
.footer-links a:hover { color: var(--tbg-purple); padding-left: 5px; }

/* --- PAGINA CUSTOM PROJECTS: MULTI-STEP FORM --- */
.tbg-custom-hero { 
    /* Spaziature aumentate per monitor grandi */
    padding: 180px 5% 160px 5%; 
    min-height: 60vh; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center; 
    /* Ho inserito il nuovo nome dell'immagine di sfondo */
    background: linear-gradient(180deg, rgba(3,3,3,0.85) 0%, rgba(3,3,3,1) 100%), image-set(url('../img/hero-welding.webp') type('image/webp'), url('../img/hero-welding.png') type('image/png')) center/cover no-repeat; 
    border-bottom: none; 
}

.tbg-custom-hero .tbg-title { 
    font-size: 4.5rem; 
    margin: 15px 0 0 0; 
    line-height: 1.1;
}

.tbg-step-form-wrapper { 
    max-width: 900px; 
    width: 100%;
    /* Posizionamento perfetto a cavallo tra sfondo e pagina nera */
    margin: -100px auto 100px auto; 
    background: var(--tbg-bg-card); 
    padding: 50px; 
    border-radius: 8px; 
    border: 1px solid #222; 
    box-shadow: 0 20px 50px rgba(0,0,0,0.5); 
    position: relative; 
    z-index: 10; 
}
/* Stili per le nuove immagini dentro i bottoni di scelta */
.tbg-radio-img { width: 100%; height: 140px; object-fit: contain; border-radius: 4px; margin-bottom: 15px; filter: grayscale(70%) opacity(0.7); transition: 0.3s; }
.tbg-radio-card:hover .tbg-radio-img, .tbg-radio-card.selected .tbg-radio-img { filter: grayscale(0%) opacity(1); }
.tbg-disclaimer { font-size: 0.75rem; color: #666; text-align: center; margin-top: 20px; font-style: italic; }

.tbg-step-indicator { display: flex; justify-content: space-between; margin-bottom: 40px; position: relative; }
.tbg-step-indicator::before { content: ''; position: absolute; top: 18px; left: 0; width: 100%; height: 2px; background: #222; z-index: 1; }
.tbg-step-dot { width: 38px; height: 38px; background: #222; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #555; position: relative; z-index: 2; transition: 0.4s; }
.tbg-step-dot.active { background: var(--tbg-purple); color: #fff; box-shadow: 0 0 15px rgba(77, 36, 255, 0.4); }
.tbg-step-dot.completed { background: #fff; color: #000; }

.tbg-form-step { display: none; animation: fadeIn 0.4s forwards; }
.tbg-form-step.active { display: block; }
.tbg-form-step h3 { font-size: 1.8rem; margin: 0 0 10px 0; }
.tbg-form-step > p { color: var(--tbg-text-muted); margin-bottom: 30px; }

.tbg-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.tbg-form-grid.full { grid-template-columns: 1fr; }
.tbg-form-group { display: flex; flex-direction: column; gap: 10px; }
.tbg-form-group label { font-size: 0.85rem; font-weight: 700; color: #ccc; text-transform: uppercase; letter-spacing: 1px; }
.tbg-form-group input, .tbg-form-group select, .tbg-form-group textarea { background: #0a0a0c; border: 1px solid #333; color: #fff; padding: 16px; border-radius: 4px; font-family: var(--tbg-font); outline: none; transition: 0.3s; font-size: 1rem; }
.tbg-form-group input:focus, .tbg-form-group select:focus, .tbg-form-group textarea:focus { border-color: var(--tbg-purple); }

.tbg-radio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tbg-radio-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
/* Custom Project: con Downpipe le scelte sono quattro. A larghezze intermedie
   passiamo a 2 colonne per mantenere immagini e titoli leggibili. */
@media (min-width: 769px) and (max-width: 1100px) {
    .tbg-radio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.tbg-radio-card { border: 2px solid #222; padding: 25px 20px; border-radius: 6px; cursor: pointer; text-align: center; transition: 0.3s; background: #0a0a0c; }
.tbg-radio-card:hover { border-color: #555; }
.tbg-radio-card.selected { border-color: var(--tbg-purple); background: rgba(77, 36, 255, 0.05); }
.tbg-radio-card .tbg-svg-icon { width: 40px; height: 40px; margin-bottom: 15px; color: var(--tbg-purple); }
.tbg-radio-card h4 { margin: 0; font-size: 1rem; }
.tbg-radio-card input { display: none; }

.tbg-form-actions { display: flex; justify-content: space-between; margin-top: 40px; border-top: 1px solid #222; padding-top: 30px; }
.tbg-btn-secondary { background: #222; color: #fff; border: none; padding: 15px 35px; font-weight: 700; cursor: pointer; border-radius: 4px; transition: 0.3s; }
.tbg-btn-secondary:hover { background: #333; }

/* --- TASTO PLAY SOUND --- */
.tbg-material-header { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 10px; }
.tbg-material-header h4 { margin: 0; }
.tbg-play-sound { 
    width: 35px; height: 35px; 
    background: rgba(77, 36, 255, 0.1); 
    color: var(--tbg-purple); 
    border: 1px solid var(--tbg-purple); 
    border-radius: 50%; 
    display: flex; align-items: center; justify-content: center; 
    cursor: pointer; transition: 0.3s; z-index: 10;
}
.tbg-play-sound:hover { background: var(--tbg-purple); color: #fff; box-shadow: 0 0 10px rgba(77, 36, 255, 0.5); }
.tbg-play-sound svg { width: 16px; height: 16px; fill: currentColor; stroke: none; }

/* --- PAGINA PORTFOLIO: PREMIUM SHOWROOM --- */
.tbg-portfolio-layout { padding: 60px 5% 100px 5%; background-color: var(--tbg-bg-black); }

/* Griglia Premium a 2 colonne grandi e massicce */
.tbg-portfolio-showroom { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 30px; 
    max-width: 1600px; 
    margin: 0 auto; 
}

/* La Card del Progetto */
.tbg-portfolio-card { 
    position: relative; 
    height: 450px; 
    border-radius: 8px; 
    overflow: hidden; 
    border: 1px solid var(--tbg-border);
    background-size: cover;
    background-position: center;
    cursor: pointer;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

/* Overlay scuro di base che si schiarisce al passaggio del mouse */
.tbg-portfolio-overlay { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    background: linear-gradient(180deg, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0.9) 100%); 
    transition: 0.4s ease;
    z-index: 1;
}

/* Contenitore dei testi che sale dall'basso */
.tbg-portfolio-info { 
    position: absolute; bottom: 0; left: 0; width: 100%; 
    padding: 40px; 
    z-index: 2; 
    transform: translateY(20px);
    transition: transform 0.4s ease;
}

.tbg-portfolio-info .tbg-accent-text { margin-bottom: 5px; font-weight: 800; }
.tbg-portfolio-info h3 { font-size: 2rem; font-weight: 900; margin: 0 0 10px 0; text-transform: uppercase; letter-spacing: -1px; line-height: 1.1; }
.tbg-portfolio-info p { color: var(--tbg-text-muted); margin: 0; font-size: 0.9rem; max-width: 80%; opacity: 0; transition: opacity 0.4s ease; }

/* --- EFFETTI HOVER (Solo PC) --- */
@media (min-width: 769px) {
    .tbg-portfolio-card:hover { 
        border-color: var(--tbg-purple);
        box-shadow: 0 15px 40px rgba(77, 36, 255, 0.25);
        transform: translateY(-5px);
    }
    .tbg-portfolio-card:hover .tbg-portfolio-overlay { 
        background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.95) 100%); 
    }
    .tbg-portfolio-card:hover .tbg-portfolio-info { transform: translateY(0); }
    .tbg-portfolio-card:hover .tbg-portfolio-info p { opacity: 1; }
}

/* --- SFONDO HERO PORTFOLIO --- */
.tbg-portfolio-hero {
    padding: 160px 5% 80px 5% !important;
    background: linear-gradient(180deg, rgba(3,3,3,0.75) 0%, rgba(3,3,3,0.4) 50%, #030303 100%), 
                image-set(url('../img/portfolio-bg.webp') type('image/webp'), url('../img/portfolio-bg.png') type('image/png')) center/cover no-repeat !important;
    border-bottom: none !important;
}

/* --- PAGINA CHI SIAMO: BRUTALIST PREMIUM --- */
.tbg-about-hero { 
    position: relative;
    padding: 220px 5% 150px 5%; 
    text-align: center; 
    background: radial-gradient(circle at center, rgba(77, 36, 255, 0.15) 0%, rgba(3,3,3,1) 70%), image-set(url('../img/hero-welding.webp') type('image/webp'), url('../img/hero-welding.png') type('image/png')) center/cover no-repeat; 
    border-bottom: none;
    overflow: hidden;
}

/* Testo Gigante in Background (Bilanciato) */
.tbg-bg-text-giant {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-size: 13vw; /* Rimpicciolito leggermente */
    font-weight: 900;
    color: rgba(255, 255, 255, 0.02); /* Reso molto più invisibile e delicato */
    white-space: nowrap;
    z-index: 0;
    pointer-events: none;
    letter-spacing: -5px;
}
/* Aggiungiamo un alone luminoso al testo viola per farlo leggere meglio */
.tbg-title .tbg-accent { text-shadow: 0 0 20px rgba(77, 36, 255, 0.6); }

.tbg-about-hero-content { position: relative; z-index: 2; }
.tbg-about-hero p { max-width: 600px; margin: 20px auto 0 auto; color: #ccc; font-size: 1.2rem; line-height: 1.6; }

/* Griglia Asimmetrica con Glow Effect */
.tbg-about-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 60px; padding: 120px 5%; align-items: center; max-width: 1400px; margin: 0 auto; position: relative; }
.tbg-about-grid.reverse { grid-template-columns: 6fr 5fr; }
.tbg-about-grid.reverse .tbg-about-text { order: 2; }
.tbg-about-grid.reverse .tbg-about-img-wrap { order: 1; }

.tbg-about-text h2 { font-size: 3.5rem; font-weight: 900; line-height: 1; margin: 0 0 30px 0; text-transform: uppercase; letter-spacing: -2px; color: #fff; }
.tbg-about-text p { color: #888; font-size: 1.1rem; line-height: 1.8; margin-bottom: 25px; font-weight: 600; }
.tbg-about-text .tbg-btn {
    width: max-content; /* Impedisce al bottone di spalmarsi su tutta la riga */
}
.tbg-about-text p strong { color: #fff; background: rgba(77, 36, 255, 0.2); padding: 0 5px; }

/* Immagini con Aura Viola */
.tbg-about-img-wrap { position: relative; }
.tbg-about-img-wrap::before { 
    content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
    width: 90%; height: 90%; background: var(--tbg-purple); filter: blur(80px); opacity: 0.3; z-index: 0; transition: 0.5s;
}
.tbg-about-img-wrap:hover::before { opacity: 0.6; width: 100%; filter: blur(100px); }
.tbg-about-img { position: relative; z-index: 1; border-radius: 4px; overflow: hidden; border: 1px solid #333; }
/* Magia per l'aspetto delle foto */
.tbg-about-img img { 
    width: 100%; 
    aspect-ratio: 4/5; /* FORZA LA FOTO A ESSERE UN RETTANGOLO VERTICALE */
    object-fit: cover; /* Ritaglia l'eccesso senza deformare l'immagine */
    display: block; 
    filter: contrast(120%) brightness(0.8) grayscale(30%); 
    transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1); 
}
.tbg-about-img:hover img { filter: contrast(110%) brightness(1) grayscale(0%); transform: scale(1.05); }

/* --- MARQUEE (Nastro Scorrevole Infinito) --- */
.tbg-marquee-wrap { width: 100%; overflow: hidden; background: var(--tbg-purple); padding: 20px 0; transform: rotate(-2deg); margin: 80px 0; border-top: 2px solid #fff; border-bottom: 2px solid #fff; position: relative; z-index: 10; box-shadow: 0 0 30px rgba(77,36,255,0.4); }
.tbg-marquee { white-space: nowrap; animation: scrollMarquee 25s linear infinite; display: flex; gap: 50px; width: fit-content; }
.tbg-marquee span { font-weight: 900; font-size: 2rem; color: #000; text-transform: uppercase; letter-spacing: 2px; }
.tbg-marquee span i { font-style: normal; color: #fff; } /* Il pallino divisore */
@keyframes scrollMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* --- FIX MOBILE CHI SIAMO --- */
@media (max-width: 768px) {
    .tbg-about-hero { padding: 150px 5% 80px 5%; }
    .tbg-bg-text-giant { font-size: 25vw; }
    .tbg-about-grid, .tbg-about-grid.reverse { grid-template-columns: 1fr; gap: 50px; padding: 60px 5%; }
    .tbg-about-grid.reverse .tbg-about-text { order: 1; }
    .tbg-about-grid.reverse .tbg-about-img-wrap { order: 2; }
    .tbg-about-text h2 { font-size: 2.2rem; }
    .tbg-marquee span { font-size: 1.5rem; }
    .tbg-marquee-wrap { transform: rotate(-3deg); padding: 15px 0; }
}

/* --- PAGINA CONTATTI --- */
.tbg-contact-hero { 
    padding: 160px 5% 60px 5%; 
    text-align: center; 
    background: linear-gradient(180deg, rgba(3,3,3,0.8) 0%, #030303 100%), image-set(url('../img/portfolio-bg.webp') type('image/webp'), url('../img/portfolio-bg.png') type('image/png')) center/cover no-repeat; 
    border-bottom: none;
}
.tbg-contact-grid { 
    display: grid; 
    grid-template-columns: 1fr 1.2fr; 
    gap: 60px; 
    padding: 40px 5% 120px 5%; 
    max-width: 1400px; 
    margin: 0 auto; 
    align-items: flex-start;
}

/* Info Cards (Sinistra) */
.tbg-contact-info-list { display: flex; flex-direction: column; gap: 20px; }
.tbg-contact-info-card { 
    background: #0a0a0c; 
    border: 1px solid #222; 
    padding: 35px 30px; 
    border-radius: 6px; 
    transition: 0.4s ease; 
    display: flex; 
    gap: 20px; 
    align-items: center;
}
.tbg-contact-info-card:hover { border-color: var(--tbg-purple); box-shadow: 0 10px 30px rgba(77, 36, 255, 0.15); transform: translateX(5px); }
/* --- ICONE CONTATTI LUMINOSE --- */
.tbg-contact-info-card .tbg-icon-wrap { 
    background: rgba(77, 36, 255, 0.15); 
    width: 60px; height: 60px; 
    border-radius: 50%; 
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    border: 1px solid rgba(77, 36, 255, 0.4); /* Bordino luminoso */
    box-shadow: 0 0 20px rgba(77, 36, 255, 0.2); /* Alone neon di base */
    transition: 0.4s ease;
}

.tbg-contact-info-card svg { 
    width: 28px; height: 28px; 
    color: var(--tbg-purple); 
    fill: none; /* Rimuove il "tappo" nero */
    stroke: currentColor; /* Colora solo il bordo del vettore */
    stroke-width: 2; 
    stroke-linecap: round; 
    stroke-linejoin: round;
    transition: 0.4s ease;
}

/* Magia interattiva: quando passi il mouse sulla card, il tondino si accende a palla! */
.tbg-contact-info-card:hover .tbg-icon-wrap {
    background: var(--tbg-purple);
    box-shadow: 0 0 35px rgba(77, 36, 255, 0.6);
}
.tbg-contact-info-card:hover svg {
    color: #fff; /* L'icona diventa bianca sul tondino viola */
}
.tbg-contact-info-card h4 { margin: 0 0 5px 0; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 1px; }
.tbg-contact-info-card p { color: var(--tbg-text-muted); margin: 0; font-size: 0.95rem; line-height: 1.5; }
.tbg-contact-info-card a { color: #fff; text-decoration: none; font-weight: 700; transition: 0.3s; }
.tbg-contact-info-card a:hover { color: var(--tbg-purple); }

/* Form (Destra) */
.tbg-contact-form-box { background: var(--tbg-bg-card); border: 1px solid #222; padding: 50px; border-radius: 8px; box-shadow: 0 20px 50px rgba(0,0,0,0.5); }
.tbg-contact-form-box h3 { font-size: 2.2rem; font-weight: 900; margin: 0 0 10px 0; text-transform: uppercase; letter-spacing: -1px; }
.tbg-contact-form-box > p { color: var(--tbg-text-muted); margin-bottom: 30px; line-height: 1.6; }

/* --- PAGINA SINGOLO PRODOTTO --- */
.tbg-single-product-layout { 
    display: grid; 
    grid-template-columns: 1.2fr 1fr; 
    gap: 60px; 
    padding: 120px 5% 100px 5%; 
    max-width: 1400px; 
    margin: 0 auto; 
    align-items: flex-start;
}

/* Colonna Sinistra (Galleria) */
.tbg-sp-gallery { position: sticky; top: 120px; }
.tbg-sp-main-img { 
    width: 100%; 
    height: 600px; 
    background-color: var(--tbg-bg-card); 
    border-radius: 8px; 
    border: 1px solid var(--tbg-border); 
    display: flex; align-items: center; justify-content: center; 
    overflow: hidden;
}
.tbg-sp-main-img img { width: 90%; height: 90%; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,0.8)); }

/* Colonna Destra (Info Prodotto) */
.tbg-sp-breadcrumbs { font-size: 0.8rem; color: var(--tbg-text-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; }
.tbg-sp-breadcrumbs a { color: var(--tbg-purple); text-decoration: none; }
.tbg-sp-title { font-size: 2.5rem; font-weight: 900; line-height: 1.1; margin: 0 0 15px 0; text-transform: uppercase; }
.tbg-sp-price { font-size: 2rem; font-weight: 800; color: #fff; margin-bottom: 30px; display: block; }
.tbg-sp-desc { color: var(--tbg-text-muted); font-size: 1rem; line-height: 1.7; margin-bottom: 40px; }

/* Varianti Materiale */
.tbg-sp-variants h4 { font-size: 0.85rem; text-transform: uppercase; color: #ccc; margin-bottom: 15px; letter-spacing: 1px; }
.tbg-variant-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 40px; }
.tbg-variant-card { 
    border: 2px solid #222; 
    padding: 15px; 
    border-radius: 6px; 
    cursor: pointer; 
    text-align: center; 
    background: #0a0a0c; 
    transition: 0.3s;
}
.tbg-variant-card.selected { border-color: var(--tbg-purple); background: rgba(77, 36, 255, 0.05); }
.tbg-variant-card span { display: block; font-weight: 800; font-size: 0.95rem; }
.tbg-variant-card small { color: var(--tbg-text-muted); font-size: 0.75rem; }

/* Bottoni Acquisto */
.tbg-sp-actions { display: flex; gap: 15px; margin-bottom: 50px; }
.tbg-sp-btn-add { flex: 2; padding: 20px; font-size: 1.1rem; }
.tbg-sp-btn-wish { flex: 1; padding: 20px; font-size: 1.1rem; display: flex; justify-content: center; }

/* Specifiche Tecniche */
.tbg-sp-specs { border-top: 1px solid var(--tbg-border); padding-top: 30px; }
.tbg-sp-specs li { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #1a1a1c; font-size: 0.9rem; }
.tbg-sp-specs li span:first-child { color: var(--tbg-text-muted); }
.tbg-sp-specs li span:last-child { font-weight: 700; color: #fff; }

/* --- PAGINA SINGOLO PROGETTO (PORTFOLIO DETTAGLIO) --- */
.tbg-project-hero {
    height: 70vh;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 60px 5%;
    border-bottom: 1px solid var(--tbg-border);
}
.tbg-project-hero::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(180deg, rgba(3,3,3,0) 0%, rgba(3,3,3,0.95) 100%);
    z-index: 1;
}
.tbg-project-hero-content { position: relative; z-index: 2; width: 100%; max-width: 1400px; margin: 0 auto; }
.tbg-project-hero-content h1 { font-size: 5rem; font-weight: 900; line-height: 1; margin: 10px 0 0 0; text-transform: uppercase; letter-spacing: -2px; }

.tbg-project-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 80px;
    padding: 100px 5%;
    max-width: 1400px;
    margin: 0 auto;
    align-items: flex-start;
}

/* Colonna Testi */
.tbg-project-story h3 { font-size: 1.8rem; font-weight: 900; margin: 40px 0 15px 0; text-transform: uppercase; color: #fff; }
.tbg-project-story h3:first-child { margin-top: 0; }
.tbg-project-story p { color: var(--tbg-text-muted); font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; }
.tbg-project-story strong { color: #fff; }

/* Colonna Specifiche (Sticky) */
.tbg-project-specs-card {
    background: var(--tbg-bg-card);
    border: 1px solid var(--tbg-border);
    border-radius: 8px;
    padding: 40px;
    position: sticky;
    top: 120px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.tbg-project-specs-card h4 { font-size: 1.2rem; font-weight: 900; margin: 0 0 25px 0; text-transform: uppercase; border-bottom: 2px solid var(--tbg-purple); padding-bottom: 15px; display: inline-block;}
.tbg-spec-list { list-style: none; padding: 0; margin: 0; }
.tbg-spec-list li { margin-bottom: 20px; }
.tbg-spec-list span { display: block; font-size: 0.8rem; color: #888; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; font-weight: 700; }
.tbg-spec-list strong { display: block; font-size: 1.1rem; color: #fff; font-weight: 800; }

/* =========================================
   CARRELLO LATERALE (OFFCANVAS)
   ========================================= */
.tbg-cart-overlay { 
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.8); z-index: 2000; 
    opacity: 0; visibility: hidden; transition: 0.4s ease; backdrop-filter: blur(4px); 
}
.tbg-cart-overlay.open { opacity: 1; visibility: visible; }

.tbg-cart-sidebar { 
    position: fixed; top: 0; right: -450px; width: 420px; max-width: 100%; height: 100vh; 
    background: #0a0a0c; z-index: 2001; box-shadow: -10px 0 30px rgba(0,0,0,0.9); 
    transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1); 
    display: flex; flex-direction: column; border-left: 1px solid var(--tbg-purple); 
    /* AGGIUNTO IL COLORE BIANCO E IL FONT */
    color: #fff;
    font-family: var(--tbg-font);
}
.tbg-cart-sidebar.open { right: 0; }

.tbg-cart-header { padding: 25px; border-bottom: 1px solid #1f1f22; display: flex; justify-content: space-between; align-items: center; }
.tbg-cart-header h3 { margin: 0; font-size: 1.2rem; font-weight: 900; letter-spacing: 1px; color: #fff; }
.tbg-cart-close { background: transparent; border: none; color: #fff; cursor: pointer; transition: 0.3s; display: flex; align-items: center; justify-content: center; padding: 5px; }
.tbg-cart-close:hover { color: var(--tbg-purple); transform: rotate(90deg); }

.tbg-cart-items { flex-grow: 1; overflow-y: auto; padding: 25px; display: flex; flex-direction: column; gap: 20px; }
.tbg-cart-items::-webkit-scrollbar { width: 5px; }
.tbg-cart-items::-webkit-scrollbar-thumb { background: var(--tbg-purple); border-radius: 5px; }

.tbg-cart-empty { text-align: center; color: var(--tbg-text-muted); margin-top: 50px; font-size: 0.9rem; }

.tbg-cart-item { display: flex; gap: 15px; background: #111114; padding: 15px; border-radius: 6px; border: 1px solid #1f1f22; position: relative; }
.tbg-cart-item-img { width: 75px; height: 75px; background: #1a1a1c; border-radius: 4px; display: flex; align-items: center; justify-content: center; padding: 5px; flex-shrink: 0; }
.tbg-cart-item-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tbg-cart-item-info { flex-grow: 1; padding-right: 20px; }
.tbg-cart-item-info h4 { margin: 0 0 5px 0; font-size: 0.8rem; line-height: 1.3; text-transform: uppercase; color: #fff; }
.tbg-cart-item-qty { font-size: 0.75rem; color: #888; margin-bottom: 5px; display: block; }
.tbg-cart-item-price { color: var(--tbg-purple); font-weight: 700; font-size: 0.95rem; }
.tbg-cart-item-remove { position: absolute; top: 10px; right: 10px; background: transparent; border: none; color: #666; cursor: pointer; transition: 0.3s; }
.tbg-cart-item-remove:hover { color: #ff3333; }

.tbg-cart-footer { padding: 25px; border-top: 1px solid #1f1f22; background: #050505; }
.tbg-cart-total { display: flex; justify-content: space-between; font-size: 1.2rem; font-weight: 900; margin-bottom: 20px; color: #fff; }

/* =========================================
   PAGINA LOGIN & REGISTRAZIONE
   ========================================= */
.tbg-auth-layout { 
    padding: 160px 5% 100px 5%; 
    background-color: var(--tbg-bg-black); 
    background-image: radial-gradient(circle at center, rgba(77, 36, 255, 0.05) 0%, transparent 70%);
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 85vh; 
}
.tbg-auth-container { 
    width: 100%; 
    max-width: 1100px; 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    background: var(--tbg-bg-card); 
    border: 1px solid var(--tbg-border); 
    border-radius: 8px; 
    box-shadow: 0 20px 50px rgba(0,0,0,0.6); 
    overflow: hidden; 
}
.tbg-auth-box { padding: 60px; }
.tbg-auth-login { border-right: 1px solid var(--tbg-border); }

.tbg-auth-box h2 { font-size: 2rem; font-weight: 900; margin: 0 0 10px 0; text-transform: uppercase; letter-spacing: -1px; }
.tbg-auth-box p { color: var(--tbg-text-muted); font-size: 0.95rem; margin-bottom: 30px; line-height: 1.6; }

/* Nuovo stile form e occhiolino */
.tbg-auth-form .tbg-form-group { margin-bottom: 20px; position: relative; } /* position: relative aggiunto qui */
.tbg-auth-form .tbg-form-group input { width: 100%; } /* Assicura che l'input prenda tutto lo spazio */

/* Contenitore flessibile per input + icona */
.tbg-pwd-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

/* Input modificato per non coprire l'icona */
.tbg-pwd-input-wrapper input {
    padding-right: 45px !important; /* Spazio riservato per l'icona */
    width: 100%;
}

/* Icona perfettamente centrata e bloccata */
.tbg-pwd-toggle { 
    position: absolute; 
    right: 12px; 
    background: none; 
    border: none; 
    padding: 0;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}
.tbg-pwd-toggle:hover { color: var(--tbg-purple); }
.tbg-pwd-toggle svg { 
    width: 20px; 
    height: 20px; 
    fill: none; 
    stroke: currentColor; 
    stroke-width: 2; 
    stroke-linecap: round; 
    stroke-linejoin: round; 
}

.tbg-auth-form .tbg-btn { width: 100%; margin-top: 10px; padding: 20px; font-size: 0.95rem; }
.tbg-auth-forgot { display: block; text-align: center; margin-top: 20px; color: var(--tbg-text-muted); font-size: 0.8rem; text-decoration: none; transition: 0.3s; pointer-events: none; opacity: 0.5; } /* Disabilitato temporaneamente */

/* Miglioramento checkbox privacy */
.tbg-privacy-group {
    display: flex; 
    gap: 12px; 
    align-items: flex-start; 
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 15px;
    background: rgba(255,255,255,0.02);
    border: 1px solid #1f1f22;
    border-radius: 4px;
}

/* QUADRATO PERFETTO E INDEFORMABILE */
.tbg-privacy-group input[type="checkbox"] {
    appearance: none;
    background-color: transparent;
    margin: 0;
    margin-top: 2px; /* Allineamento perfetto con la prima riga di testo */
    padding: 0 !important; /* Uccide i padding ereditati dagli altri input */
    color: currentColor;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px;
    min-height: 22px;
    flex-shrink: 0; /* Vieta a Flexbox di schiacciarlo o allungarlo */
    border: 2px solid #555;
    border-radius: 4px;
    display: grid;
    place-content: center;
    cursor: pointer;
    transition: 0.2s;
}

.tbg-privacy-group input[type="checkbox"]::before {
    content: "";
    width: 12px;
    height: 12px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--tbg-purple);
    transform-origin: center;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.tbg-privacy-group input[type="checkbox"]:checked { border-color: var(--tbg-purple); }
.tbg-privacy-group input[type="checkbox"]:checked::before { transform: scale(1); }

/* =========================================
   DASHBOARD CLIENTE (AREA RISERVATA) - STRUTTURATA
   ========================================= */
.tbg-dashboard-layout { 
    display: grid; 
    grid-template-columns: 260px 1fr; 
    gap: 30px; 
    padding: 120px 5% 100px 5%; 
    max-width: 1300px; 
    margin: 0 auto; 
    align-items: start; 
}

/* Colonna Sinistra (Menu Profilo Chiuso e Solido) */
.tbg-dash-sidebar { 
    background: #0a0a0c; 
    border: 1px solid var(--tbg-border); 
    border-radius: 6px; 
    padding: 25px 20px; 
    position: sticky; 
    top: 120px; 
}
.tbg-dash-nav { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.tbg-dash-nav a { 
    display: flex; align-items: center; gap: 15px; 
    color: var(--tbg-text-muted); text-decoration: none; 
    padding: 14px 18px; border-radius: 4px; transition: 0.3s; 
    font-weight: 600; font-size: 0.9rem; border: 1px solid transparent;
}
.tbg-dash-nav a:hover { 
    background: #111114; color: #fff; border-color: #222;
}
.tbg-dash-nav a.active { 
    background: var(--tbg-purple); color: #fff; border-color: var(--tbg-purple);
}
.tbg-dash-nav a svg { width: 18px; height: 18px; color: inherit; }

/* Colonna Destra (Contenuto Strutturato) */
.tbg-dash-content { display: flex; flex-direction: column; gap: 30px; }

/* Messaggio di Benvenuto in stile E-commerce */
.tbg-dash-welcome {
    background: #0a0a0c; border: 1px solid var(--tbg-border); border-radius: 6px; padding: 25px 30px;
}
.tbg-dash-welcome p { margin: 0 0 10px 0; color: #ccc; font-size: 1rem; }
.tbg-dash-welcome p strong { color: #fff; font-size: 1.1rem; }
.tbg-dash-welcome p a { color: var(--tbg-purple); text-decoration: none; font-weight: 600; }
.tbg-dash-welcome p a:hover { text-decoration: underline; }

/* Dashboard Cards Strutturate */
.tbg-dash-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tbg-dash-card { 
    background: #0a0a0c; border: 1px solid var(--tbg-border); padding: 25px; border-radius: 6px; 
    display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;
}
.tbg-dash-card h4 { color: var(--tbg-text-muted); font-size: 0.85rem; text-transform: uppercase; margin: 0 0 15px 0; font-weight: 700; }
.tbg-dash-card .value { font-size: 2.2rem; font-weight: 900; color: #fff; line-height: 1; }

/* Tabella Ordini Boxata */
.tbg-dash-table-wrap { 
    background: #0a0a0c; border: 1px solid var(--tbg-border); border-radius: 6px; overflow: hidden; 
}
.tbg-dash-table-header {
    padding: 20px 25px; border-bottom: 1px solid var(--tbg-border); background: #111114;
}
.tbg-dash-table-header h3 { margin: 0; font-size: 1.1rem; font-weight: 800; text-transform: uppercase; color: #fff; }

.tbg-dash-table { width: 100%; border-collapse: collapse; text-align: left; }
.tbg-dash-table th { 
    background: #0a0a0c; color: var(--tbg-text-muted); font-size: 0.8rem; text-transform: uppercase; 
    padding: 15px 25px; border-bottom: 2px solid var(--tbg-border); font-weight: 700;
}
.tbg-dash-table td { 
    padding: 20px 25px; border-bottom: 1px solid #1f1f22; 
    font-size: 0.95rem; font-weight: 500; color: #ddd; 
}
.tbg-dash-table tr:last-child td { border-bottom: none; }
.tbg-dash-table tr:hover td { background: #111114; }

/* Elementi Tabella */
.tbg-dash-table td:first-child { color: #fff; font-weight: 700; }
.status-badge { padding: 6px 12px; border-radius: 4px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; display: inline-block;}
.status-processing { background: rgba(255, 153, 0, 0.1); color: #ff9900; border: 1px solid rgba(255, 153, 0, 0.3); }
.status-shipped { background: rgba(0, 204, 102, 0.1); color: #00cc66; border: 1px solid rgba(0, 204, 102, 0.3); }

.tbg-btn-small { 
    background: var(--tbg-purple); color: #fff; border: none; padding: 10px 20px; 
    font-size: 0.8rem; font-weight: 700; border-radius: 4px; cursor: pointer; transition: 0.3s; text-decoration: none;
}
.tbg-btn-small:hover { background: #5c3aff; }

/* =========================================
   DASHBOARD - TAB INDIRIZZI
   ========================================= */
.tbg-address-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 40px; }
.tbg-address-card { 
    background: #0a0a0c; 
    border: 1px solid var(--tbg-border); 
    border-radius: 6px; 
    padding: 30px; 
}
.tbg-address-header { 
    display: flex; justify-content: space-between; align-items: center; 
    border-bottom: 1px solid #1a1a1c; 
    padding-bottom: 15px; margin-bottom: 20px; 
}
.tbg-address-header h3 { margin: 0; font-size: 1.1rem; color: #fff; text-transform: uppercase; font-weight: 800; }
.tbg-btn-edit { 
    color: var(--tbg-purple); text-decoration: none; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; 
    display: flex; align-items: center; gap: 5px; transition: 0.3s;
}
.tbg-btn-edit:hover { color: #fff; }
.tbg-btn-edit svg { width: 14px; height: 14px; }

.tbg-address-body { color: #aaa; font-size: 0.95rem; line-height: 1.8; }
.tbg-address-body strong { color: #fff; font-size: 1.1rem; text-transform: uppercase; }

/* Form Modifica Indirizzo (riutilizza le classi del login) */
.tbg-dash-form-box { 
    background: #0a0a0c; border: 1px solid var(--tbg-border); border-radius: 6px; padding: 40px; 
}
.tbg-dash-form-box h3 { margin: 0 0 25px 0; color: #fff; font-size: 1.4rem; text-transform: uppercase; font-weight: 900; }

/* =========================================
   IMMAGINE PRODOTTO FISSA - DASHBOARD
   ========================================= */
.tbg-dash-item-cell {
    display: flex;
    align-items: center;
    gap: 15px;
}
.tbg-dash-item-img {
    width: 65px;
    height: 65px;
    border-radius: 6px;
    object-fit: cover;
    border: 1px solid #1f1f22;
    background: #0a0a0c; /* Sfondo scuro se l'immagine non c'è */
    flex-shrink: 0;
}
.tbg-dash-item-info {
    display: flex;
    flex-direction: column;
}
.tbg-order-product-link {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s;
}
.tbg-order-product-link:hover {
    color: var(--tbg-purple);
}

/* =========================================
   TRACKING SPEDIZIONE
   ========================================= */
.tbg-tracking-wrap {
    background: #0a0a0c;
    border: 1px solid var(--tbg-border);
    border-radius: 6px;
    padding: 40px 30px;
    margin-bottom: 30px;
}
.tbg-tracking-steps {
    display: flex;
    justify-content: space-between;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}
.tbg-tracking-steps::before {
    content: ''; position: absolute; top: 15px; left: 0; width: 100%; height: 2px; background: #1f1f22; z-index: 1;
}
.tbg-tracking-progress {
    position: absolute; top: 15px; left: 0; height: 2px; background: var(--tbg-purple); z-index: 2; 
    width: var(--progress); transition: 0.5s ease;
}
.tbg-track-step {
    position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; width: 100px;
}
.tbg-track-icon {
    width: 32px; height: 32px; background: #0a0a0c; border: 2px solid #1f1f22; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: #555; transition: 0.4s;
}
.tbg-track-icon svg { width: 14px; height: 14px; }
.tbg-track-text { font-size: 0.75rem; color: #666; font-weight: 800; text-transform: uppercase; }

/* Stato Completato */
.tbg-track-step.active .tbg-track-icon {
    border-color: var(--tbg-purple); background: var(--tbg-purple); color: #fff; box-shadow: 0 0 15px rgba(77,36,255,0.4);
}
.tbg-track-step.active .tbg-track-text { color: #fff; }

/* =========================================
   BOX ASSISTENZA ORDINE
   ========================================= */
.tbg-help-box {
    background: linear-gradient(135deg, rgba(77, 36, 255, 0.1) 0%, transparent 100%);
    border: 1px solid rgba(77, 36, 255, 0.3);
    border-radius: 6px; padding: 30px; margin-top: 30px;
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px;
}
.tbg-help-box h3 { margin: 0 0 5px 0; font-size: 1.2rem; color: #fff; text-transform: uppercase; font-weight: 900; }
.tbg-help-box p { margin: 0; color: #aaa; font-size: 0.9rem; }


/* =========================================
   RESPONSIVE DESIGN (MOBILE & TABLET)
   ========================================= */

/* --- TABLET (sotto i 992px) --- */
@media (max-width: 992px) {
    .tbg-features { grid-template-columns: repeat(2, 1fr); }
    .tbg-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
    .tbg-footer { grid-template-columns: repeat(2, 1fr); gap: 40px; }
}

/* --- SMARTPHONE (sotto i 768px) --- */
@media (max-width: 768px) {
    
    /* Header: Nascondiamo i testi, teniamo Logo e Icone */
    .tbg-logo img { height: 50px; }
    /* --- FIX MOBILE MENU A TENDINA --- */
    .tbg-mobile-menu-btn { display: flex; }
    
    .tbg-nav { 
        display: flex; 
        flex-direction: column; 
        position: absolute; 
        top: 100%; 
        left: 0; 
        width: 100%; 
        background: #050505; 
        border-bottom: 1px solid var(--tbg-border);
        padding: 0 5%; 
        max-height: 0; 
        overflow: hidden; 
        transition: max-height 0.4s ease, padding 0.4s ease;
        z-index: 998;
    }
    
    .tbg-nav.open {
        max-height: 400px; 
        padding: 20px 5%;
        box-shadow: 0 20px 50px rgba(0,0,0,0.8);
    }
    
    .tbg-nav a { margin: 15px 0; font-size: 1.1rem; text-align: center; display: block; }
    .tbg-nav a:hover, .tbg-nav a.active { border-bottom: none; color: var(--tbg-purple); padding-bottom: 0; }
    .tbg-header-icons { gap: 15px; }
    
    /* Hero */
    .tbg-hero { min-height: 70vh; background-position: center; }
    .tbg-hero-overlay { background: linear-gradient(180deg, rgba(3,3,3,0.9) 0%, rgba(3,3,3,0.5) 100%); }
    .tbg-title { font-size: 3.2rem; letter-spacing: -1px; line-height: 1; }
    .tbg-subtitle { font-size: 0.7rem; flex-wrap: wrap; line-height: 1.5; }
    .tbg-description { font-size: 1rem; margin-bottom: 30px; line-height: 1.5; }
    .tbg-buttons { flex-direction: column; width: 100%; gap: 10px; }
    .tbg-btn { width: 100%; text-align: center; padding: 15px 20px; }

    /* Pagine Varie */
    .tbg-features { grid-template-columns: 1fr; padding: 40px 5%; }
    .tbg-shop { flex-direction: column; padding: 50px 5%; text-align: center; }
    .tbg-shop-intro { width: 100%; padding-right: 0; margin-bottom: 30px; }
    .tbg-shop-intro h2 { font-size: 1.8rem; margin: 0 auto 15px auto; }
    .tbg-shop-slider-container { width: 100%; justify-content: center; }
    .tbg-custom-projects { padding: 60px 5%; text-align: center; }
    .tbg-custom-projects h2 { font-size: 2rem; }
    .tbg-portfolio { padding: 50px 5%; text-align: center; }
    .tbg-portfolio h2 { font-size: 1.8rem; }
    .tbg-portfolio-grid { grid-template-columns: 1fr; }
    .tbg-footer { grid-template-columns: 1fr; gap: 40px; padding: 50px 5%; text-align: center; }
    .footer-logo { margin: 0 auto 20px auto; }
    .tbg-contact-list li { justify-content: center; text-align: center; }
    .tbg-social { justify-content: center; }
    .tbg-newsletter-form { max-width: 100%; }
    
    /* Fix Pagine Interne */
    .tbg-page-title { font-size: 2.5rem; }
    .tbg-shop-layout { flex-direction: column; padding: 40px 5%; }
    .tbg-shop-sidebar { width: 100%; position: static; }
    .tbg-filter-list { flex-direction: row; flex-wrap: wrap; }
    
    /* Form Modulo Custom */
    .tbg-step-form-wrapper { padding: 30px 20px; margin-top: -30px; }
    .tbg-form-grid, .tbg-radio-grid { grid-template-columns: 1fr; }
    .tbg-step-indicator { display: none; }
    .tbg-custom-hero { padding: 100px 5% 70px 5% !important; min-height: auto !important; }
    .tbg-custom-hero .tbg-title { font-size: 2.1rem !important; line-height: 1.2 !important; letter-spacing: -1px !important; }
    .tbg-form-grid, .tbg-radio-grid, .tbg-radio-grid-2 { grid-template-columns: 1fr !important; gap: 15px; }
    .tbg-radio-card { padding: 20px; text-align: left; }
    .tbg-material-header { justify-content: space-between; }
    .tbg-form-actions { gap: 15px; padding-top: 20px; }
    .tbg-form-actions .tbg-btn, .tbg-form-actions .tbg-btn-secondary { flex: 1; justify-content: center; text-align: center; padding: 16px 10px; font-size: 0.8rem; white-space: nowrap; }
    
    /* Pagine Dettaglio */
    .tbg-portfolio-showroom { grid-template-columns: 1fr; gap: 20px; }
    .tbg-portfolio-card { height: 320px; }
    .tbg-portfolio-info { padding: 25px; transform: translateY(0); }
    .tbg-portfolio-info h3 { font-size: 1.5rem; }
    .tbg-portfolio-info p { opacity: 1; font-size: 0.8rem; max-width: 100%; }
    .tbg-about-hero { padding: 120px 5% 60px 5%; }
    .tbg-about-grid { grid-template-columns: 1fr; gap: 40px; padding: 60px 5%; }
    .tbg-about-grid.reverse { direction: ltr; }
    .tbg-about-text h2 { font-size: 2rem; }
    .tbg-stats-banner { flex-direction: column; gap: 50px; padding: 60px 5%; }
    .tbg-contact-hero { padding: 120px 5% 40px 5%; }
    .tbg-contact-grid { grid-template-columns: 1fr; gap: 40px; padding: 20px 5% 80px 5%; }
    .tbg-contact-form-box { padding: 30px 20px; }
    .tbg-contact-info-card { padding: 25px 20px; flex-direction: column; text-align: center; }
    .tbg-single-product-layout { grid-template-columns: 1fr; gap: 40px; padding: 100px 5% 60px 5%; }
    .tbg-sp-gallery { position: static; }
    .tbg-sp-main-img { height: 350px; }
    .tbg-sp-title { font-size: 1.8rem; }
    .tbg-sp-price { font-size: 1.6rem; }
    .tbg-sp-actions { flex-direction: column; }
    .tbg-project-hero { height: 50vh; padding: 40px 5%; }
    .tbg-project-hero-content h1 { font-size: 2.5rem; }
    .tbg-project-body { grid-template-columns: 1fr; gap: 50px; padding: 60px 5%; }
    .tbg-project-specs-card { position: static; padding: 30px 20px; }
    
    /* Login */
    .tbg-auth-container { grid-template-columns: 1fr; }
    .tbg-auth-login { border-right: none; border-bottom: 1px solid var(--tbg-border); }
    .tbg-auth-box { padding: 40px 25px; }

    /* =========================================
       DASHBOARD & FORMS - MOBILE (PULITO E DEFINITIVO)
       ========================================= */
    /* 1. Blocchiamo la griglia principale per non sfondare il telefono */
    .tbg-dashboard-layout {
        grid-template-columns: 1fr !important;
        padding: 100px 5% 60px 5% !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        gap: 25px !important;
        overflow-x: hidden !important;
    }

    .tbg-dash-content {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 2. Menu a scorrimento orizzontale (stile App) */
    .tbg-dash-sidebar {
        position: static !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        width: 100% !important;
    }
    .tbg-dash-sidebar h3 { font-size: 1rem !important; margin-bottom: 10px !important; text-align: left;}
    .tbg-dash-nav {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        gap: 10px !important;
        padding-bottom: 10px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }
    .tbg-dash-nav::-webkit-scrollbar { display: none !important; }
    .tbg-dash-nav a {
        flex: 0 0 auto !important;
        background: #0a0a0c !important;
        border: 1px solid var(--tbg-border) !important;
        border-radius: 30px !important;
        padding: 10px 20px !important;
        white-space: nowrap !important;
        font-size: 0.85rem !important;
        margin: 0 !important; 
    }
    .tbg-dash-nav a svg { margin: 0 !important; }

    /* 3. Statistiche in orizzontale */
    .tbg-dash-cards {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-dash-card {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 20px !important;
        text-align: left !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-dash-card h4 { margin: 0 !important; font-size: 0.8rem !important; }
    .tbg-dash-card .value { font-size: 1.8rem !important; }

    /* 4. Tabella con scorrimento touch protetto */
    .tbg-dash-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        display: block !important;
        box-sizing: border-box !important;
    }
    .tbg-dash-table {
        min-width: 600px !important;
    }

    /* 5. Moduli e Indirizzi costretti nello schermo */
    .tbg-address-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-address-card, .tbg-dash-form-box {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 20px !important;
    }
    .tbg-form-grid, .tbg-form-grid[style*="grid-template-columns"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-form-group {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 6. Timeline di spedizione verticale per mobile */
    .tbg-tracking-steps { 
        flex-direction: column !important; 
        gap: 30px !important; 
        align-items: flex-start !important; 
        padding-left: 10px !important; 
    }
    .tbg-tracking-steps::before { 
        top: 0 !important; 
        left: 25px !important; 
        width: 2px !important; 
        height: 100% !important; 
    }
    .tbg-tracking-progress { 
        top: 0 !important; 
        left: 25px !important; 
        width: 2px !important; 
        height: var(--progress) !important; 
    }
    .tbg-track-step { 
        flex-direction: row !important; 
        width: 100% !important; 
        text-align: left !important; 
        gap: 20px !important; 
    }
    .tbg-help-box { 
        flex-direction: column !important; 
        text-align: center !important; 
        padding: 25px 20px !important;
        box-sizing: border-box !important;
    }
}
    /* =====================================================
   FIX DEFINITIVO DASHBOARD MOBILE - TBG MOTORSPORT
   ===================================================== */

@media (max-width: 768px) {

    html,
    body,
    .tbg-site-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Riduce lo spazio enorme sotto l'header */
    .tbg-dashboard-layout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 40px 16px 60px 16px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-sidebar,
    .tbg-dash-content,
    .tbg-dash-welcome,
    .tbg-dash-cards,
    .tbg-dash-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-content {
        gap: 22px !important;
    }

    /* Menu account: invece di tagliarsi a destra, va su 2 colonne */
    .tbg-dash-sidebar {
        position: static !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 22px !important;
    }

    .tbg-dash-sidebar h3 {
        font-size: 1.6rem !important;
        line-height: 1.1 !important;
        margin: 0 0 18px 0 !important;
        padding: 0 !important;
    }

    .tbg-dash-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .tbg-dash-nav a {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 12px 10px !important;
        border-radius: 999px !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
        font-size: 0.78rem !important;
        line-height: 1.2 !important;
        gap: 8px !important;
    }

    .tbg-dash-nav a svg {
        width: 17px !important;
        height: 17px !important;
        flex: 0 0 17px !important;
        margin: 0 !important;
    }

    .tbg-dash-nav a:last-child {
        grid-column: 1 / -1 !important;
    }

    /* Box di benvenuto: evita testo tagliato */
    .tbg-dash-welcome {
        padding: 20px 18px !important;
        overflow: hidden !important;
    }

    .tbg-dash-welcome p {
        font-size: 0.92rem !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .tbg-dash-welcome p:first-child {
        font-size: 1rem !important;
    }

    .tbg-dash-welcome p strong {
        font-size: 1.05rem !important;
    }

    /* Card statistiche più compatte */
    .tbg-dash-cards {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .tbg-dash-card {
        min-height: 76px !important;
        padding: 18px !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        text-align: left !important;
    }

    .tbg-dash-card h4 {
        margin: 0 !important;
        font-size: 0.8rem !important;
    }

    .tbg-dash-card .value {
        display: block !important;
        font-size: 1.55rem !important;
    }

    /* Tabella ordini trasformata in card mobile */
    .tbg-dash-table-wrap {
        overflow: visible !important;
        border-radius: 8px !important;
    }

    .tbg-dash-table-header {
        padding: 18px !important;
    }

    .tbg-dash-table-header h3 {
        font-size: 1.45rem !important;
        line-height: 1.1 !important;
    }

    .tbg-dash-table,
    .tbg-dash-table thead,
    .tbg-dash-table tbody,
    .tbg-dash-table th,
    .tbg-dash-table td,
    .tbg-dash-table tr {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .tbg-dash-table thead {
        display: none !important;
    }

    .tbg-dash-table tr {
        padding: 16px 18px !important;
        border-bottom: 1px solid var(--tbg-border) !important;
    }

    .tbg-dash-table tr:last-child {
        border-bottom: none !important;
    }

    .tbg-dash-table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 16px !important;
        padding: 8px 0 !important;
        border: none !important;
        text-align: right !important;
        font-size: 0.9rem !important;
    }

    .tbg-dash-table td::before {
        content: attr(data-label);
        color: var(--tbg-text-muted);
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
        text-align: left;
        flex: 0 0 auto;
    }

    .status-badge {
        max-width: 170px !important;
        white-space: normal !important;
        text-align: right !important;
        line-height: 1.2 !important;
    }

    .tbg-btn-small {
        padding: 9px 14px !important;
        font-size: 0.75rem !important;
    }
}

@media (max-width: 380px) {
    .tbg-dash-nav {
        grid-template-columns: 1fr !important;
    }
}

.tbg-order-summary-box {
    display: flex;
    justify-content: flex-end;
    padding: 25px 30px;
    border-top: 1px solid #1f1f22;
    background: #111114;
}

.tbg-order-summary-inner {
    width: 320px;
    max-width: 100%;
}

.tbg-order-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
    color: #aaa;
    font-size: 0.9rem;
}

.tbg-order-summary-row span:last-child {
    color: #fff;
    font-weight: 700;
    text-align: right;
}

.tbg-order-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    border-top: 1px solid #222;
    padding-top: 15px;
}

.tbg-order-summary-total h3 {
    margin: 0;
    color: var(--tbg-purple);
    font-weight: 900;
}

.tbg-order-summary-total h3:first-child {
    font-size: 1.4rem;
}

.tbg-order-summary-total h3:last-child {
    font-size: 1.6rem;
    text-align: right;
}

@media (max-width: 768px) {
    .tbg-order-summary-box {
        justify-content: stretch;
        padding: 20px;
    }

    .tbg-order-summary-inner {
        width: 100%;
    }

    .tbg-order-summary-total h3:first-child {
        font-size: 1.05rem;
    }

    .tbg-order-summary-total h3:last-child {
        font-size: 1.25rem;
    }
}

/* =========================================
       DASHBOARD & FORMS - MOBILE (PULITO E DEFINITIVO)
       ========================================= */
@media (max-width: 768px) {
    /* 1. Blocchiamo la griglia principale per non sfondare il telefono */
    .tbg-dashboard-layout {
        grid-template-columns: 1fr !important;
        padding: 100px 5% 60px 5% !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        gap: 25px !important;
        overflow-x: hidden !important;
    }

    .tbg-dash-content {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 2. Menu a scorrimento orizzontale (stile App) */
    .tbg-dash-sidebar {
        position: static !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        width: 100% !important;
    }
    .tbg-dash-sidebar h3 { font-size: 1rem !important; margin-bottom: 10px !important; text-align: left;}
    .tbg-dash-nav {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        gap: 10px !important;
        padding-bottom: 10px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }
    .tbg-dash-nav::-webkit-scrollbar { display: none !important; }
    .tbg-dash-nav a {
        flex: 0 0 auto !important;
        background: #0a0a0c !important;
        border: 1px solid var(--tbg-border) !important;
        border-radius: 30px !important;
        padding: 10px 20px !important;
        white-space: nowrap !important;
        font-size: 0.85rem !important;
        margin: 0 !important; 
    }
    .tbg-dash-nav a svg { margin: 0 !important; }

    /* 3. Statistiche in orizzontale */
    .tbg-dash-cards {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-dash-card {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 20px !important;
        text-align: left !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-dash-card h4 { margin: 0 !important; font-size: 0.8rem !important; }
    .tbg-dash-card .value { font-size: 1.8rem !important; }

    /* 4. Tabella con scorrimento touch protetto */
    .tbg-dash-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        display: block !important;
        box-sizing: border-box !important;
    }
    .tbg-dash-table {
        min-width: 600px !important;
    }

    /* 5. Moduli e Indirizzi costretti nello schermo */
    .tbg-address-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-address-card, .tbg-dash-form-box {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 20px !important;
    }
    .tbg-form-grid, .tbg-form-grid[style*="grid-template-columns"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tbg-form-group {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 6. Timeline di spedizione verticale per mobile */
    .tbg-tracking-steps { 
        flex-direction: column !important; 
        gap: 30px !important; 
        align-items: flex-start !important; 
        padding-left: 10px !important; 
    }
    .tbg-tracking-steps::before { 
        top: 0 !important; 
        left: 25px !important; 
        width: 2px !important; 
        height: 100% !important; 
    }
    .tbg-tracking-progress { 
        top: 0 !important; 
        left: 25px !important; 
        width: 2px !important; 
        height: var(--progress) !important; 
    }
    .tbg-track-step { 
        flex-direction: row !important; 
        width: 100% !important; 
        text-align: left !important; 
        gap: 20px !important; 
    }
    .tbg-help-box { 
        flex-direction: column !important; 
        text-align: center !important; 
        padding: 25px 20px !important;
        box-sizing: border-box !important;
    }
    
    }

    /* =====================================================
   FIX DEFINITIVO DASHBOARD MOBILE - TBG MOTORSPORT
   ===================================================== */

@media (max-width: 768px) {

    html,
    body,
    .tbg-site-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Riduce lo spazio enorme sotto l'header */
    .tbg-dashboard-layout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 40px 16px 60px 16px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-sidebar,
    .tbg-dash-content,
    .tbg-dash-welcome,
    .tbg-dash-cards,
    .tbg-dash-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-content {
        gap: 22px !important;
    }

    /* Menu account: invece di tagliarsi a destra, va su 2 colonne */
    .tbg-dash-sidebar {
        position: static !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 22px !important;
    }

    .tbg-dash-sidebar h3 {
        font-size: 1.6rem !important;
        line-height: 1.1 !important;
        margin: 0 0 18px 0 !important;
        padding: 0 !important;
    }

    .tbg-dash-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .tbg-dash-nav a {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 12px 10px !important;
        border-radius: 999px !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
        font-size: 0.78rem !important;
        line-height: 1.2 !important;
        gap: 8px !important;
    }

    .tbg-dash-nav a svg {
        width: 17px !important;
        height: 17px !important;
        flex: 0 0 17px !important;
        margin: 0 !important;
    }

    .tbg-dash-nav a:last-child {
        grid-column: 1 / -1 !important;
    }

    /* Box di benvenuto: evita testo tagliato */
    .tbg-dash-welcome {
        padding: 20px 18px !important;
        overflow: hidden !important;
    }

    .tbg-dash-welcome p {
        font-size: 0.92rem !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .tbg-dash-welcome p:first-child {
        font-size: 1rem !important;
    }

    .tbg-dash-welcome p strong {
        font-size: 1.05rem !important;
    }

    /* Card statistiche più compatte */
    .tbg-dash-cards {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .tbg-dash-card {
        min-height: 76px !important;
        padding: 18px !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        text-align: left !important;
    }

    .tbg-dash-card h4 {
        margin: 0 !important;
        font-size: 0.8rem !important;
    }

    .tbg-dash-card .value {
        display: block !important;
        font-size: 1.55rem !important;
    }

    /* Tabella ordini trasformata in card mobile */
    .tbg-dash-table-wrap {
        overflow: visible !important;
        border-radius: 8px !important;
    }

    .tbg-dash-table-header {
        padding: 18px !important;
    }

    .tbg-dash-table-header h3 {
        font-size: 1.45rem !important;
        line-height: 1.1 !important;
    }

    .tbg-dash-table,
    .tbg-dash-table thead,
    .tbg-dash-table tbody,
    .tbg-dash-table th,
    .tbg-dash-table td,
    .tbg-dash-table tr {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .tbg-dash-table thead {
        display: none !important;
    }

    .tbg-dash-table tr {
        padding: 16px 18px !important;
        border-bottom: 1px solid var(--tbg-border) !important;
    }

    .tbg-dash-table tr:last-child {
        border-bottom: none !important;
    }

    .tbg-dash-table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 16px !important;
        padding: 8px 0 !important;
        border: none !important;
        text-align: right !important;
        font-size: 0.9rem !important;
    }

    .tbg-dash-table td::before {
        content: attr(data-label);
        color: var(--tbg-text-muted);
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
        text-align: left;
        flex: 0 0 auto;
    }

    .status-badge {
        max-width: 170px !important;
        white-space: normal !important;
        text-align: right !important;
        line-height: 1.2 !important;
    }

    .tbg-btn-small {
        padding: 9px 14px !important;
        font-size: 0.75rem !important;
    }
}

@media (max-width: 380px) {
    .tbg-dash-nav {
        grid-template-columns: 1fr !important;
    }
}

.tbg-order-summary-box {
    display: flex;
    justify-content: flex-end;
    padding: 25px 30px;
    border-top: 1px solid #1f1f22;
    background: #111114;
}

.tbg-order-summary-inner {
    width: 320px;
    max-width: 100%;
}

.tbg-order-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
    color: #aaa;
    font-size: 0.9rem;
}

.tbg-order-summary-row span:last-child {
    color: #fff;
    font-weight: 700;
    text-align: right;
}

.tbg-order-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    border-top: 1px solid #222;
    padding-top: 15px;
}

.tbg-order-summary-total h3 {
    margin: 0;
    color: var(--tbg-purple);
    font-weight: 900;
}

.tbg-order-summary-total h3:first-child {
    font-size: 1.4rem;
}

.tbg-order-summary-total h3:last-child {
    font-size: 1.6rem;
    text-align: right;
}

@media (max-width: 768px) {
    .tbg-order-summary-box {
        justify-content: stretch;
        padding: 20px;
    }

    .tbg-order-summary-inner {
        width: 100%;
    }

    .tbg-order-summary-total h3:first-child {
        font-size: 1.05rem;
    }

    .tbg-order-summary-total h3:last-child {
        font-size: 1.25rem;
    }
}

/* =====================================================
   FATTURA - BLOCCO UNICO PULITO + FIX MOBILE/PDF
   ===================================================== */

.tbg-invoice-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}

.tbg-invoice-toolbar .tbg-btn,
.tbg-invoice-toolbar .tbg-btn-secondary {
    min-width: 240px;
    text-align: center;
    justify-content: center;
    text-decoration: none;
}

.tbg-invoice-download-status {
    background: rgba(0, 255, 140, 0.08);
    border: 1px solid rgba(0, 255, 140, 0.35);
    color: #00ff8c;
    padding: 14px 18px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 800;
    margin-bottom: 24px;
}

.tbg-invoice-preview-pro {
    width: 100%;
    overflow-x: auto;
    padding: 24px 0 80px 0;
}

/* Foglio A4 visibile nella dashboard desktop */
#tbgInvoiceA4.tbg-invoice-sheet-pro {
    width: 794px;
    min-height: 1120px;
    margin: 0 auto;
    padding: 54px;
    background: #ffffff !important;
    color: #111111 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.65);
    border-radius: 4px;
    box-sizing: border-box;
    overflow: hidden;
}

#tbgInvoiceA4,
#tbgInvoiceA4 * {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Header */
#tbgInvoiceA4 .tbg-invoice-pro-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 28px;
    padding-bottom: 18px;
    border-bottom: 3px solid #111111;
}

#tbgInvoiceA4 .tbg-invoice-pro-brand {
    display: flex;
    align-items: center;
    gap: 13px;
}

#tbgInvoiceA4 .tbg-invoice-pro-brand img {
    width: 48px !important;
    max-width: 48px !important;
    min-width: 48px !important;
    height: auto !important;
    max-height: 48px !important;
    object-fit: contain !important;
    display: block !important;
}

#tbgInvoiceA4 .tbg-invoice-pro-brand h2 {
    margin: 0;
    color: #111111 !important;
    font-size: 19px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -0.4px;
}

#tbgInvoiceA4 .tbg-invoice-pro-brand p {
    margin: 4px 0 0 0;
    color: #555555 !important;
    font-size: 10px;
    line-height: 1.35;
}

#tbgInvoiceA4 .tbg-invoice-pro-title {
    text-align: right;
    flex-shrink: 0;
}

#tbgInvoiceA4 .tbg-invoice-pro-title span {
    display: inline-block;
    background: #4d24ff;
    color: #ffffff !important;
    padding: 6px 10px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.4px;
}

#tbgInvoiceA4 .tbg-invoice-pro-title h1 {
    margin: 9px 0 0 0;
    color: #111111 !important;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
}

/* Riga dati principali */
#tbgInvoiceA4 .tbg-invoice-pro-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 20px;
    border: 1px solid #dddddd;
    background: #f7f7f9;
}

#tbgInvoiceA4 .tbg-invoice-pro-meta div {
    padding: 11px 10px;
    border-right: 1px solid #dddddd;
}

#tbgInvoiceA4 .tbg-invoice-pro-meta div:last-child {
    border-right: 0;
}

#tbgInvoiceA4 .tbg-invoice-pro-meta span {
    display: block;
    color: #777777 !important;
    font-size: 8.5px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

#tbgInvoiceA4 .tbg-invoice-pro-meta strong {
    color: #111111 !important;
    font-size: 10.5px;
    font-weight: 800;
}

/* Box azienda e cliente */
#tbgInvoiceA4 .tbg-invoice-pro-parties {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 20px;
}

#tbgInvoiceA4 .tbg-invoice-pro-card {
    border: 1px solid #dddddd;
    background: #ffffff;
    padding: 14px;
    min-height: 132px;
}

#tbgInvoiceA4 .tbg-invoice-pro-card h3 {
    margin: 0 0 8px 0;
    color: #4d24ff !important;
    font-size: 10.5px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#tbgInvoiceA4 .tbg-invoice-pro-card p {
    margin: 0;
    color: #333333 !important;
    font-size: 10.5px;
    line-height: 1.52;
}

#tbgInvoiceA4 .tbg-invoice-pro-card strong {
    color: #111111 !important;
    font-weight: 900;
}

/* Tabella */
#tbgInvoiceA4 .tbg-invoice-pro-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 24px;
    table-layout: fixed;
}

#tbgInvoiceA4 .tbg-invoice-pro-table th {
    background: #111111 !important;
    color: #ffffff !important;
    padding: 9px 8px;
    text-align: left;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

#tbgInvoiceA4 .tbg-invoice-pro-table td {
    padding: 11px 8px;
    border-bottom: 1px solid #dddddd;
    color: #222222 !important;
    font-size: 10px;
    vertical-align: top;
}

#tbgInvoiceA4 .tbg-invoice-pro-table th:nth-child(1),
#tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(1) { width: 22%; }

#tbgInvoiceA4 .tbg-invoice-pro-table th:nth-child(2),
#tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(2) { width: 42%; }

#tbgInvoiceA4 .tbg-invoice-pro-table th:nth-child(3),
#tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(3) {
    width: 8%;
    text-align: center;
}

#tbgInvoiceA4 .tbg-invoice-pro-table th:nth-child(4),
#tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(4),
#tbgInvoiceA4 .tbg-invoice-pro-table th:nth-child(5),
#tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(5) {
    width: 14%;
    text-align: right;
}

#tbgInvoiceA4 .tbg-invoice-pro-table td strong {
    display: block;
    color: #111111 !important;
    font-size: 10px;
    margin-bottom: 4px;
}

#tbgInvoiceA4 .tbg-invoice-pro-table td span {
    display: block;
    color: #666666 !important;
    font-size: 9.5px;
}

/* Note + totali */
#tbgInvoiceA4 .tbg-invoice-pro-bottom {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 24px;
    margin-top: 28px;
}

#tbgInvoiceA4 .tbg-invoice-pro-notes h3 {
    margin: 0 0 7px 0;
    color: #111111 !important;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

#tbgInvoiceA4 .tbg-invoice-pro-notes p {
    margin: 0 0 6px 0;
    color: #555555 !important;
    font-size: 10px;
    line-height: 1.45;
}

#tbgInvoiceA4 .tbg-invoice-pro-totals {
    border: 1px solid #dddddd;
    background: #f7f7f9;
    padding: 12px;
}

#tbgInvoiceA4 .tbg-invoice-pro-totals div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 6px 0;
    border-bottom: 1px solid #dddddd;
    color: #555555 !important;
    font-size: 10px;
}

#tbgInvoiceA4 .tbg-invoice-pro-totals div:last-child {
    border-bottom: 0;
}

#tbgInvoiceA4 .tbg-invoice-pro-totals strong {
    color: #111111 !important;
}

#tbgInvoiceA4 .tbg-invoice-pro-grand-total {
    margin-top: 7px;
    padding-top: 10px !important;
}

#tbgInvoiceA4 .tbg-invoice-pro-grand-total span,
#tbgInvoiceA4 .tbg-invoice-pro-grand-total strong {
    color: #4d24ff !important;
    font-size: 15px !important;
    font-weight: 900;
    text-transform: uppercase;
}

#tbgInvoiceA4 .tbg-invoice-pro-footer {
    margin-top: 34px;
    padding-top: 10px;
    border-top: 1px solid #dddddd;
    color: #777777 !important;
    font-size: 8.5px;
    text-align: center;
}

@media (max-width: 900px) {

    .tbg-invoice-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .tbg-invoice-toolbar .tbg-btn,
    .tbg-invoice-toolbar .tbg-btn-secondary {
        width: 100%;
        min-width: 0;
        text-align: center;
        justify-content: center;
    }

    .tbg-invoice-preview-pro {
        padding: 10px 12px 60px 12px;
        overflow-x: hidden;
        width: 100%;
    }

    #tbgInvoiceA4.tbg-invoice-sheet-pro {
        width: 100%;
        max-width: 100%;
        min-height: auto;
        padding: 20px 16px 26px 16px;
        border-radius: 8px;
        box-shadow: none;
        overflow: hidden;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-header {
        display: block;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-brand {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-brand img {
        width: 42px !important;
        max-width: 42px !important;
        min-width: 42px !important;
        height: auto !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-brand h2 {
        font-size: 15px;
        line-height: 1.1;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-brand p {
        font-size: 8px;
        line-height: 1.25;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-title {
        text-align: left;
        margin-top: 18px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-title h1 {
        font-size: 22px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-meta {
        grid-template-columns: 1fr 1fr;
        margin-top: 18px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-meta div {
        border-right: none;
        border-bottom: 1px solid #dddddd;
        padding: 11px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-meta span {
        font-size: 8px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-meta strong {
        font-size: 10px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-parties {
        display: block;
        margin-top: 18px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-card {
        padding: 15px;
        margin-bottom: 12px;
        min-height: auto;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-card h3 {
        font-size: 13px;
        margin-bottom: 10px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-card p {
        font-size: 12px;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }

    /* Tabella prodotto trasformata in card mobile */
    #tbgInvoiceA4 .tbg-invoice-pro-table,
    #tbgInvoiceA4 .tbg-invoice-pro-table thead,
    #tbgInvoiceA4 .tbg-invoice-pro-table tbody,
    #tbgInvoiceA4 .tbg-invoice-pro-table tr,
    #tbgInvoiceA4 .tbg-invoice-pro-table th,
    #tbgInvoiceA4 .tbg-invoice-pro-table td {
        display: block;
        width: 100%;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table {
        margin-top: 18px;
        table-layout: auto;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table thead {
        display: none;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table tr {
        border: 1px solid #dddddd;
        background: #ffffff;
        padding: 12px;
        margin-bottom: 12px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 14px;
        padding: 8px 0;
        border-bottom: 1px solid #eeeeee;
        font-size: 12px;
        text-align: right;
        color: #222222 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:last-child {
        border-bottom: none;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td::before {
        color: #777777;
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
        text-align: left;
        flex: 0 0 auto;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(1)::before {
        content: "Codice";
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(2)::before {
        content: "Descrizione";
        display: block;
        margin-bottom: 6px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(3)::before {
        content: "Qtà";
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(4)::before {
        content: "Prezzo";
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(5)::before {
        content: "Totale";
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(2) {
        display: block;
        text-align: left;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td strong {
        font-size: 12px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td span {
        font-size: 11px;
        line-height: 1.4;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-bottom {
        display: block;
        margin-top: 18px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-notes {
        margin-bottom: 18px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-notes h3 {
        font-size: 13px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-notes p {
        font-size: 12px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-totals {
        width: 100%;
        margin-top: 0;
        padding: 14px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-totals div {
        font-size: 12px;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-grand-total span,
    #tbgInvoiceA4 .tbg-invoice-pro-grand-total strong {
        font-size: 18px !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-footer {
        margin-top: 28px;
        font-size: 8px;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }
}

/* Classe temporanea usata SOLO durante il download PDF.
   Serve a impedire che i CSS mobile rompano il PDF su telefono. */
#tbgInvoiceA4.tbg-pdf-exporting {
    width: 794px !important;
    height: 1118px !important;
    min-height: 0 !important;
    max-height: 1118px !important;
    padding: 46px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-header {
    display: flex !important;
}

#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-parties {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
}

#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-bottom {
    display: grid !important;
    grid-template-columns: 1fr 260px !important;
}

#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-meta {
    grid-template-columns: repeat(4, 1fr) !important;
}

#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table {
    table-layout: fixed !important;
    min-width: 0 !important;
}

#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-brand img {
    width: 48px !important;
    max-width: 48px !important;
    min-width: 48px !important;
    max-height: 48px !important;
}

/* =====================================================
   FIX PDF EXPORT - DESKTOP E MOBILE
   ===================================================== */

.tbg-pdf-sandbox {
    position: absolute;
    left: -10000px;
    top: 0;
    width: 794px;
    background: #ffffff;
    overflow: visible;
    z-index: -1;
}

.tbg-pdf-sandbox #tbgInvoiceA4.tbg-invoice-sheet-pro,
#tbgInvoiceA4.tbg-pdf-exporting {
    width: 794px !important;
    height: 1123px !important;
    min-height: 1123px !important;
    max-height: 1123px !important;
    margin: 0 !important;
    padding: 48px !important;
    background: #ffffff !important;
    color: #111111 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Durante il PDF non deve usare il layout mobile */
.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-header,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-header {
    display: flex !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-parties,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-parties {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-bottom,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-bottom {
    display: grid !important;
    grid-template-columns: 1fr 260px !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-meta,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-meta {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table thead,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table thead {
    display: table-header-group !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table tbody,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table tbody {
    display: table-row-group !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table tr,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table tr {
    display: table-row !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table th,
.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table td,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table th,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table td {
    display: table-cell !important;
}

.tbg-pdf-sandbox #tbgInvoiceA4 .tbg-invoice-pro-table td::before,
#tbgInvoiceA4.tbg-pdf-exporting .tbg-invoice-pro-table td::before {
    content: none !important;
    display: none !important;
}

@media print {
    @page {
        size: A4;
        margin: 0;
    }

    body {
        background: #ffffff !important;
    }

    .tbg-header,
    .tbg-dash-sidebar,
    .tbg-footer,
    .tbg-cart-overlay,
    .tbg-cart-sidebar,
    .no-print {
        display: none !important;
    }

    .tbg-dashboard-layout {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #ffffff !important;
        max-width: none !important;
    }

    .tbg-dash-content {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .tbg-invoice-preview-pro {
        padding: 0 !important;
        overflow: visible !important;
    }

    #tbgInvoiceA4.tbg-invoice-sheet-pro {
        width: 210mm !important;
        height: 297mm !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 16mm !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
}


/* =====================================================
   HOTFIX FATTURA - PDF DESKTOP + ANTEPRIMA MOBILE
   Incollare DOPO il blocco fattura esistente.
   ===================================================== */

/* Il sandbox NON deve stare a sinistra -10000px:
   su desktop html2canvas taglia il PDF. */
.tbg-pdf-sandbox {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 794px !important;
    height: 1123px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    z-index: -1 !important;
    pointer-events: none !important;
}

/* Anteprima mobile più pulita nella dashboard */
@media (max-width: 900px) {
    .tbg-invoice-preview-pro {
        padding: 12px 10px 70px 10px !important;
        overflow-x: hidden !important;
    }

    #tbgInvoiceA4.tbg-invoice-sheet-pro {
        width: 100% !important;
        max-width: 100% !important;
        padding: 18px 14px 26px 14px !important;
        border-radius: 6px !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    /* Box prodotto: non deve sembrare una tabella rotta */
    #tbgInvoiceA4 .tbg-invoice-pro-table {
        margin-top: 18px !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table thead {
        display: none !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table,
    #tbgInvoiceA4 .tbg-invoice-pro-table tbody,
    #tbgInvoiceA4 .tbg-invoice-pro-table tr,
    #tbgInvoiceA4 .tbg-invoice-pro-table td {
        display: block !important;
        width: 100% !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table tr {
        padding: 16px !important;
        border: 1px solid #dddddd !important;
        background: #ffffff !important;
        margin: 0 0 18px 0 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td {
        border: 0 !important;
        border-bottom: 1px solid #eeeeee !important;
        padding: 10px 0 !important;
        color: #222222 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:last-child {
        border-bottom: 0 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td::before {
        display: block !important;
        margin-bottom: 5px !important;
        color: #777777 !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
        text-align: left !important;
        content: "" !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(1)::before { content: "Codice" !important; }
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(2)::before { content: "Descrizione" !important; }
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(3)::before { content: "Quantità" !important; }
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(4)::before { content: "Prezzo" !important; }
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(5)::before { content: "Totale" !important; }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(1),
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(2) {
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(1) {
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(3),
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(4),
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(5) {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 12px !important;
        text-align: right !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(3)::before,
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(4)::before,
    #tbgInvoiceA4 .tbg-invoice-pro-table td:nth-child(5)::before {
        margin-bottom: 0 !important;
        flex: 0 0 auto !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td strong {
        display: block !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        margin-bottom: 6px !important;
        color: #111111 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-table td span {
        display: block !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        color: #666666 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-notes {
        margin-top: 8px !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-notes p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    #tbgInvoiceA4 .tbg-invoice-pro-totals {
        margin-top: 18px !important;
    }
}

/* Durante il PDF si torna SEMPRE al layout A4 desktop, anche se sei da telefono */
.tbg-pdf-sandbox #tbgInvoiceA4.tbg-invoice-sheet-pro,
#tbgInvoiceA4.tbg-pdf-exporting {
    width: 794px !important;
    height: 1123px !important;
    max-height: 1123px !important;
    min-height: 1123px !important;
    padding: 48px !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}



/* =====================================================
   SHOP - FILTRO PER MARCA / MODELLO AUTO
   ===================================================== */

.tbg-vehicle-sidebar .tbg-filter-help {
    margin: -6px 0 18px 0;
    color: var(--tbg-text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

.tbg-vehicle-filter-list {
    gap: 10px;
}

.tbg-brand-group {
    border: 1px solid var(--tbg-border);
    background: #0a0a0c;
    border-radius: 6px;
    overflow: hidden;
}

.tbg-brand-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 15px 16px;
    border: 0;
    background: transparent;
    color: #fff;
    font-family: var(--tbg-font);
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    text-align: left;
    transition: 0.25s ease;
}

.tbg-brand-toggle small {
    color: var(--tbg-text-muted);
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: none;
    white-space: nowrap;
}

.tbg-brand-toggle::after {
    content: '+';
    color: var(--tbg-purple);
    font-size: 1.1rem;
    font-weight: 900;
    margin-left: auto;
}

.tbg-brand-toggle.active,
.tbg-brand-toggle:hover {
    background: rgba(77, 36, 255, 0.08);
}

.tbg-brand-group.open .tbg-brand-toggle::after {
    content: '−';
}

.tbg-model-list {
    display: none;
    list-style: none;
    padding: 0 10px 12px 10px;
    margin: 0;
}

.tbg-brand-group.open .tbg-model-list {
    display: block;
}

.tbg-model-list li {
    margin: 0;
}

.tbg-model-list .tbg-vehicle-filter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 12px 12px;
    border-radius: 5px;
    background: #050505;
    border: 1px solid #1f1f22;
    color: var(--tbg-text-muted);
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.25;
    transition: 0.25s ease;
}

.tbg-model-list .tbg-vehicle-filter span {
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #151518;
    color: #fff;
    font-size: 0.72rem;
}

.tbg-filter-list > li > .tbg-vehicle-filter {
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
    display: block;
    padding: 14px 15px;
    border-radius: 4px;
    background: #0a0a0c;
    border: 1px solid var(--tbg-border);
    font-size: 0.85rem;
    font-weight: 800;
}

.tbg-vehicle-filter.active,
.tbg-model-list .tbg-vehicle-filter.active,
.tbg-filter-list > li > .tbg-vehicle-filter.active {
    color: #fff;
    border-color: var(--tbg-purple);
    background: rgba(77, 36, 255, 0.14);
}

@media (max-width: 768px) {
    .tbg-vehicle-sidebar .tbg-filter-help {
        margin-bottom: 14px;
    }

    .tbg-brand-toggle {
        padding: 14px;
    }

    .tbg-model-list {
        padding: 0 8px 10px 8px;
    }
}

/* =====================================================
   FINAL WEBP + PICTURE COMPATIBILITY
   ===================================================== */

/* I tag <picture> devono comportarsi come immagini normali nel layout. */
.tbg-logo picture,
.tbg-footer picture,
.tbg-product-img-wrap picture,
.tbg-about-img picture,
.tbg-radio-card picture,
.tbg-sp-main-img picture,
.tbg-dash-item-cell picture,
.tbg-invoice-pro-brand picture {
    display: contents;
}

.tbg-logo picture img,
.tbg-logo img {
    height: 65px;
    width: auto;
    object-fit: contain;
}

.footer-logo,
picture .footer-logo,
.tbg-footer picture img.footer-logo {
    max-width: 140px;
    height: auto;
    display: block;
    margin-bottom: 25px;
}

/* Fix definitivo slider homepage dopo passaggio a <picture>. */
.tbg-product-track .tbg-product-card {
    flex: 0 0 250px !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
}

.tbg-product-track .tbg-product-card-more {
    flex: 0 0 250px !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
}

.tbg-product-img-wrap picture {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

.tbg-product-img-wrap picture img,
.tbg-product-img-wrap .tbg-product-img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

.tbg-about-img picture {
    display: block;
    width: 100%;
}

.tbg-about-img picture img,
.tbg-about-img img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    display: block;
}

.tbg-radio-card picture,
.tbg-radio-card picture img,
.tbg-radio-img {
    display: block;
    width: 100%;
}

.tbg-dash-item-cell picture {
    display: block;
    flex: 0 0 auto;
}

.tbg-dash-item-cell picture .tbg-dash-item-img,
.tbg-dash-item-img {
    display: block;
    object-fit: cover;
}

/* Nella griglia shop NON usare la larghezza fissa dello slider. */
.tbg-shop-grid .tbg-product-card {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

@media (max-width: 768px) {
    .tbg-product-track .tbg-product-card,
    .tbg-product-track .tbg-product-card-more {
        flex: 0 0 78vw !important;
        width: 78vw !important;
        min-width: 78vw !important;
        max-width: 78vw !important;
    }
}
/* =====================================================
   TBG SHOP - RICHIESTA PEZZO + STATI PRODOTTO
   ===================================================== */
.tbg-product-public-status {
    display: inline-flex;
    width: max-content;
    margin: 0 0 10px 0;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(77,36,255,.45);
    background: rgba(77,36,255,.12);
    color: #fff;
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .8px;
}
.tbg-status-out_of_stock { border-color: rgba(255,160,60,.5); background: rgba(255,160,60,.12); }
.tbg-status-coming_soon { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.tbg-status-on_request { border-color: rgba(77,36,255,.6); background: rgba(77,36,255,.18); }
.tbg-part-request-section {
    grid-column: 1 / -1;
    margin-top: 60px;
    padding: 45px;
    border: 1px solid rgba(77,36,255,.35);
    border-radius: 14px;
    background:
        radial-gradient(circle at top left, rgba(77,36,255,.26), transparent 36%),
        linear-gradient(135deg, #0c0c12 0%, #050507 100%);
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 40px;
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
.tbg-part-request-copy h2 { color: #fff; font-size: 2.1rem; line-height: 1; margin: 0 0 18px; text-transform: uppercase; font-weight: 900; }
.tbg-part-request-copy p { color: var(--tbg-text-muted); margin: 0 0 22px; max-width: 560px; }
.tbg-part-request-copy ul { margin: 0; padding-left: 18px; color: #ccc; }
.tbg-part-request-copy li { margin-bottom: 8px; }
.tbg-part-request-card { background: rgba(0,0,0,.35); border: 1px solid #24242b; border-radius: 12px; padding: 26px; }
.tbg-part-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.tbg-part-grid label { color: #fff; font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; display:flex; flex-direction:column; gap:8px; }
.tbg-part-grid label.full { grid-column: 1 / -1; }
.tbg-part-grid input, .tbg-part-grid textarea {
    background: #08080b;
    border: 1px solid #2a2a32;
    color: #fff;
    border-radius: 8px;
    padding: 13px 14px;
    font-family: var(--tbg-font);
    outline: none;
}
.tbg-part-grid input:focus, .tbg-part-grid textarea:focus { border-color: var(--tbg-purple); box-shadow: 0 0 0 3px rgba(77,36,255,.16); }
.tbg-request-success, .tbg-request-error { padding: 14px 16px; border-radius: 8px; margin-bottom: 16px; font-weight: 800; }
.tbg-request-success { background: rgba(25,180,110,.14); border:1px solid rgba(25,180,110,.4); color:#baf7d8; }
.tbg-request-error { background: rgba(255,80,100,.14); border:1px solid rgba(255,80,100,.4); color:#ffd1d8; }
@media (max-width: 900px) {
    .tbg-part-request-section { grid-template-columns: 1fr; padding: 28px; }
    .tbg-part-grid { grid-template-columns: 1fr; }
}


/* --- FIX RICHIESTA PEZZO: textarea note controllata --- */
.tbg-part-request-card,
.tbg-part-grid,
.tbg-part-grid label.full {
    min-width: 0;
}

.tbg-part-request-card {
    overflow: hidden;
}

.tbg-part-grid textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 170px;
    height: 190px;
    max-height: 360px;
    resize: vertical;
    box-sizing: border-box;
    line-height: 1.6;
}


/* =========================================================
   TBG CLIENT DASHBOARD BETA PRO UX
   Dashboard cliente demo: estetica premium senza login reale
   ========================================================= */
.tbg-client-sidebar-pro {
    background: radial-gradient(circle at 20% 0%, rgba(77,36,255,.20), transparent 35%), linear-gradient(180deg, rgba(18,18,28,.98), rgba(8,8,12,.98)) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.35) !important;
}
.tbg-client-profile-card {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    border-radius: 18px;
    margin-bottom: 16px;
}
.tbg-client-avatar {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--tbg-purple), #8b5cff);
    color: #fff;
    font-weight: 900;
    letter-spacing: 1px;
    box-shadow: 0 0 26px rgba(77,36,255,.45);
}
.tbg-client-profile-card h3 { margin: 2px 0 0 0; color: #fff; font-size: 1rem; text-transform: uppercase; letter-spacing: .5px; }
.tbg-client-profile-card p { margin: 2px 0 0 0; color: var(--tbg-text-muted); font-size: .78rem; }
.tbg-client-label,
.tbg-client-kicker {
    display: inline-flex;
    color: #8c76ff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: .68rem;
    font-weight: 900;
}
.tbg-client-progress-card,
.tbg-client-support-card {
    padding: 16px;
    border-radius: 16px;
    background: rgba(0,0,0,.24);
    border: 1px solid rgba(255,255,255,.07);
    margin-bottom: 18px;
}
.tbg-client-progress-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#fff; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.tbg-client-progress-top strong { color:#8c76ff; }
.tbg-client-progress-bar { height: 7px; border-radius: 999px; overflow:hidden; background: rgba(255,255,255,.08); margin: 12px 0 10px; }
.tbg-client-progress-bar span { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg, var(--tbg-purple), #8b5cff); box-shadow: 0 0 18px rgba(77,36,255,.55); }
.tbg-client-progress-card small,
.tbg-client-support-card p { color: #888; font-size: .72rem; line-height:1.55; }
.tbg-client-nav-title { color:#fff; margin: 0 0 12px 4px; font-size:.78rem; text-transform:uppercase; letter-spacing:2px; font-weight:900; }
.tbg-client-nav-pro a {
    display: grid !important;
    grid-template-columns: 22px 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    padding: 14px 15px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
}
.tbg-client-nav-pro a svg { grid-row: 1 / span 2; width:20px !important; height:20px !important; }
.tbg-client-nav-pro a span { color: #fff; font-weight: 900; line-height:1; }
.tbg-client-nav-pro a small { color:#777; font-size:.68rem; font-weight:700; }
.tbg-client-nav-pro a:hover,
.tbg-client-nav-pro a.active {
    background: rgba(77,36,255,.16) !important;
    border-color: rgba(77,36,255,.55) !important;
    transform: translateX(2px);
}
.tbg-client-logout-link span { color:#ff6685 !important; }
.tbg-client-support-card span { display:block; color:#fff; font-weight:900; text-transform:uppercase; font-size:.82rem; margin-bottom:6px; }
.tbg-client-support-card a { display:inline-flex; color:#fff; text-decoration:none; font-weight:900; font-size:.72rem; text-transform:uppercase; margin-top:10px; border-bottom:1px solid var(--tbg-purple); }

.tbg-client-hero-pro,
.tbg-client-welcome-panel,
.tbg-client-next-panel {
    border: 1px solid rgba(255,255,255,.08);
    background: radial-gradient(circle at 15% 20%, rgba(77,36,255,.25), transparent 35%), linear-gradient(135deg, rgba(19,19,29,.98), rgba(7,7,10,.98));
    border-radius: 26px;
    padding: 30px;
    box-shadow: 0 30px 70px rgba(0,0,0,.32);
}
.tbg-client-hero-pro {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap: 24px;
}
.tbg-client-hero-pro h1,
.tbg-client-welcome-panel h2,
.tbg-client-next-panel h3 {
    margin: 8px 0 10px 0;
    color:#fff;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height:.95;
    text-transform:uppercase;
    letter-spacing:-2px;
    font-weight: 900;
}
.tbg-client-welcome-panel h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.tbg-client-next-panel h3 { font-size: clamp(1.4rem, 2vw, 2.3rem); }
.tbg-client-hero-pro p,
.tbg-client-welcome-panel p,
.tbg-client-next-panel p { color:#aaa; max-width: 760px; line-height:1.75; margin:0; font-size:.95rem; }
.tbg-client-hero-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.tbg-client-hero-actions .tbg-btn { padding: 14px 22px; white-space:nowrap; }
.tbg-client-beta-notice {
    padding: 15px 18px;
    border: 1px solid rgba(77,36,255,.38);
    background: rgba(77,36,255,.08);
    border-radius: 16px;
    color: #aaa;
    line-height: 1.6;
    font-size: .85rem;
}
.tbg-client-beta-notice strong { color:#fff; }
.tbg-client-welcome-panel { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.tbg-client-status-pill {
    display:inline-flex;
    align-items:center;
    gap:10px;
    white-space:nowrap;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    padding: 12px 16px;
    color:#fff;
    background: rgba(255,255,255,.05);
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
}
.tbg-client-status-pill span { width:9px; height:9px; border-radius:50%; background:#9dff8a; box-shadow:0 0 16px rgba(157,255,138,.7); }
.tbg-client-metrics-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:18px; }
.tbg-client-metric-card {
    text-decoration:none;
    display:block;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
    border:1px solid rgba(255,255,255,.08);
    transition:.25s ease;
}
.tbg-client-metric-card:hover { transform: translateY(-4px); border-color: rgba(77,36,255,.55); box-shadow:0 20px 45px rgba(77,36,255,.16); }
.tbg-client-metric-card span { color:#8c76ff; text-transform:uppercase; font-size:.7rem; font-weight:900; letter-spacing:1.5px; }
.tbg-client-metric-card strong { display:block; color:#fff; font-size:2.2rem; line-height:1; margin:14px 0 8px; font-weight:900; }
.tbg-client-metric-card small { color:#8c8c96; font-weight:700; }
.tbg-client-metric-card.is-hot { background: radial-gradient(circle at 80% 0%, rgba(77,36,255,.30), transparent 40%), linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); }
.tbg-client-home-grid { display:grid; grid-template-columns: minmax(0,1.4fr) minmax(320px,.8fr); gap:22px; align-items:stretch; }
.tbg-client-order-spotlight,
.tbg-client-quick-actions {
    padding: 24px;
    border-radius: 24px;
    background: #0b0b0f;
    border: 1px solid rgba(255,255,255,.08);
}
.tbg-client-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom:18px; margin-bottom:18px; }
.tbg-client-section-head h3 { color:#fff; margin:6px 0 0; font-size:1.35rem; text-transform:uppercase; font-weight:900; }
.tbg-client-product-row { display:flex; gap:16px; align-items:center; padding:16px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); border-radius:18px; }
.tbg-client-product-thumb { width:82px !important; height:82px !important; object-fit:contain; border-radius:14px; background:#15151b; padding:8px; }
.tbg-client-product-row strong { color:#fff; display:block; margin-bottom:5px; }
.tbg-client-product-row p { color:#888; margin:0; line-height:1.55; font-size:.82rem; }
.tbg-client-mini-timeline { display:grid; grid-template-columns: repeat(4,1fr); gap:10px; margin:20px 0; }
.tbg-client-mini-timeline div { position:relative; color:#777; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.7px; }
.tbg-client-mini-timeline span { display:block; height:8px; border-radius:999px; margin-bottom:8px; background:rgba(255,255,255,.08); }
.tbg-client-mini-timeline .done span,
.tbg-client-mini-timeline .active span { background:linear-gradient(90deg, var(--tbg-purple), #8b5cff); box-shadow: 0 0 14px rgba(77,36,255,.5); }
.tbg-client-mini-timeline .done,
.tbg-client-mini-timeline .active { color:#fff; }
.tbg-client-actions-row { display:flex; gap:12px; flex-wrap:wrap; }
.tbg-btn-small.is-muted { background:transparent !important; border:1px solid rgba(255,255,255,.12); color:#fff; }
.tbg-client-action-list { display:grid; gap:12px; }
.tbg-client-action-list a {
    text-decoration:none;
    display:block;
    padding:16px 18px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
    transition:.25s ease;
}
.tbg-client-action-list a:hover { border-color:rgba(77,36,255,.55); transform: translateX(3px); }
.tbg-client-action-list strong { display:block; color:#fff; text-transform:uppercase; font-size:.82rem; margin-bottom:4px; }
.tbg-client-action-list span { color:#888; font-size:.78rem; }
.tbg-client-next-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.tbg-client-checklist { min-width: 280px; display:grid; gap:10px; }
.tbg-client-checklist span { color:#fff; font-weight:800; font-size:.82rem; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.08); border-radius:999px; padding:10px 13px; }

/* Rende più premium anche le sezioni già esistenti della dashboard cliente */
.tbg-dashboard-layout { background: radial-gradient(circle at 70% 0%, rgba(77,36,255,.10), transparent 30%), #030303; }
.tbg-dash-table-wrap,
.tbg-dash-form-box,
.tbg-address-card,
.tbg-tracking-wrap,
.tbg-help-box {
    border-radius: 24px !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 22px 50px rgba(0,0,0,.20);
}
.tbg-dash-table-header,
.tbg-address-header { border-color: rgba(255,255,255,.08) !important; }
.tbg-dash-table th { color:#8c76ff !important; letter-spacing:1.4px; }
.status-badge { border-radius:999px !important; }

@media (max-width: 1100px) {
    .tbg-client-hero-pro,
    .tbg-client-welcome-panel,
    .tbg-client-next-panel { flex-direction:column; align-items:flex-start; }
    .tbg-client-hero-actions { justify-content:flex-start; }
    .tbg-client-metrics-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tbg-client-home-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .tbg-client-hero-pro,
    .tbg-client-welcome-panel,
    .tbg-client-next-panel,
    .tbg-client-order-spotlight,
    .tbg-client-quick-actions { padding:22px; border-radius:20px; }
    .tbg-client-metrics-grid { grid-template-columns: 1fr; }
    .tbg-client-mini-timeline { grid-template-columns: repeat(2,1fr); }
    .tbg-client-status-pill { white-space:normal; }
    .tbg-client-nav-pro a { min-width: 190px; }
    .tbg-client-profile-card,
    .tbg-client-progress-card,
    .tbg-client-support-card { min-width:260px; }
}


/* =========================================================
   TBG Client Dashboard final presentation polish
   ========================================================= */
.tbg-client-profile-card .tbg-client-label::after { content: ''; }
.tbg-client-beta-notice {
    background: linear-gradient(135deg, rgba(77,36,255,.10), rgba(255,255,255,.025)) !important;
}
.tbg-client-sidebar-pro { position: sticky; top: 20px; }
.tbg-client-support-card { background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important; }

.tbg-order-detail-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:32px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.09);
    background: radial-gradient(circle at 14% 0%, rgba(77,36,255,.30), transparent 38%), linear-gradient(135deg, rgba(22,22,34,.98), rgba(7,7,10,.98));
    box-shadow:0 28px 70px rgba(0,0,0,.35);
    margin-bottom:22px;
}
.tbg-order-back-link { display:inline-flex; color:#9c86ff; text-decoration:none; font-weight:900; text-transform:uppercase; letter-spacing:1px; font-size:.72rem; margin-bottom:14px; }
.tbg-order-detail-hero h2 { margin:8px 0 10px; color:#fff; font-size:clamp(2.2rem,4vw,4.8rem); line-height:.9; text-transform:uppercase; letter-spacing:-2px; }
.tbg-order-detail-hero p { margin:0; color:#aaa; line-height:1.6; }
.tbg-order-hero-side { display:grid; gap:12px; justify-items:flex-end; }
.tbg-order-hero-side > strong { color:#fff; font-size:2rem; font-weight:900; }
.tbg-order-status-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:12px 16px; color:#fff; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:1px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); }
.tbg-order-status-pill.status-processing { background:rgba(77,36,255,.18); border-color:rgba(77,36,255,.45); }
.tbg-order-status-pill.status-shipped { background:rgba(30,144,255,.16); border-color:rgba(30,144,255,.35); }
.tbg-order-status-pill.status-completed { background:rgba(90,255,140,.12); border-color:rgba(90,255,140,.30); }

.tbg-order-detail-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr); gap:22px; align-items:stretch; margin-bottom:22px; }
.tbg-order-track-card,
.tbg-order-summary-card-pro,
.tbg-order-products-pro,
.tbg-order-address-card-pro,
.tbg-account-hero-pro,
.tbg-account-main-card-pro,
.tbg-account-side-pro section {
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    border-radius:26px;
    box-shadow:0 22px 55px rgba(0,0,0,.24);
}
.tbg-order-track-card,
.tbg-order-summary-card-pro,
.tbg-order-products-pro,
.tbg-order-address-card-pro { padding:24px; }
.tbg-order-track-code { color:#fff; font-size:.78rem; font-weight:900; border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.22); border-radius:999px; padding:10px 13px; }
.tbg-order-timeline-pro { position:relative; display:grid; grid-template-columns:repeat(var(--steps, 5), minmax(0,1fr)); gap:12px; padding:26px 0 10px; margin:8px 0 18px; }
.tbg-order-timeline-line,
.tbg-order-timeline-fill { position:absolute; left:8%; right:8%; top:44px; height:4px; border-radius:999px; background:rgba(255,255,255,.08); }
.tbg-order-timeline-fill { right:auto; width:var(--progress); background:linear-gradient(90deg, var(--tbg-purple), #8b5cff); box-shadow:0 0 18px rgba(77,36,255,.45); }
.tbg-order-timeline-step { position:relative; z-index:2; text-align:center; min-width:0; }
.tbg-order-timeline-step span { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#171720; border:1px solid rgba(255,255,255,.10); color:#777; font-weight:900; margin-bottom:12px; }
.tbg-order-timeline-step.done span { background:linear-gradient(135deg, var(--tbg-purple), #8b5cff); color:#fff; box-shadow:0 0 18px rgba(77,36,255,.5); }
.tbg-order-timeline-step.current span { outline:6px solid rgba(77,36,255,.14); }
.tbg-order-timeline-step strong { display:block; color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.6px; }
.tbg-order-timeline-step small { color:#777; font-weight:700; font-size:.68rem; }
.tbg-order-info-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.tbg-order-info-strip div { padding:16px; border-radius:18px; background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.07); }
.tbg-order-info-strip span,
.tbg-order-money-row span,
.tbg-order-grand-total span,
.tbg-order-product-price-pro span { display:block; color:#8c76ff; text-transform:uppercase; letter-spacing:1px; font-size:.66rem; font-weight:900; margin-bottom:6px; }
.tbg-order-info-strip strong { color:#fff; font-size:.82rem; line-height:1.55; }
.tbg-order-summary-card-pro h3 { color:#fff; margin:8px 0 20px; font-size:1.8rem; text-transform:uppercase; font-weight:900; }
.tbg-order-money-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.tbg-order-money-row strong { color:#fff; }
.tbg-order-grand-total { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid rgba(77,36,255,.35); }
.tbg-order-grand-total strong { color:#5b35ff; font-size:2rem; font-weight:900; }
.tbg-order-summary-actions { display:grid; gap:10px; margin-top:22px; }
.tbg-order-summary-actions .tbg-btn { width:100%; padding:14px 18px; }
.tbg-order-product-list-pro { display:grid; gap:14px; }
.tbg-order-product-card-pro { display:grid; grid-template-columns:90px minmax(0,1fr) 120px 70px 120px; gap:16px; align-items:center; padding:16px; border-radius:20px; background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.075); }
.tbg-order-product-image-pro picture,
.tbg-order-product-image-pro img { width:90px !important; height:90px !important; display:flex; align-items:center; justify-content:center; object-fit:contain; border-radius:16px; background:#171720; padding:8px; }
.tbg-order-product-main-pro a { color:#fff; text-decoration:none; font-weight:900; text-transform:uppercase; line-height:1.2; }
.tbg-order-product-main-pro p { color:#888; margin:6px 0 0; font-size:.82rem; line-height:1.5; }
.tbg-order-product-price-pro strong { color:#fff; font-size:.9rem; }
.tbg-order-product-price-pro.is-total strong { color:#fff; font-weight:900; }
.tbg-order-address-grid-pro { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:22px; }
.tbg-order-address-card-pro h3 { color:#fff; margin:8px 0 14px; text-transform:uppercase; font-size:1.05rem; }
.tbg-order-address-card-pro p { color:#999; line-height:1.75; margin:0; }
.tbg-order-address-card-pro p strong { color:#fff; }
.tbg-order-address-card-pro.is-support { background:radial-gradient(circle at 0% 0%, rgba(77,36,255,.22), transparent 45%), linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); }
.tbg-order-address-card-pro a { display:inline-flex; margin-top:16px; color:#fff; text-decoration:none; font-weight:900; text-transform:uppercase; border-bottom:1px solid var(--tbg-purple); }

.tbg-account-hero-pro { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px; margin-bottom:22px; background:radial-gradient(circle at 15% 0%, rgba(77,36,255,.25), transparent 40%), linear-gradient(135deg, rgba(22,22,34,.98), rgba(7,7,10,.98)); }
.tbg-account-hero-id { display:flex; align-items:center; gap:18px; }
.tbg-client-avatar.is-large { width:74px; height:74px; border-radius:22px; font-size:1.25rem; }
.tbg-account-hero-pro h2 { color:#fff; margin:8px 0 6px; font-size:clamp(1.9rem,3vw,3.4rem); text-transform:uppercase; line-height:.95; font-weight:900; }
.tbg-account-hero-pro p { color:#999; margin:0; }
.tbg-account-security-score { min-width:260px; padding:18px; border-radius:20px; background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.08); }
.tbg-account-security-score span { color:#8c76ff; text-transform:uppercase; font-size:.7rem; letter-spacing:1.3px; font-weight:900; }
.tbg-account-security-score strong { display:block; color:#fff; font-size:1.7rem; margin:8px 0; }
.tbg-account-layout-pro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:22px; }
.tbg-account-main-card-pro { padding:26px; }
.tbg-account-main-card-pro .tbg-client-section-head h3,
.tbg-account-side-pro h3 { color:#fff; margin:8px 0 0; text-transform:uppercase; font-size:1.35rem; }
.tbg-account-pill { color:#9dff8a; border:1px solid rgba(157,255,138,.28); background:rgba(157,255,138,.08); border-radius:999px; padding:9px 12px; font-size:.68rem; text-transform:uppercase; font-weight:900; letter-spacing:.8px; }
.tbg-account-form-pro input { min-height:54px; }
.tbg-account-divider-pro { height:1px; background:rgba(255,255,255,.08); margin:28px 0; }
.tbg-client-section-head.is-small { margin-bottom:18px; }
.tbg-account-save-btn { margin-top:28px; width:auto; padding:15px 36px; }
.tbg-account-side-pro { display:grid; gap:18px; }
.tbg-account-side-pro section { padding:22px; }
.tbg-account-side-pro p { color:#999; line-height:1.7; }
.tbg-account-side-pro p strong { color:#fff; }
.tbg-account-side-pro a { color:#fff; text-decoration:none; font-weight:900; text-transform:uppercase; border-bottom:1px solid var(--tbg-purple); }
.tbg-account-toggle-row { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#aaa; }
.tbg-account-toggle-row strong { color:#fff; background:rgba(77,36,255,.16); border:1px solid rgba(77,36,255,.35); padding:7px 10px; border-radius:999px; font-size:.72rem; }

@media (max-width: 1200px) {
    .tbg-order-detail-grid,
    .tbg-account-layout-pro { grid-template-columns:1fr; }
    .tbg-order-address-grid-pro { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
    .tbg-order-detail-hero,
    .tbg-account-hero-pro { flex-direction:column; align-items:flex-start; }
    .tbg-order-hero-side { justify-items:flex-start; }
    .tbg-order-timeline-pro { grid-template-columns:1fr; gap:14px; padding:10px 0; }
    .tbg-order-timeline-line,
    .tbg-order-timeline-fill { display:none; }
    .tbg-order-timeline-step { text-align:left; display:grid; grid-template-columns:42px 1fr; column-gap:12px; align-items:center; }
    .tbg-order-timeline-step small { grid-column:2; }
    .tbg-order-info-strip { grid-template-columns:1fr; }
    .tbg-order-product-card-pro { grid-template-columns:72px 1fr; }
    .tbg-order-product-image-pro picture,
    .tbg-order-product-image-pro img { width:72px !important; height:72px !important; }
    .tbg-order-product-price-pro { grid-column:2; display:flex; justify-content:space-between; }
}


/* =========================================================
   TBG Client Dashboard - layout fix + testi cliente finale
   Corregge il menu account e rende la navigazione più ordinata.
   ========================================================= */
@media (min-width: 1101px) {
    .tbg-dashboard-layout {
        display: grid !important;
        grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
        gap: 34px !important;
        width: 100% !important;
        max-width: 1720px !important;
        margin: 0 auto !important;
        padding: 96px 4% 100px 4% !important;
        align-items: start !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .tbg-client-sidebar-pro.tbg-dash-sidebar {
        position: sticky !important;
        top: 110px !important;
        width: 100% !important;
        max-width: 360px !important;
        min-width: 0 !important;
        padding: 22px !important;
        border-radius: 28px !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .tbg-client-profile-card,
    .tbg-client-progress-card,
    .tbg-client-support-card {
        margin: 0 !important;
        min-width: 0 !important;
    }

    .tbg-client-nav-title {
        margin: 6px 2px -2px 2px !important;
        font-size: .72rem !important;
        color: #8c76ff !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a {
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 12px !important;
        row-gap: 3px !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 15px 16px !important;
        border-radius: 18px !important;
        white-space: normal !important;
        text-align: left !important;
        justify-content: initial !important;
        box-sizing: border-box !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a svg {
        grid-row: 1 / span 2 !important;
        width: 21px !important;
        height: 21px !important;
        margin: 0 !important;
        justify-self: center !important;
        opacity: .9 !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a span,
    .tbg-client-nav-pro.tbg-dash-nav a small {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a span {
        font-size: .92rem !important;
        line-height: 1.1 !important;
        letter-spacing: .1px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a small {
        font-size: .72rem !important;
        line-height: 1.2 !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a:last-child {
        grid-column: auto !important;
    }
}

@media (max-width: 1100px) {
    .tbg-client-sidebar-pro.tbg-dash-sidebar {
        display: block !important;
        padding: 18px !important;
        border-radius: 24px !important;
        background: radial-gradient(circle at 20% 0%, rgba(77,36,255,.20), transparent 35%), linear-gradient(180deg, rgba(18,18,28,.98), rgba(8,8,12,.98)) !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        margin-bottom: 24px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        overflow: visible !important;
        padding: 0 !important;
        margin-top: 12px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a {
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 10px !important;
        row-gap: 3px !important;
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: left !important;
        justify-content: initial !important;
        padding: 13px 12px !important;
        border-radius: 16px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a svg {
        grid-row: 1 / span 2 !important;
        width: 19px !important;
        height: 19px !important;
        margin: 0 !important;
    }
}

@media (max-width: 560px) {
    .tbg-client-nav-pro.tbg-dash-nav {
        grid-template-columns: 1fr !important;
    }
}

.tbg-client-beta-notice {
    display: block !important;
    font-size: .98rem !important;
    line-height: 1.75 !important;
    padding: 20px 24px !important;
    border-radius: 20px !important;
}

.tbg-client-beta-notice strong {
    color: #fff !important;
}

.tbg-client-support-card p,
.tbg-client-progress-card small {
    font-size: .78rem !important;
}

/* =========================================================
   TBG CLIENT DASHBOARD - MOBILE PREMIUM UX PACK
   Ottimizza area cliente, ordini, dettaglio ordine e account su smartphone.
   ========================================================= */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    .tbg-site-wrapper {
        overflow-x: hidden !important;
    }

    .tbg-dashboard-layout {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 18px 14px 70px !important;
        gap: 18px !important;
        box-sizing: border-box !important;
        background: radial-gradient(circle at 50% -10%, rgba(77,36,255,.22), transparent 38%), #030303 !important;
    }

    .tbg-dash-sidebar,
    .tbg-client-sidebar-pro.tbg-dash-sidebar,
    .tbg-dash-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-content {
        gap: 18px !important;
    }

    .tbg-client-sidebar-pro.tbg-dash-sidebar {
        position: relative !important;
        top: auto !important;
        padding: 14px !important;
        border-radius: 24px !important;
        box-shadow: 0 20px 55px rgba(0,0,0,.35) !important;
    }

    .tbg-client-profile-card {
        padding: 14px !important;
        border-radius: 20px !important;
        gap: 12px !important;
        background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
    }

    .tbg-client-avatar {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        border-radius: 15px !important;
        font-size: .88rem !important;
    }

    .tbg-client-profile-card h3 {
        font-size: .92rem !important;
        line-height: 1.15 !important;
    }

    .tbg-client-profile-card p {
        font-size: .74rem !important;
    }

    .tbg-client-label,
    .tbg-client-kicker {
        font-size: .58rem !important;
        letter-spacing: 1.5px !important;
    }

    .tbg-client-progress-card {
        padding: 14px !important;
        border-radius: 18px !important;
        margin: 12px 0 !important;
    }

    .tbg-client-support-card {
        padding: 15px !important;
        border-radius: 18px !important;
        margin-top: 12px !important;
        margin-bottom: 0 !important;
    }

    .tbg-client-nav-title {
        margin: 14px 2px 10px !important;
        font-size: .64rem !important;
        letter-spacing: 1.8px !important;
        color: #8c76ff !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a {
        min-height: 82px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 14px !important;
        border-radius: 18px !important;
        text-align: left !important;
        background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)) !important;
        border: 1px solid rgba(255,255,255,.09) !important;
        box-shadow: 0 12px 25px rgba(0,0,0,.18) !important;
        touch-action: manipulation !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a.active {
        background: radial-gradient(circle at 80% 0%, rgba(77,36,255,.35), transparent 45%), linear-gradient(180deg, rgba(77,36,255,.25), rgba(255,255,255,.035)) !important;
        border-color: rgba(125,94,255,.75) !important;
        box-shadow: 0 16px 35px rgba(77,36,255,.18) !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a svg {
        width: 22px !important;
        height: 22px !important;
        margin: 0 0 2px 0 !important;
        opacity: .95 !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a span {
        font-size: .86rem !important;
        line-height: 1.05 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a small {
        font-size: .66rem !important;
        line-height: 1.1 !important;
        color: #aaa !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a.tbg-client-logout-link {
        grid-column: 1 / -1 !important;
        min-height: 58px !important;
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        column-gap: 10px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a.tbg-client-logout-link svg {
        grid-row: 1 / span 2 !important;
    }

    .tbg-client-hero-pro,
    .tbg-client-welcome-panel,
    .tbg-client-next-panel,
    .tbg-client-order-spotlight,
    .tbg-client-quick-actions,
    .tbg-account-hero-pro,
    .tbg-account-main-card-pro,
    .tbg-account-side-pro section,
    .tbg-order-detail-hero,
    .tbg-order-timeline-card-pro,
    .tbg-order-summary-pro,
    .tbg-order-products-card-pro,
    .tbg-order-address-card-pro,
    .tbg-dash-table-wrap,
    .tbg-dash-welcome,
    .tbg-address-card,
    .tbg-dash-form-box {
        border-radius: 22px !important;
        padding: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .tbg-client-hero-pro {
        min-height: auto !important;
        gap: 18px !important;
        background: radial-gradient(circle at 15% 5%, rgba(77,36,255,.34), transparent 43%), linear-gradient(135deg, rgba(22,22,34,.98), rgba(6,6,9,.98)) !important;
    }

    .tbg-client-hero-pro h1,
    .tbg-client-welcome-panel h2,
    .tbg-order-detail-hero h2,
    .tbg-account-hero-pro h2 {
        font-size: clamp(2.05rem, 12vw, 3.35rem) !important;
        line-height: .92 !important;
        letter-spacing: -1.5px !important;
        word-break: normal !important;
    }

    .tbg-client-hero-pro p,
    .tbg-client-welcome-panel p,
    .tbg-client-next-panel p,
    .tbg-dash-welcome p {
        font-size: .9rem !important;
        line-height: 1.65 !important;
    }

    .tbg-client-hero-actions,
    .tbg-client-actions-row,
    .tbg-form-actions,
    .tbg-sp-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .tbg-client-hero-actions .tbg-btn,
    .tbg-client-actions-row .tbg-btn-small,
    .tbg-client-actions-row .tbg-btn,
    .tbg-btn,
    .tbg-btn-secondary,
    .tbg-btn-small {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .tbg-client-beta-notice {
        padding: 15px !important;
        border-radius: 18px !important;
        font-size: .86rem !important;
        line-height: 1.65 !important;
    }

    .tbg-client-metrics-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 10px !important;
    }

    .tbg-client-metric-card {
        padding: 15px !important;
        border-radius: 18px !important;
        min-height: 118px !important;
    }

    .tbg-client-metric-card span {
        font-size: .58rem !important;
        letter-spacing: 1.1px !important;
    }

    .tbg-client-metric-card strong {
        font-size: 1.85rem !important;
        margin: 10px 0 6px !important;
    }

    .tbg-client-metric-card small {
        font-size: .68rem !important;
        line-height: 1.25 !important;
        display: block !important;
    }

    .tbg-client-home-grid,
    .tbg-account-layout-pro,
    .tbg-order-detail-grid,
    .tbg-order-address-grid-pro,
    .tbg-address-grid,
    .tbg-dash-cards,
    .tbg-form-grid,
    .tbg-form-grid.full {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .tbg-client-section-head {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        padding-bottom: 14px !important;
        margin-bottom: 14px !important;
    }

    .tbg-client-section-head h3 {
        font-size: 1.15rem !important;
        line-height: 1.1 !important;
    }

    .tbg-client-product-row {
        align-items: flex-start !important;
        padding: 13px !important;
        border-radius: 17px !important;
    }

    .tbg-client-product-thumb {
        width: 68px !important;
        height: 68px !important;
        min-width: 68px !important;
        border-radius: 14px !important;
    }

    .tbg-client-mini-timeline {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 12px !important;
    }

    .tbg-client-action-list a {
        padding: 15px !important;
        border-radius: 16px !important;
    }

    .tbg-client-next-panel {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .tbg-client-checklist {
        min-width: 0 !important;
        width: 100% !important;
    }

    .tbg-client-checklist span {
        border-radius: 16px !important;
        line-height: 1.35 !important;
    }

    /* Ordini: le tabelle diventano card leggibili su telefono */
    .tbg-dash-table-wrap {
        overflow: visible !important;
        background: #0b0b0f !important;
    }

    .tbg-dash-table,
    .tbg-dash-table thead,
    .tbg-dash-table tbody,
    .tbg-dash-table tr,
    .tbg-dash-table th,
    .tbg-dash-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .tbg-dash-table thead {
        display: none !important;
    }

    .tbg-dash-table tr {
        padding: 14px !important;
        margin-bottom: 12px !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.035) !important;
    }

    .tbg-dash-table td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.07) !important;
        text-align: right !important;
    }

    .tbg-dash-table td:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .tbg-dash-table td::before {
        content: attr(data-label);
        color: #8c76ff;
        font-size: .66rem;
        font-weight: 900;
        letter-spacing: 1.1px;
        text-transform: uppercase;
        text-align: left;
        min-width: 88px;
    }

    .tbg-dash-table td[data-label="Prodotto"] {
        display: block !important;
        text-align: left !important;
    }

    .tbg-dash-table td[data-label="Prodotto"]::before {
        display: block !important;
        margin-bottom: 10px !important;
    }

    .tbg-dash-item-cell {
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .tbg-dash-item-img,
    .tbg-dash-item-img img,
    .tbg-dash-item-img picture {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        object-fit: contain !important;
    }

    .tbg-order-summary-box,
    .tbg-order-summary-inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        box-sizing: border-box !important;
    }

    .tbg-order-summary-total h3 {
        font-size: 1.25rem !important;
    }

    /* Dettaglio ordine mobile */
    .tbg-order-detail-hero {
        gap: 18px !important;
    }

    .tbg-order-hero-side {
        width: 100% !important;
        justify-items: stretch !important;
    }

    .tbg-order-status-large,
    .tbg-order-hero-total {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .tbg-order-info-strip {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .tbg-order-info-strip div {
        padding: 13px !important;
        border-radius: 16px !important;
    }

    .tbg-order-timeline-step {
        grid-template-columns: 38px minmax(0,1fr) !important;
    }

    .tbg-order-product-card-pro {
        grid-template-columns: 70px minmax(0,1fr) !important;
        gap: 12px !important;
        padding: 13px !important;
        border-radius: 18px !important;
    }

    .tbg-order-product-image-pro,
    .tbg-order-product-image-pro picture,
    .tbg-order-product-image-pro img {
        width: 70px !important;
        height: 70px !important;
        min-width: 70px !important;
    }

    .tbg-order-product-main-pro strong {
        font-size: .9rem !important;
        line-height: 1.15 !important;
    }

    .tbg-order-product-price-pro {
        grid-column: 2 !important;
        display: flex !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding-top: 8px !important;
        border-top: 1px solid rgba(255,255,255,.07) !important;
    }

    /* Account mobile */
    .tbg-account-hero-pro {
        align-items: flex-start !important;
    }

    .tbg-account-hero-id {
        align-items: flex-start !important;
        gap: 13px !important;
    }

    .tbg-client-avatar.is-large {
        width: 56px !important;
        height: 56px !important;
        border-radius: 18px !important;
        min-width: 56px !important;
    }

    .tbg-account-security-score {
        min-width: 0 !important;
        width: 100% !important;
    }

    .tbg-account-main-card-pro .tbg-client-section-head,
    .tbg-account-side-pro .tbg-client-section-head {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .tbg-account-pill {
        align-self: flex-start !important;
    }

    .tbg-account-form-pro input,
    .tbg-auth-form input,
    .tbg-auth-form textarea,
    .tbg-auth-form select,
    .tbg-form-group input,
    .tbg-form-group textarea,
    .tbg-form-group select {
        width: 100% !important;
        min-height: 50px !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
    }

    .tbg-account-save-btn {
        width: 100% !important;
    }

    .tbg-account-toggle-row {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    /* Fattura e indirizzi su telefono */
    .tbg-invoice-toolbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .tbg-invoice-preview-pro {
        padding: 0 !important;
        overflow-x: auto !important;
    }

    .tbg-invoice-sheet-pro {
        min-width: 720px !important;
        transform-origin: top left !important;
    }

    .tbg-address-header,
    .tbg-address-body {
        text-align: left !important;
    }
}

@media (max-width: 430px) {
    .tbg-dashboard-layout {
        padding: 14px 10px 62px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a {
        min-height: 76px !important;
        padding: 12px 10px !important;
        border-radius: 16px !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a span {
        font-size: .78rem !important;
    }

    .tbg-client-nav-pro.tbg-dash-nav a small {
        font-size: .61rem !important;
    }

    .tbg-client-hero-pro,
    .tbg-client-welcome-panel,
    .tbg-client-next-panel,
    .tbg-client-order-spotlight,
    .tbg-client-quick-actions,
    .tbg-account-hero-pro,
    .tbg-account-main-card-pro,
    .tbg-order-detail-hero,
    .tbg-order-timeline-card-pro,
    .tbg-order-summary-pro,
    .tbg-order-products-card-pro,
    .tbg-order-address-card-pro,
    .tbg-dash-table-wrap,
    .tbg-dash-welcome {
        padding: 15px !important;
        border-radius: 20px !important;
    }

    .tbg-client-hero-pro h1,
    .tbg-client-welcome-panel h2,
    .tbg-order-detail-hero h2,
    .tbg-account-hero-pro h2 {
        font-size: clamp(1.9rem, 13vw, 2.85rem) !important;
    }

    .tbg-client-metrics-grid {
        grid-template-columns: 1fr !important;
    }

    .tbg-client-product-row {
        flex-direction: column !important;
    }

    .tbg-client-product-thumb {
        width: 100% !important;
        height: 150px !important;
        min-width: 0 !important;
    }

    .tbg-dash-table td {
        align-items: flex-start !important;
        flex-direction: column !important;
        text-align: left !important;
        gap: 5px !important;
    }

    .tbg-dash-table td::before {
        min-width: 0 !important;
    }
}


/* ===== PRODUCT MEDIA GALLERY ===== */
.tbg-sp-main-img{overflow:hidden;}
.tbg-sp-main-img > img#tbgProductMainImage{width:90%;height:90%;object-fit:contain;display:block;filter:drop-shadow(0 20px 30px rgba(0,0,0,.8));transition:opacity .18s ease,transform .25s ease;}
.tbg-sp-main-img > img#tbgProductMainImage.is-changing{opacity:.35;transform:scale(.985);}
.tbg-sp-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;}
.tbg-sp-thumb{appearance:none;border:1px solid #22252d;background:#0a0b0f;border-radius:8px;aspect-ratio:1/1;padding:5px;overflow:hidden;cursor:pointer;transition:.2s ease;}
.tbg-sp-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:5px;}
.tbg-sp-thumb:hover,.tbg-sp-thumb.active{border-color:var(--tbg-purple);box-shadow:0 0 0 1px rgba(77,36,255,.28),0 10px 24px rgba(0,0,0,.28);}
@media(max-width:768px){.tbg-sp-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tbg-sp-thumb{padding:4px}}


/* ===== PRODUCT GALLERY V2: arrows + zoom + lightbox ===== */
.tbg-product-gallery-stage{position:relative;cursor:zoom-in;}
.tbg-product-gallery-stage::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);}
.tbg-gallery-nav,.tbg-gallery-zoom{position:absolute;z-index:6;border:1px solid rgba(255,255,255,.12);background:rgba(8,9,13,.78);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:.2s ease;}
.tbg-gallery-nav{top:50%;transform:translateY(-50%);width:48px;height:58px;border-radius:12px;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;}
.tbg-gallery-prev{left:14px;}
.tbg-gallery-next{right:14px;}
.tbg-gallery-nav:hover,.tbg-gallery-zoom:hover{background:var(--tbg-purple);border-color:var(--tbg-purple);box-shadow:0 10px 30px rgba(77,36,255,.25);}
.tbg-gallery-zoom{right:14px;top:14px;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;}
.tbg-gallery-zoom svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.tbg-gallery-counter{position:absolute;z-index:6;left:14px;bottom:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(8,9,13,.78);color:#8f94a8;font-size:11px;font-weight:800;letter-spacing:.4px;backdrop-filter:blur(8px);}
.tbg-gallery-counter span{color:#fff;}
.tbg-product-gallery-stage #tbgProductMainImage{cursor:zoom-in;}

html.tbg-lightbox-lock,body.tbg-lightbox-lock{overflow:hidden!important;}
.tbg-product-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:32px 90px;background:rgba(0,0,0,.94);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;}
.tbg-product-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.tbg-lightbox-content{position:relative;width:min(1250px,100%);height:min(86vh,900px);display:flex;align-items:center;justify-content:center;}
.tbg-lightbox-content img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;filter:drop-shadow(0 32px 70px rgba(0,0,0,.9));}
.tbg-lightbox-close,.tbg-lightbox-nav{position:fixed;z-index:2;border:1px solid rgba(255,255,255,.16);background:rgba(16,17,22,.82);color:#fff;cursor:pointer;transition:.2s ease;backdrop-filter:blur(8px);}
.tbg-lightbox-close{right:26px;top:24px;width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1;}
.tbg-lightbox-nav{top:50%;transform:translateY(-50%);width:58px;height:72px;border-radius:14px;font-size:42px;display:flex;align-items:center;justify-content:center;}
.tbg-lightbox-prev{left:24px;}
.tbg-lightbox-next{right:24px;}
.tbg-lightbox-close:hover,.tbg-lightbox-nav:hover{background:var(--tbg-purple);border-color:var(--tbg-purple);}
.tbg-lightbox-counter{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(16,17,22,.86);border:1px solid rgba(255,255,255,.10);color:#fff;font-size:12px;font-weight:800;letter-spacing:.5px;}
@media(max-width:768px){
    .tbg-gallery-nav{width:40px;height:50px;font-size:29px;border-radius:10px}
    .tbg-gallery-prev{left:8px}.tbg-gallery-next{right:8px}
    .tbg-gallery-zoom{right:8px;top:8px;width:38px;height:38px}
    .tbg-gallery-counter{left:8px;bottom:8px}
    .tbg-product-lightbox{padding:72px 12px 58px}
    .tbg-lightbox-content{height:calc(100vh - 150px)}
    .tbg-lightbox-close{right:14px;top:14px;width:44px;height:44px}
    .tbg-lightbox-nav{width:44px;height:58px;font-size:34px}
    .tbg-lightbox-prev{left:8px}.tbg-lightbox-next{right:8px}
}


/* ===== PRODUCT GALLERY V3: wheel zoom + drag pan ===== */
.tbg-lightbox-content{
    overflow:hidden;
}
.tbg-lightbox-content #tbgLightboxImage{
    transform-origin:center center;
    will-change:transform;
    transition:transform .08s linear;
    user-select:none;
    -webkit-user-drag:none;
    cursor:zoom-in;
}
.tbg-lightbox-content #tbgLightboxImage.is-zoomed{
    cursor:grab;
    max-width:none;
    max-height:none;
}
.tbg-lightbox-content #tbgLightboxImage.is-dragging{
    cursor:grabbing;
    transition:none;
}
/* ===== PRODUCT GALLERY V3.1: frecce perfettamente centrate ===== */
.tbg-gallery-nav,
.tbg-lightbox-nav {
    font-size: 0 !important;
    line-height: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tbg-gallery-nav {
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
}

.tbg-lightbox-nav {
    width: 56px !important;
    height: 56px !important;
    border-radius: 14px !important;
}

.tbg-gallery-nav::before,
.tbg-lightbox-nav::before {
    content: '';
    display: block;
    width: 11px;
    height: 11px;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    box-sizing: border-box;
}

.tbg-gallery-prev::before,
.tbg-lightbox-prev::before {
    transform: translateX(2px) rotate(-135deg);
}

.tbg-gallery-next::before,
.tbg-lightbox-next::before {
    transform: translateX(-2px) rotate(45deg);
}

.tbg-gallery-nav:hover::before,
.tbg-lightbox-nav:hover::before {
    border-color: #fff;
}

@media (max-width: 768px) {
    .tbg-gallery-nav {
        width: 44px !important;
        height: 44px !important;
        border-radius: 12px !important;
    }

    .tbg-lightbox-nav {
        width: 46px !important;
        height: 46px !important;
        border-radius: 12px !important;
    }

    .tbg-gallery-nav::before,
    .tbg-lightbox-nav::before {
        width: 10px;
        height: 10px;
        border-top-width: 2.5px;
        border-right-width: 2.5px;
    }
}


/* ===== PRODUCT GALLERY V4 FINAL: thumbnails inside lightbox ===== */
.tbg-product-lightbox::after{content:none!important;display:none!important;}

.tbg-product-lightbox{
    padding:28px 86px 22px!important;
}

.tbg-lightbox-shell{
    width:min(1280px,100%);
    height:min(92vh,980px);
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    justify-items:center;
}

.tbg-lightbox-content{
    width:100%!important;
    height:100%!important;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.tbg-lightbox-content #tbgLightboxImage{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}

.tbg-lightbox-thumbs{
    width:min(100%,1080px);
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:4px 4px 7px;
    scrollbar-width:thin;
    scrollbar-color:rgba(106,72,255,.75) rgba(255,255,255,.06);
}

.tbg-lightbox-thumbs::-webkit-scrollbar{height:7px;}
.tbg-lightbox-thumbs::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:999px;}
.tbg-lightbox-thumbs::-webkit-scrollbar-thumb{background:rgba(106,72,255,.78);border-radius:999px;}

.tbg-lightbox-thumb{
    flex:0 0 82px;
    width:82px;
    height:74px;
    padding:4px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:11px;
    background:#0d0e13;
    cursor:pointer;
    overflow:hidden;
    transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .2s ease;
    opacity:.68;
}

.tbg-lightbox-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    border-radius:7px;
}

.tbg-lightbox-thumb:hover{
    opacity:1;
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.34);
}

.tbg-lightbox-thumb.active{
    opacity:1;
    border-color:var(--tbg-purple);
    box-shadow:0 0 0 2px rgba(77,36,255,.28),0 10px 30px rgba(77,36,255,.16);
}

.tbg-lightbox-counter{
    bottom:10px!important;
}

@media(max-width:768px){
    .tbg-product-lightbox{
        padding:68px 12px 16px!important;
    }

    .tbg-lightbox-shell{
        width:100%;
        height:calc(100vh - 84px);
        gap:10px;
    }

    .tbg-lightbox-thumbs{
        width:100%;
        gap:8px;
        padding:3px 2px 5px;
    }

    .tbg-lightbox-thumb{
        flex-basis:62px;
        width:62px;
        height:58px;
        border-radius:9px;
        padding:3px;
    }

    .tbg-lightbox-counter{bottom:6px!important;}
}


/* ===== PRODUCT V1: regular/sale price ===== */
.tbg-price-stack{display:inline-flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.tbg-price-stack del{color:#7e8089;font-size:.76em;font-weight:650;text-decoration-thickness:1px;}
.tbg-price-stack ins{color:inherit;text-decoration:none;font-weight:inherit;}
.tbg-sp-price .tbg-price-stack{gap:12px;}
.tbg-sp-price .tbg-price-stack del{font-size:.58em;color:#777984;}


/* ===== PRODUCT COMPATIBILITY V1.3.3 - OPTION A ===== */
.tbg-sp-compatibility-panel{
    margin-top:26px;
    padding:24px;
    border:1px solid #1c1e26;
    border-radius:14px;
    background:linear-gradient(180deg,rgba(16,17,22,.82),rgba(8,9,13,.76));
}
.tbg-sp-compatibility-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.tbg-sp-section-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--tbg-purple);
    font-size:.65rem;
    line-height:1;
    font-weight:900;
    letter-spacing:1.4px;
}
.tbg-sp-compatibility-head h3{
    margin:0;
    color:#fff;
    font-size:1.05rem;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
}
.tbg-sp-compatibility-count{
    flex:0 0 auto;
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:#0b0c11;
    color:#8f94a8;
    font-size:.67rem;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}
.tbg-sp-compatibility-brands{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px;
}
.tbg-sp-compatibility-chip{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:7px 12px;
    border:1px solid rgba(77,36,255,.34);
    border-radius:999px;
    background:rgba(77,36,255,.09);
    color:#fff;
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.45px;
}
.tbg-sp-compatibility-models{
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.07);
}
.tbg-sp-compatibility-row{
    display:grid;
    grid-template-columns:minmax(100px,.72fr) minmax(0,1.28fr);
    align-items:center;
    gap:18px;
    min-height:50px;
    padding:12px 2px;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.tbg-sp-compatibility-row.is-extra{
    display:none;
}
.tbg-sp-compatibility-models.is-expanded .tbg-sp-compatibility-row.is-extra{
    display:grid;
}
.tbg-sp-compatibility-row-brand{
    color:#8f94a8;
    font-size:.76rem;
    font-weight:700;
    overflow-wrap:anywhere;
}
.tbg-sp-compatibility-row-model{
    color:#fff;
    font-size:.82rem;
    font-weight:800;
    text-align:right;
    overflow-wrap:anywhere;
}
.tbg-sp-compatibility-toggle{
    width:100%;
    min-height:42px;
    margin-top:12px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:10px;
    background:#0b0c11;
    color:#a7abba;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.5px;
    cursor:pointer;
    transition:.2s ease;
}
.tbg-sp-compatibility-toggle:hover{
    color:#fff;
    border-color:rgba(77,36,255,.55);
    background:rgba(77,36,255,.09);
}
.tbg-sp-compatibility-toggle svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .2s ease;
}
.tbg-sp-compatibility-toggle[aria-expanded="true"] svg{
    transform:rotate(180deg);
}

/* Specifiche normali: niente più righe Compatibilità/Marca-Modello duplicate */
.tbg-sp-specs{
    margin-top:18px;
    border-top:0;
    padding-top:0;
}
.tbg-sp-specs-title{
    margin:0 0 8px;
    color:#747989;
    font-size:.65rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1.2px;
}
.tbg-sp-specs ul{
    list-style:none;
    padding:0;
    margin:0;
    border-top:1px solid #1a1a1c;
}
.tbg-sp-specs li{
    display:grid;
    grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);
    align-items:center;
    gap:20px;
    padding:13px 0;
    border-bottom:1px solid #1a1a1c;
}
.tbg-sp-specs li span:first-child{
    color:var(--tbg-text-muted);
}
.tbg-sp-specs li span:last-child{
    min-width:0;
    color:#fff;
    font-weight:700;
    text-align:right;
    overflow-wrap:anywhere;
}

@media(max-width:768px){
    .tbg-sp-compatibility-panel{
        padding:18px 16px;
        border-radius:12px;
    }
    .tbg-sp-compatibility-head{
        margin-bottom:15px;
    }
    .tbg-sp-compatibility-row{
        grid-template-columns:minmax(86px,.7fr) minmax(0,1.3fr);
        gap:12px;
    }
    .tbg-sp-compatibility-row-brand{
        font-size:.7rem;
    }
    .tbg-sp-compatibility-row-model{
        font-size:.76rem;
    }
    .tbg-sp-specs li{
        grid-template-columns:minmax(95px,.75fr) minmax(0,1.25fr);
        gap:14px;
    }
}


/* ===== HOME REAL CATALOG V1.4.1 ===== */
.tbg-home-empty-product{
    justify-content:center;
    min-height:340px;
    border-style:dashed;
}
.tbg-home-empty-product-inner{
    margin:auto 0;
}
.tbg-home-empty-product-inner > span{
    display:block;
    margin-bottom:10px;
    color:var(--tbg-purple);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:1.1px;
}
.tbg-home-empty-product-inner h4{
    margin-bottom:10px;
}
.tbg-home-empty-product-inner p{
    margin-bottom:0;
    line-height:1.6;
}
.tbg-product-card .tbg-price .tbg-price-stack{
    color:inherit;
}


/* =========================================================
   TBG REAL WOOCOMMERCE CART V1.6.0
   ========================================================= */
html.tbg-cart-lock,body.tbg-cart-lock{overflow:hidden!important}.tbg-cart-trigger{cursor:pointer}.cart-count{align-items:center;justify-content:center;min-width:18px;min-height:18px;line-height:1}.tbg-cart-kicker{display:block;margin-bottom:5px;color:var(--tbg-purple);font-size:.62rem;font-weight:900;letter-spacing:1.2px}.tbg-cart-message{margin:14px 20px 0;padding:11px 13px;border-radius:8px;font-size:.76rem;line-height:1.45;border:1px solid rgba(255,255,255,.09)}.tbg-cart-message.is-success{background:rgba(65,197,117,.09);border-color:rgba(65,197,117,.25);color:#b9f5cf}.tbg-cart-message.is-error{background:rgba(255,65,92,.09);border-color:rgba(255,65,92,.25);color:#ffb7c1}.tbg-cart-loading{padding:32px 10px;text-align:center;color:#7e8392;font-size:.78rem}.tbg-cart-empty{margin:auto 0;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#8b909d}.tbg-cart-empty-icon{width:58px;height:58px;margin-bottom:6px;display:flex;align-items:center;justify-content:center;border:1px solid #242632;border-radius:50%;background:#0d0e13;color:var(--tbg-purple)}.tbg-cart-empty-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tbg-cart-empty strong{color:#fff;font-size:.9rem;text-transform:uppercase}.tbg-cart-empty span{max-width:260px;line-height:1.55}.tbg-cart-empty a{margin-top:10px;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.7px;text-decoration:none;border-bottom:1px solid var(--tbg-purple);padding-bottom:4px}.tbg-cart-item{align-items:flex-start}.tbg-cart-item-img{overflow:hidden;padding:0}.tbg-cart-item-img img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.tbg-cart-item-info{min-width:0;padding-right:24px}.tbg-cart-item-title{display:block;margin:0 0 5px;color:#fff;font-size:.77rem;line-height:1.35;font-weight:900;text-transform:uppercase;text-decoration:none}.tbg-cart-item-unit{display:block;color:#737887;font-size:.68rem;margin-bottom:10px}.tbg-cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.tbg-cart-item-price{margin-left:auto;white-space:nowrap}.tbg-cart-item-remove{width:27px;height:27px;padding:5px;display:flex;align-items:center;justify-content:center}.tbg-cart-item-remove svg{width:16px;height:16px}.tbg-cart-qty-control{display:inline-flex;align-items:center;border:1px solid #292b35;border-radius:8px;overflow:hidden;background:#090a0f}.tbg-cart-qty-btn{width:30px;height:30px;padding:0;border:0;background:transparent;color:#fff;font-size:1rem;font-weight:800;cursor:pointer;transition:.15s ease}.tbg-cart-qty-btn:hover{background:rgba(77,36,255,.16);color:#b9adff}.tbg-cart-qty-value{min-width:30px;padding:0 4px;color:#fff;font-size:.72rem;font-weight:800;text-align:center}.tbg-cart-busy .tbg-cart-qty-btn,.tbg-cart-busy .tbg-cart-item-remove,.tbg-cart-busy .tbg-cart-page-remove,.tbg-cart-busy .tbg-cart-clear{opacity:.45;pointer-events:none}.tbg-cart-view-btn{width:100%;display:flex;justify-content:center;text-decoration:none}.tbg-cart-continue-link{display:block;margin-top:13px;color:#818695;text-align:center;font-size:.7rem;font-weight:700;text-decoration:none}.tbg-cart-continue-link:hover{color:#fff}.tbg-cart-footer.is-empty .tbg-cart-total,.tbg-cart-footer.is-empty .tbg-cart-view-btn{display:none}
.tbg-cart-page{width:min(1280px,92%);margin:0 auto;padding:150px 0 110px}.tbg-cart-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:38px;border-bottom:1px solid #1b1c22}.tbg-cart-page-kicker{display:block;margin-bottom:12px;color:var(--tbg-purple);font-size:.72rem;font-weight:900;letter-spacing:1.6px}.tbg-cart-page-head h1{margin:0;color:#fff;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.85;font-weight:900;letter-spacing:-3px}.tbg-cart-page-head h1 span{color:var(--tbg-purple)}.tbg-cart-page-head p{max-width:580px;margin:20px 0 0;color:#8f94a8;font-size:.92rem;line-height:1.65}.tbg-cart-page-count{flex:0 0 auto;margin-bottom:7px;padding:10px 14px;border:1px solid #292b35;border-radius:999px;background:#0b0c11;color:#a2a7b5;font-size:.75rem;font-weight:800}.tbg-cart-page-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);gap:34px;padding-top:34px;align-items:start}.tbg-cart-page-list-wrap{min-width:0}.tbg-cart-page-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.tbg-cart-page-list-head h2{margin:0;color:#fff;font-size:.85rem;font-weight:900;letter-spacing:1px}.tbg-cart-clear{border:0;background:transparent;color:#6e7380;font-size:.68rem;font-weight:800;letter-spacing:.6px;cursor:pointer}.tbg-cart-clear:hover{color:#ff6178}.tbg-cart-page-items{border-top:1px solid #1c1d24}.tbg-cart-page-item{display:grid;grid-template-columns:112px minmax(0,1fr) 125px 135px;gap:22px;align-items:center;position:relative;padding:22px 46px 22px 0;border-bottom:1px solid #1c1d24}.tbg-cart-page-image{width:112px;height:112px;border:1px solid #22242c;border-radius:10px;overflow:hidden;background:#0d0e12}.tbg-cart-page-image img{width:100%;height:100%;object-fit:cover}.tbg-cart-page-info{min-width:0}.tbg-cart-page-label{display:block;margin-bottom:7px;color:#686e7d;font-size:.6rem;font-weight:900;letter-spacing:1px}.tbg-cart-page-title{display:block;margin-bottom:7px;color:#fff;font-size:.95rem;line-height:1.35;font-weight:900;text-decoration:none;text-transform:uppercase}.tbg-cart-page-unit{color:#8c919f;font-size:.74rem}.tbg-cart-page-price{text-align:right}.tbg-cart-page-price strong{color:#fff;font-size:.9rem}.tbg-cart-page-remove{position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;border:0;background:transparent;color:#555b68;font-size:.58rem;font-weight:900;letter-spacing:.8px;cursor:pointer}.tbg-cart-page-remove:hover{color:#ff6178}.tbg-cart-summary{position:sticky;top:120px;padding:28px;border:1px solid #20222a;border-radius:16px;background:linear-gradient(180deg,#111217,#090a0e);box-shadow:0 25px 65px rgba(0,0,0,.36)}.tbg-cart-summary-kicker{color:var(--tbg-purple);font-size:.63rem;font-weight:900;letter-spacing:1.3px}.tbg-cart-summary h2{margin:7px 0 24px;color:#fff;font-size:1.35rem;font-weight:900}.tbg-cart-summary-row,.tbg-cart-summary-total{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #24262e;color:#979caa;font-size:.76rem}.tbg-cart-summary-row strong{color:#fff;font-size:.72rem;text-align:right}.tbg-cart-summary-total{margin-top:5px;padding-top:20px;color:#fff;font-size:.9rem;font-weight:900}.tbg-cart-summary-total strong{color:var(--tbg-purple);font-size:1.2rem}.tbg-cart-summary-note{margin:20px 0;padding:13px 14px;border:1px solid rgba(77,36,255,.24);border-radius:9px;background:rgba(77,36,255,.06);color:#9a9fac;font-size:.7rem;line-height:1.55}.tbg-cart-summary-shop{width:100%;display:flex;justify-content:center;text-decoration:none}.tbg-cart-page-empty{min-height:480px;padding:70px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.tbg-cart-page-empty-icon{width:88px;height:88px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;border:1px solid #262832;border-radius:50%;color:var(--tbg-purple);background:#0c0d12}.tbg-cart-page-empty-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.6}.tbg-cart-page-empty h2{margin:0;color:#fff;font-size:1.6rem;font-weight:900}.tbg-cart-page-empty p{max-width:480px;margin:12px 0 25px;color:#8d929f;line-height:1.6}
@media(max-width:980px){.tbg-cart-page-layout{grid-template-columns:1fr}.tbg-cart-summary{position:static}.tbg-cart-page-item{grid-template-columns:95px minmax(0,1fr) 105px}.tbg-cart-page-price{display:none}}@media(max-width:650px){.tbg-cart-page{width:90%;padding:120px 0 80px}.tbg-cart-page-head{align-items:flex-start;flex-direction:column}.tbg-cart-page-head h1{letter-spacing:-2px}.tbg-cart-page-layout{padding-top:25px}.tbg-cart-page-item{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:18px 0}.tbg-cart-page-image{width:78px;height:78px}.tbg-cart-page-quantity{grid-column:2}.tbg-cart-page-remove{position:static;grid-column:2;justify-self:start;transform:none;padding:0}.tbg-cart-summary{padding:22px}.tbg-cart-sidebar{width:min(100%,390px)}}


/* ===== CART UX FIX V1.6.1 ===== */
.tbg-cart-page-empty[hidden],
.tbg-cart-page-layout[hidden],
.tbg-cart-message[hidden]{
    display:none!important;
}
.tbg-sp-add-cart.is-adding,
.tbg-sp-add-cart:disabled{
    cursor:wait;
    opacity:.82;
}
.tbg-cart-loading-dot{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:9px;
    border-radius:50%;
    background:var(--tbg-purple);
    box-shadow:12px 0 0 rgba(77,36,255,.55),24px 0 0 rgba(77,36,255,.25);
    animation:tbgCartLoadingPulse .8s infinite alternate;
}
@keyframes tbgCartLoadingPulse{
    from{opacity:.45;transform:translateY(0)}
    to{opacity:1;transform:translateY(-1px)}
}


/* ===== CART SAVINGS V1.6.2 ===== */
.tbg-cart-old-price{
    margin-right:6px;
    color:#666b78;
    text-decoration-thickness:1px;
    text-decoration-color:#7b8090;
}
.tbg-cart-summary-saving{
    color:#91d9ad;
}
.tbg-cart-summary-saving strong{
    color:#59d78d;
}
.tbg-cart-page-unit .tbg-cart-old-price,
.tbg-cart-item-unit .tbg-cart-old-price{
    opacity:.9;
}


/* ===== CART CONDITIONAL DISCOUNT V1.6.3 ===== */
.tbg-cart-summary-row[hidden],
.tbg-cart-sale-only[hidden]{
    display:none!important;
}


/* =========================================================
   TBG CHECKOUT V1.7.0
   ========================================================= */
.tbg-cart-checkout-btn{width:100%;display:flex;justify-content:center;margin:20px 0 10px;text-decoration:none}
.tbg-checkout-page,.tbg-order-received-page{width:min(1280px,92%);margin:0 auto;padding:150px 0 110px}
.tbg-checkout-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:38px;border-bottom:1px solid #1b1c22}
.tbg-checkout-kicker,.tbg-order-received-kicker{display:block;margin-bottom:12px;color:var(--tbg-purple);font-size:.72rem;font-weight:900;letter-spacing:1.6px}
.tbg-checkout-head h1,.tbg-order-received-hero h1{margin:0;color:#fff;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.86;font-weight:900;letter-spacing:-3px}
.tbg-checkout-head h1 span,.tbg-order-received-hero h1 span{color:var(--tbg-purple)}
.tbg-checkout-head p,.tbg-order-received-hero p{max-width:610px;margin:20px 0 0;color:#8f94a8;font-size:.92rem;line-height:1.65}
.tbg-checkout-step{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin-bottom:7px;padding:10px 14px;border:1px solid #292b35;border-radius:999px;background:#0b0c11;color:#a2a7b5;font-size:.68rem;font-weight:900;letter-spacing:.6px}
.tbg-checkout-step span{color:var(--tbg-purple)}
.tbg-checkout-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.65fr);gap:36px;align-items:start;padding-top:36px}
.tbg-checkout-form{display:flex;flex-direction:column;gap:22px;min-width:0}
.tbg-checkout-section{padding:26px;border:1px solid #1f2129;border-radius:16px;background:linear-gradient(180deg,#0e0f14,#090a0e)}
.tbg-checkout-section-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.tbg-checkout-section-head>span,.tbg-order-received-section-head>span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(77,36,255,.4);border-radius:9px;background:rgba(77,36,255,.08);color:#8d76ff;font-size:.65rem;font-weight:900}
.tbg-checkout-section-head h2,.tbg-order-received-section-head h2{margin:1px 0 5px;color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.7px}
.tbg-checkout-section-head p{margin:0;color:#7f8492;font-size:.73rem;line-height:1.5}
.tbg-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tbg-checkout-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.tbg-checkout-field-full{grid-column:1/-1}
.tbg-checkout-field>span{color:#9ba0ae;font-size:.65rem;font-weight:900;letter-spacing:.7px}
.tbg-checkout-field>span em{margin-left:5px;color:#5f6471;font-style:normal;font-weight:600;text-transform:none;letter-spacing:0}
.tbg-checkout-field input,.tbg-checkout-field select,.tbg-checkout-field textarea{width:100%;border:1px solid #282a33;border-radius:10px;background:#07080c;color:#fff;padding:13px 14px;font-family:inherit;font-size:.82rem;outline:none;transition:.18s ease}
.tbg-checkout-field textarea{resize:vertical;min-height:120px;line-height:1.5}
.tbg-checkout-field input:focus,.tbg-checkout-field select:focus,.tbg-checkout-field textarea:focus{border-color:var(--tbg-purple);box-shadow:0 0 0 3px rgba(77,36,255,.10)}
.tbg-checkout-field.is-error input,.tbg-checkout-field.is-error select,.tbg-checkout-field.is-error textarea{border-color:#ff526b}
.tbg-checkout-field-error{min-height:14px;color:#ff8395;font-size:.62rem;line-height:1.3}
.tbg-checkout-message{padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:.76rem;line-height:1.5}
.tbg-checkout-message.is-error{border-color:rgba(255,82,107,.35);background:rgba(255,82,107,.08);color:#ffb0bb}
.tbg-checkout-message.is-success{border-color:rgba(65,197,117,.32);background:rgba(65,197,117,.08);color:#b6f0c9}
.tbg-checkout-terms{padding:18px 20px;border:1px solid #1f2129;border-radius:12px;background:#090a0e;display:grid;grid-template-columns:18px 1fr;align-items:start;gap:12px}
.tbg-checkout-terms input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--tbg-purple)}
.tbg-checkout-terms>span{color:#9297a5;font-size:.72rem;line-height:1.55;font-weight:600;letter-spacing:0}
.tbg-checkout-terms a{color:#fff;text-decoration:underline;text-decoration-color:#4d24ff;text-underline-offset:3px}
.tbg-checkout-terms .tbg-checkout-field-error{grid-column:2}
.tbg-checkout-summary{position:sticky;top:115px;padding:28px;border:1px solid #20222a;border-radius:16px;background:linear-gradient(180deg,#111217,#090a0e);box-shadow:0 25px 65px rgba(0,0,0,.36)}
.tbg-checkout-summary-head>span{color:var(--tbg-purple);font-size:.63rem;font-weight:900;letter-spacing:1.3px}
.tbg-checkout-summary-head h2{margin:7px 0 22px;color:#fff;font-size:1.35rem;font-weight:900}
.tbg-checkout-summary-items{border-top:1px solid #24262e;border-bottom:1px solid #24262e;margin-bottom:5px}
.tbg-checkout-summary-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.tbg-checkout-summary-item:last-child{border-bottom:0}
.tbg-checkout-summary-item img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:#090a0d;border:1px solid #23252d}
.tbg-checkout-summary-item strong{display:block;color:#fff;font-size:.71rem;line-height:1.35;text-transform:uppercase}
.tbg-checkout-summary-item span{display:block;margin-top:5px;color:#6f7482;font-size:.64rem}
.tbg-checkout-summary-price{color:#fff;font-size:.72rem;font-weight:900;white-space:nowrap}
.tbg-checkout-summary-row,.tbg-checkout-summary-total{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #24262e;color:#969baa;font-size:.74rem}
.tbg-checkout-summary-row strong{color:#fff;text-align:right;font-size:.72rem}
.tbg-checkout-summary-row.is-saving,.tbg-checkout-summary-row.is-saving strong{color:#59d78d}
.tbg-checkout-summary-total{padding:18px 0;border-bottom:0;color:#fff;font-size:.85rem;font-weight:900}
.tbg-checkout-summary-total strong{color:var(--tbg-purple);font-size:1.15rem}
.tbg-checkout-v1-note{margin:14px 0 20px;padding:13px 14px;border:1px solid rgba(77,36,255,.24);border-radius:9px;background:rgba(77,36,255,.06)}
.tbg-checkout-v1-note strong{display:block;margin-bottom:5px;color:#fff;font-size:.68rem}
.tbg-checkout-v1-note span{display:block;color:#8f94a8;font-size:.66rem;line-height:1.55}
.tbg-checkout-submit{width:100%;display:flex;justify-content:center;border:0;cursor:pointer}
.tbg-checkout-submit:disabled{opacity:.55;cursor:wait}
.tbg-checkout-back{display:block;margin-top:14px;color:#777c8a;text-align:center;font-size:.69rem;text-decoration:none}
.tbg-checkout-back:hover{color:#fff}
.tbg-checkout-empty{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.tbg-checkout-empty h2{margin:0;color:#fff;font-size:1.5rem;font-weight:900}
.tbg-checkout-empty p{margin:12px 0 24px;color:#8c919f}

/* Order received */
.tbg-order-received-hero{padding:70px 0 44px;border-bottom:1px solid #1b1c22}
.tbg-order-received-check{width:64px;height:64px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(77,36,255,.38);border-radius:50%;background:rgba(77,36,255,.09);color:#7d61ff}
.tbg-order-received-check svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.tbg-order-received-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.65fr);gap:34px;padding-top:34px}
.tbg-order-received-details,.tbg-order-received-side,.tbg-order-received-card{padding:28px;border:1px solid #20222a;border-radius:16px;background:linear-gradient(180deg,#101116,#090a0e)}
.tbg-order-received-section-head{display:flex;align-items:center;gap:13px;margin-bottom:22px}
.tbg-order-received-item,.tbg-order-received-total,.tbg-order-received-info{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #23252d;color:#9398a6;font-size:.75rem}
.tbg-order-received-item strong,.tbg-order-received-info strong{color:#fff;text-align:right}
.tbg-order-received-total{padding-top:20px;color:#fff;font-size:.87rem;font-weight:900}
.tbg-order-received-total strong{color:var(--tbg-purple);font-size:1.05rem}
.tbg-order-received-side>p{margin:0 0 16px;color:#b2b6c0;font-size:.78rem;line-height:1.65}
.tbg-order-received-side .tbg-btn{width:100%;display:flex;justify-content:center;margin-top:22px;text-decoration:none}
.tbg-order-received-card{max-width:760px;margin:80px auto;text-align:center}
.tbg-order-received-card h1{font-size:2rem}
.tbg-order-received-card p{color:#9095a2;margin:12px 0 24px}

@media(max-width:980px){
    .tbg-checkout-layout,.tbg-order-received-layout{grid-template-columns:1fr}
    .tbg-checkout-summary{position:static}
}
@media(max-width:650px){
    .tbg-checkout-page,.tbg-order-received-page{width:90%;padding:120px 0 80px}
    .tbg-checkout-head{align-items:flex-start;flex-direction:column}
    .tbg-checkout-head h1,.tbg-order-received-hero h1{letter-spacing:-2px}
    .tbg-checkout-grid{grid-template-columns:1fr}
    .tbg-checkout-field-full{grid-column:auto}
    .tbg-checkout-section,.tbg-checkout-summary,.tbg-order-received-details,.tbg-order-received-side{padding:20px}
    .tbg-checkout-summary-item{grid-template-columns:48px minmax(0,1fr)}
    .tbg-checkout-summary-item img{width:48px;height:48px}
    .tbg-checkout-summary-price{grid-column:2}
}


/* =========================================================
   CHECKOUT SHIPPING STEP V1.8.0
   ========================================================= */
.tbg-checkout-shipping-box{
    position:relative;
    min-height:92px;
    border:1px solid #252731;
    border-radius:12px;
    background:#08090e;
    overflow:hidden;
}
.tbg-checkout-shipping-placeholder{
    padding:26px 22px;
    color:#777d8d;
    font-size:.76rem;
    line-height:1.55;
}
.tbg-checkout-shipping-box.is-loading::after{
    content:'';
    position:absolute;
    top:0;
    left:-45%;
    width:45%;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--tbg-purple),transparent);
    animation:tbgShippingLoading 1.05s linear infinite;
}
@keyframes tbgShippingLoading{
    from{left:-45%}
    to{left:100%}
}
.tbg-checkout-shipping-rates{
    display:flex;
    flex-direction:column;
}
.tbg-shipping-rate{
    position:relative;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:78px;
    padding:17px 20px;
    border-bottom:1px solid #20222a;
    cursor:pointer;
    transition:.18s ease;
}
.tbg-shipping-rate:last-child{
    border-bottom:0;
}
.tbg-shipping-rate:hover{
    background:rgba(77,36,255,.055);
}
.tbg-shipping-rate.is-selected{
    background:rgba(77,36,255,.09);
    box-shadow:inset 3px 0 0 var(--tbg-purple);
}
.tbg-shipping-rate input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.tbg-shipping-rate-dot{
    width:18px;
    height:18px;
    border:1px solid #484c5a;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.tbg-shipping-rate.is-selected .tbg-shipping-rate-dot{
    border-color:var(--tbg-purple);
}
.tbg-shipping-rate.is-selected .tbg-shipping-rate-dot::after{
    content:'';
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--tbg-purple);
}
.tbg-shipping-rate-main{
    min-width:0;
}
.tbg-shipping-rate-main strong{
    display:block;
    color:#fff;
    font-size:.8rem;
    font-weight:900;
    text-transform:uppercase;
}
.tbg-shipping-rate-main small{
    display:block;
    margin-top:4px;
    color:#707686;
    font-size:.66rem;
}
.tbg-shipping-rate-price{
    color:#fff;
    font-size:.8rem;
    font-weight:900;
    white-space:nowrap;
}
.tbg-shipping-rate.is-selected .tbg-shipping-rate-price{
    color:#8e73ff;
}
.tbg-checkout-shipping-error{
    display:block;
    min-height:18px;
    margin-top:8px;
    color:#ff6a7f;
    font-size:.68rem;
}
.tbg-checkout-submit.is-waiting-shipping{
    opacity:.45;
    cursor:not-allowed;
}
.tbg-order-shipping{
    display:block;
    margin-top:6px;
    color:#797f8e;
}
@media(max-width:650px){
    .tbg-shipping-rate{
        grid-template-columns:22px minmax(0,1fr);
    }
    .tbg-shipping-rate-price{
        grid-column:2;
        margin-top:-6px;
    }
}


/* ===== CHECKOUT PROVINCE SELECT V2.0.2 ===== */
#tbgCheckoutStateField[hidden],
#tbgCheckoutStateSelect[hidden],
#tbgCheckoutStateText[hidden]{
    display:none!important;
}
#tbgCheckoutStateSelect{
    cursor:pointer;
}


/* ===== SENDCLOUD CHECKOUT CLEAN UI V2.0.5 ===== */
.tbg-shipping-rate-main strong{
    font-size:.84rem;
    line-height:1.25;
}
.tbg-shipping-rate-main small{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:6px;
    line-height:1.4;
}
.tbg-shipping-rate-main small b{
    color:#9da3b2;
    font-size:.68rem;
    font-weight:700;
}
.tbg-shipping-rate-main small em{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:2px 7px;
    border:1px solid rgba(77,36,255,.28);
    border-radius:999px;
    background:rgba(77,36,255,.07);
    color:#9f8aff;
    font-size:.62rem;
    font-style:normal;
    font-weight:800;
    white-space:nowrap;
}
.tbg-shipping-rate-price{
    min-width:88px;
    text-align:right;
    font-size:.9rem;
    letter-spacing:0;
}


/* =========================================================
   DELIVERY METHOD / LOCAL PICKUP V2.1.0
   ========================================================= */
.tbg-checkout-section[hidden]{
    display:none!important;
}
.tbg-delivery-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.tbg-delivery-option{
    position:relative;
    display:grid;
    grid-template-columns:22px 34px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    min-height:112px;
    padding:18px;
    border:1px solid #282a33;
    border-radius:14px;
    background:#0a0b10;
    cursor:pointer;
    transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.tbg-delivery-option:hover{
    border-color:#3c3f4b;
    transform:translateY(-1px);
}
.tbg-delivery-option.is-selected{
    border-color:rgba(77,36,255,.7);
    background:linear-gradient(135deg,rgba(77,36,255,.13),rgba(77,36,255,.04));
    box-shadow:inset 3px 0 0 var(--tbg-purple);
}
.tbg-delivery-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.tbg-delivery-option-radio{
    position:relative;
    width:18px;
    height:18px;
    border:1px solid #555b6b;
    border-radius:50%;
}
.tbg-delivery-option.is-selected .tbg-delivery-option-radio{
    border-color:var(--tbg-purple);
}
.tbg-delivery-option.is-selected .tbg-delivery-option-radio::after{
    content:'';
    position:absolute;
    inset:4px;
    border-radius:50%;
    background:var(--tbg-purple);
}
.tbg-delivery-option-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    color:#9b86ff;
    background:rgba(255,255,255,.025);
    font-size:17px;
    font-weight:900;
}
.tbg-delivery-option-copy strong{
    display:block;
    color:#fff;
    font-size:.76rem;
    font-weight:900;
    line-height:1.35;
}
.tbg-delivery-option-copy small,
.tbg-delivery-option-copy em{
    display:block;
    margin-top:5px;
    color:#818797;
    font-size:.66rem;
    line-height:1.5;
    font-style:normal;
}
.tbg-delivery-option-copy em{
    color:#9b8acb;
}
.tbg-delivery-option-price{
    align-self:start;
    padding:5px 8px;
    border:1px solid rgba(83,219,139,.25);
    border-radius:999px;
    color:#55d98b;
    background:rgba(83,219,139,.07);
    font-size:.6rem;
    font-weight:900;
    letter-spacing:.6px;
}
@media(max-width:780px){
    .tbg-delivery-options{
        grid-template-columns:1fr;
    }
    .tbg-delivery-option{
        grid-template-columns:22px 34px minmax(0,1fr);
    }
    .tbg-delivery-option-price{
        grid-column:3;
        justify-self:start;
    }
}


/* =========================================================
   CHECKOUT POLISH V2.1.3
   ========================================================= */

/* Termini / privacy: checkbox coerente con il design TBG */
.tbg-checkout-terms{
    position:relative;
    grid-template-columns:32px minmax(0,1fr);
    align-items:center;
    gap:14px;
    min-height:76px;
    padding:18px 20px;
    border-color:#262833;
    background:linear-gradient(135deg,#0c0d12,#08090d);
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.tbg-checkout-terms:hover{
    border-color:#393c49;
    background:linear-gradient(135deg,#101117,#090a0f);
}
.tbg-checkout-terms:has(input:checked){
    border-color:rgba(77,36,255,.55);
    background:linear-gradient(135deg,rgba(77,36,255,.09),#090a0e 46%);
    box-shadow:inset 3px 0 0 var(--tbg-purple);
}
.tbg-checkout-terms input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:30px;
    height:30px;
    margin:0;
    border:1px solid #3b3f4c;
    border-radius:9px;
    background:#08090d;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .12s ease;
}
.tbg-checkout-terms input[type="checkbox"]:hover{
    border-color:#6850e7;
}
.tbg-checkout-terms input[type="checkbox"]:checked{
    border-color:#5b31ff;
    background:linear-gradient(135deg,#673cff,#4820e9);
    box-shadow:0 7px 20px rgba(77,36,255,.28);
}
.tbg-checkout-terms input[type="checkbox"]:checked::after{
    content:'';
    width:11px;
    height:6px;
    margin-top:-2px;
    border-left:3px solid #fff;
    border-bottom:3px solid #fff;
    transform:rotate(-45deg);
}
.tbg-checkout-terms input[type="checkbox"]:active{
    transform:scale(.94);
}
.tbg-checkout-terms>span{
    margin:0;
    color:#a2a7b5;
    font-size:.74rem;
    line-height:1.55;
}
.tbg-checkout-terms a{
    color:#fff;
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid #5e38ff;
    padding-bottom:1px;
}
.tbg-checkout-terms a:hover{
    color:#b5a7ff;
}
.tbg-checkout-terms .tbg-checkout-field-error{
    grid-column:2;
}

/* Il vecchio selettore .tbg-checkout-summary-item span prendeva anche
   gli span interni creati da wc_price(), spezzando € e importo. */
.tbg-checkout-summary-price,
.tbg-checkout-summary-price .woocommerce-Price-amount,
.tbg-checkout-summary-price .woocommerce-Price-currencySymbol{
    display:inline!important;
    margin:0!important;
    color:#fff;
    white-space:nowrap;
}
.tbg-checkout-summary-price{
    justify-self:end;
    text-align:right;
    line-height:1.2;
}
.tbg-checkout-summary-price .woocommerce-Price-amount{
    font-size:inherit;
    font-weight:900;
}

/* Mobile: immagine + descrizione + prezzo sulla stessa riga.
   Il prezzo resta compatto e non scende più sotto al prodotto. */
@media(max-width:650px){
    .tbg-checkout-summary-item{
        grid-template-columns:48px minmax(0,1fr) auto;
        gap:10px;
        align-items:center;
    }
    .tbg-checkout-summary-price{
        grid-column:3!important;
        align-self:center;
        justify-self:end;
        margin:0!important;
        font-size:.72rem;
        min-width:max-content;
    }
    .tbg-checkout-summary-item>div:nth-child(2){
        min-width:0;
    }
    .tbg-checkout-summary-item>div:nth-child(2)>strong{
        font-size:.67rem;
        line-height:1.3;
    }
    .tbg-checkout-terms{
        grid-template-columns:30px minmax(0,1fr);
        gap:13px;
        padding:17px;
    }
    .tbg-checkout-terms input[type="checkbox"]{
        width:28px;
        height:28px;
        border-radius:8px;
    }
    .tbg-checkout-terms>span{
        font-size:.72rem;
    }
}

@media(max-width:390px){
    .tbg-checkout-summary-item{
        grid-template-columns:44px minmax(0,1fr) auto;
        gap:8px;
    }
    .tbg-checkout-summary-item img{
        width:44px;
        height:44px;
    }
    .tbg-checkout-summary-price{
        font-size:.66rem;
    }
    .tbg-checkout-summary-item>div:nth-child(2)>strong{
        font-size:.62rem;
    }
}


/* =========================================================
   TERMS CHECKBOX REFINEMENT V2.1.4
   Mantiene il fix mobile del prezzo della V2.1.3, ma rende
   Termini/Privacy molto più compatto e pulito.
   ========================================================= */

.tbg-checkout-terms{
    min-height:0;
    padding:16px 18px;
    grid-template-columns:24px minmax(0,1fr);
    gap:12px;
    align-items:center;
    border:1px solid #242630;
    border-radius:12px;
    background:#090a0e;
    box-shadow:none;
    cursor:pointer;
}

.tbg-checkout-terms:hover{
    border-color:#30333f;
    background:#0a0b10;
}

/* Niente card completamente viola quando selezionata */
.tbg-checkout-terms:has(input:checked){
    border-color:#2d303a;
    background:#090a0e;
    box-shadow:none;
}

/* Checkbox piccolo e premium, senza sembrare un pulsantone */
.tbg-checkout-terms input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:22px;
    height:22px;
    margin:0;
    border:1px solid #464a57;
    border-radius:6px;
    background:#0e0f14;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

.tbg-checkout-terms input[type="checkbox"]:hover{
    border-color:#7258ff;
}

.tbg-checkout-terms input[type="checkbox"]:checked{
    border-color:#5b31ff;
    background:#5b31ff;
    box-shadow:0 0 0 3px rgba(91,49,255,.12);
}

.tbg-checkout-terms input[type="checkbox"]:checked::after{
    content:'';
    width:8px;
    height:4px;
    margin-top:-1px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(-45deg);
}

.tbg-checkout-terms>span{
    color:#9b9faf;
    font-size:.72rem;
    font-weight:600;
    line-height:1.5;
}

.tbg-checkout-terms a{
    color:#fff;
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid rgba(112,83,255,.9);
    padding-bottom:1px;
}

.tbg-checkout-terms a:hover{
    color:#b7abff;
}

.tbg-checkout-terms .tbg-checkout-field-error{
    grid-column:2;
}

/* Mobile: ancora più compatto */
@media(max-width:650px){
    .tbg-checkout-terms{
        padding:14px 15px;
        grid-template-columns:22px minmax(0,1fr);
        gap:11px;
        border-radius:11px;
    }

    .tbg-checkout-terms input[type="checkbox"]{
        width:21px;
        height:21px;
        border-radius:6px;
    }

    .tbg-checkout-terms>span{
        font-size:.69rem;
        line-height:1.45;
    }
}


/* =========================================================
   TERMS FINAL FIX V2.1.5
   - rimuove la riga vuota che rendeva enorme la card
   - neutralizza la vecchia spunta globale
   - centra la spunta TBG in modo assoluto
   ========================================================= */

.tbg-checkout-terms{
    min-height:0!important;
    padding:12px 14px!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:11px!important;
    row-gap:7px!important;
    align-items:center!important;
    border:1px solid #242630!important;
    border-radius:10px!important;
    background:#090a0e!important;
    box-shadow:none!important;
}

/* L'errore aveva min-height:14px anche quando vuoto e creava una
   seconda riga invisibile, facendo sembrare il box molto più alto. */
.tbg-checkout-terms .tbg-checkout-field-error:empty{
    display:none!important;
}

.tbg-checkout-terms .tbg-checkout-field-error:not(:empty){
    display:block!important;
    grid-column:2!important;
    margin-top:1px;
}

/* Neutralizza la spunta globale definita più in alto nel CSS. */
.tbg-checkout-terms input[type="checkbox"]::before{
    content:none!important;
    display:none!important;
}

.tbg-checkout-terms input[type="checkbox"]{
    position:relative!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #454957!important;
    border-radius:6px!important;
    background:#0d0e13!important;
    box-shadow:none!important;
    display:block!important;
    cursor:pointer;
}

.tbg-checkout-terms input[type="checkbox"]:checked{
    border-color:#5b31ff!important;
    background:#5b31ff!important;
    box-shadow:0 0 0 3px rgba(91,49,255,.11)!important;
}

/* Una sola spunta, posizionata dal centro matematico del checkbox. */
.tbg-checkout-terms input[type="checkbox"]::after{
    content:''!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:8px!important;
    height:4px!important;
    margin:0!important;
    border:0!important;
    border-left:2px solid #fff!important;
    border-bottom:2px solid #fff!important;
    opacity:0;
    transform:translate(-50%,-62%) rotate(-45deg)!important;
    transform-origin:center!important;
    pointer-events:none;
}

.tbg-checkout-terms input[type="checkbox"]:checked::after{
    opacity:1;
}

.tbg-checkout-terms>span{
    margin:0!important;
    color:#9da2b0!important;
    font-size:.71rem!important;
    font-weight:600!important;
    line-height:1.45!important;
}

.tbg-checkout-terms:has(input:checked),
.tbg-checkout-terms:hover{
    border-color:#30333d!important;
    background:#0a0b10!important;
    box-shadow:none!important;
}

@media(max-width:650px){
    .tbg-checkout-terms{
        padding:11px 12px!important;
        grid-template-columns:21px minmax(0,1fr)!important;
        column-gap:10px!important;
        border-radius:9px!important;
    }

    .tbg-checkout-terms input[type="checkbox"]{
        width:21px!important;
        height:21px!important;
        min-width:21px!important;
        min-height:21px!important;
    }

    .tbg-checkout-terms>span{
        font-size:.68rem!important;
        line-height:1.42!important;
    }
}


/* =========================================================
   CHECKOUT PERSISTENT SUMMARY V2.1.6
   Il riepilogo resta visibile durante lo scroll desktop.
   Su tablet/mobile torna nel flusso normale.
   ========================================================= */

@media(min-width:981px){
    .tbg-checkout-layout{
        position:relative;
    }

    .tbg-checkout-summary{
        align-self:start;
        z-index:30;
    }

    .tbg-checkout-summary.is-floating{
        position:fixed!important;
        top:var(--tbg-summary-top,24px)!important;
        left:var(--tbg-summary-left)!important;
        width:var(--tbg-summary-width)!important;
        max-height:calc(100vh - var(--tbg-summary-top,24px) - 24px);
        overflow-y:auto;
        overscroll-behavior:contain;
        scrollbar-width:thin;
        scrollbar-color:#343744 transparent;
    }

    .tbg-checkout-summary.is-docked{
        position:absolute!important;
        top:auto!important;
        left:auto!important;
        right:0!important;
        bottom:0!important;
        width:var(--tbg-summary-width)!important;
        max-height:none;
        overflow:visible;
    }

    .tbg-checkout-summary.is-floating::-webkit-scrollbar{
        width:5px;
    }

    .tbg-checkout-summary.is-floating::-webkit-scrollbar-thumb{
        background:#343744;
        border-radius:999px;
    }
}

@media(max-width:980px){
    .tbg-checkout-summary.is-floating,
    .tbg-checkout-summary.is-docked{
        position:static!important;
        width:auto!important;
        max-height:none!important;
        overflow:visible!important;
    }
}


/* =========================================================
   PAYMENT CORE V2.2.0
   ========================================================= */
.tbg-checkout-payment-box{
    position:relative;
    min-height:86px;
    border:1px solid #252731;
    border-radius:12px;
    background:#08090e;
    overflow:hidden;
}
.tbg-checkout-payment-placeholder{
    padding:24px 22px;
    color:#777d8d;
    font-size:.75rem;
    line-height:1.55;
}
.tbg-checkout-payment-box.is-loading::after{
    content:'';
    position:absolute;
    top:0;
    left:-45%;
    width:45%;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--tbg-purple),transparent);
    animation:tbgPaymentLoading 1.05s linear infinite;
}
@keyframes tbgPaymentLoading{from{left:-45%}to{left:100%}}
.tbg-checkout-payment-methods{display:flex;flex-direction:column}
.tbg-payment-method{
    position:relative;
    display:grid;
    grid-template-columns:22px 38px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    min-height:82px;
    padding:16px 18px;
    border-bottom:1px solid #20222a;
    cursor:pointer;
    transition:background .18s ease,box-shadow .18s ease;
}
.tbg-payment-method:last-child{border-bottom:0}
.tbg-payment-method:hover{background:rgba(77,36,255,.05)}
.tbg-payment-method.is-selected{
    background:rgba(77,36,255,.085);
    box-shadow:inset 3px 0 0 var(--tbg-purple);
}
.tbg-payment-method input{position:absolute;opacity:0;pointer-events:none}
.tbg-payment-method-radio{
    position:relative;
    width:18px;height:18px;
    border:1px solid #555b6b;
    border-radius:50%;
}
.tbg-payment-method.is-selected .tbg-payment-method-radio{border-color:var(--tbg-purple)}
.tbg-payment-method.is-selected .tbg-payment-method-radio::after{
    content:'';position:absolute;inset:4px;border-radius:50%;background:var(--tbg-purple)
}
.tbg-payment-method-icon{
    width:36px;height:36px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    background:rgba(255,255,255,.025);
    color:#a18dff;
}
.tbg-payment-method-icon svg{
    width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.tbg-payment-method-copy{min-width:0}
.tbg-payment-method-copy strong{
    display:block;color:#fff;font-size:.78rem;font-weight:900;line-height:1.3;text-transform:uppercase
}
.tbg-payment-method-copy small{
    display:block;margin-top:5px;color:#7f8595;font-size:.66rem;line-height:1.5
}
.tbg-payment-method-badge{
    align-self:start;
    padding:5px 8px;
    border:1px solid rgba(77,36,255,.28);
    border-radius:999px;
    background:rgba(77,36,255,.07);
    color:#a38fff;
    font-size:.56rem;
    font-weight:900;
    letter-spacing:.55px;
    white-space:nowrap
}
.tbg-checkout-payment-error{
    display:block;min-height:18px;margin-top:8px;color:#ff6a7f;font-size:.68rem
}
.tbg-checkout-payment-section.is-error .tbg-checkout-payment-box{border-color:rgba(255,82,107,.48)}
.tbg-payment-core-note strong{color:#fff}
@media(max-width:650px){
    .tbg-payment-method{grid-template-columns:20px 34px minmax(0,1fr);gap:10px;padding:15px}
    .tbg-payment-method-badge{grid-column:3;justify-self:start;margin-top:-3px}
    .tbg-payment-method-icon{width:32px;height:32px}
    .tbg-payment-method-copy strong{font-size:.72rem}
}


/* ===== PAYMENT PROVIDERS LIVE V2.3.0 ===== */
.tbg-payment-method:has(input[value="stripe"]) .tbg-payment-method-icon{
    color:#b5a7ff;
    background:linear-gradient(135deg,rgba(99,91,255,.13),rgba(255,255,255,.02));
}
.tbg-payment-method:has(input[value="ppcp-gateway"]) .tbg-payment-method-icon{
    color:#6ea8ff;
    background:linear-gradient(135deg,rgba(36,113,255,.12),rgba(255,255,255,.02));
}
.tbg-payment-method:has(input[value="ppcp-gateway"]) .tbg-payment-method-badge{
    color:#8ebcff;
    border-color:rgba(62,132,255,.28);
    background:rgba(62,132,255,.07);
}

/* =====================================================
   CUSTOM PROJECT - INVIO RICHIESTA REALE
   ===================================================== */
.tbg-custom-submit-message{
    display:flex;align-items:flex-start;gap:14px;margin:0 0 26px;padding:18px 20px;
    border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#0c0d12;color:#c8ccd6;
}
.tbg-custom-submit-message.is-success{border-color:rgba(67,221,136,.3);background:rgba(67,221,136,.07)}
.tbg-custom-submit-message.is-error{border-color:rgba(255,86,107,.32);background:rgba(255,86,107,.07)}
.tbg-custom-submit-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(111,72,255,.16);color:#8f70ff;font-weight:900}
.tbg-custom-submit-message strong{display:block;color:#fff;font-size:15px;font-weight:900}
.tbg-custom-submit-message p{margin:5px 0 0!important;color:#aeb3c0!important;font-size:13px!important;line-height:1.55!important}
.tbg-custom-submit-message b{color:#fff}
.tbg-custom-privacy{display:flex;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025);color:#aeb3c0;font-size:12px;line-height:1.55;cursor:pointer}
.tbg-custom-privacy input{width:17px;height:17px;flex:0 0 auto;margin:1px 0 0;accent-color:#5b34ff}
.tbg-custom-privacy a{color:#967cff;text-decoration:underline}
.tbg-hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
#tbgCustomSubmit:disabled{opacity:.65;cursor:wait}

/* =========================================================
   OFFLINE PAYMENTS - BONIFICO / CONTANTI AL RITIRO
   ========================================================= */
.tbg-offline-payment-card{margin-top:34px;padding:28px;border:1px solid #20222a;border-radius:16px;background:linear-gradient(135deg,#101116 0%,#0b0c12 68%,rgba(77,36,255,.13) 100%)}
.tbg-offline-payment-card .tbg-order-received-section-head{align-items:flex-start}
.tbg-offline-payment-card .tbg-order-received-section-head p{margin:4px 0 0;color:#8f94a8;font-size:.75rem;line-height:1.55}
.tbg-offline-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:18px;overflow:hidden;border:1px solid #242630;border-radius:12px;background:#242630}
.tbg-offline-payment-grid>div{min-width:0;padding:18px;background:#0b0c11}
.tbg-offline-payment-grid>div.is-wide{grid-column:1/-1}
.tbg-offline-payment-grid span{display:block;margin-bottom:7px;color:#7f8494;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.tbg-offline-payment-grid strong{display:block;color:#fff;font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}
.tbg-offline-payment-grid .tbg-bank-code{color:#9b86ff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;letter-spacing:.35px}
.tbg-offline-payment-note{margin-top:18px;padding:16px 18px;border:1px solid rgba(77,36,255,.35);border-radius:11px;background:rgba(77,36,255,.08)}
.tbg-offline-payment-note strong{display:block;margin-bottom:6px;color:#927aff;font-size:.68rem;font-weight:900;letter-spacing:.9px}
.tbg-offline-payment-note p{margin:0;color:#b0b4c0;font-size:.75rem;line-height:1.6}
.tbg-cash-pickup-card .tbg-offline-payment-note{border-color:rgba(73,206,139,.3);background:rgba(73,206,139,.07)}
.tbg-cash-pickup-card .tbg-offline-payment-note strong{color:#65dca0}
@media(max-width:720px){.tbg-offline-payment-card{padding:20px}.tbg-offline-payment-grid{grid-template-columns:1fr}.tbg-offline-payment-grid>div.is-wide{grid-column:auto}}

/* =========================================================
   ACCOUNT CORE 2.5.0
   Login / registrazione / recupero password reali
   ========================================================= */
.tbg-auth-container { position: relative; }
.tbg-auth-container-single { grid-template-columns: 1fr; max-width: 720px; }
.tbg-auth-container-single .tbg-auth-box { border: 0 !important; }
.tbg-auth-single-box { padding: 64px; }
.tbg-auth-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: #8c76ff;
    font-size: .7rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}
.tbg-auth-notice {
    grid-column: 1 / -1;
    margin: 24px 24px 0;
    padding: 15px 18px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    color: #ddd;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.55;
}
.tbg-auth-notice.is-error { border-color: rgba(255,82,82,.35); background: rgba(255,82,82,.08); color: #ffaaaa; }
.tbg-auth-notice.is-success { border-color: rgba(104,255,156,.30); background: rgba(104,255,156,.07); color: #baffd0; }
.tbg-auth-notice.is-info { border-color: rgba(123,93,255,.40); background: rgba(77,36,255,.10); color: #c7bcff; }
.tbg-auth-name-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.tbg-auth-remember {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #8e8e98;
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
    margin: 2px 0 8px;
}
.tbg-auth-remember input {
    width: 17px !important;
    height: 17px !important;
    min-height: 0 !important;
    accent-color: var(--tbg-purple);
}
.tbg-auth-forgot {
    pointer-events: auto !important;
    opacity: 1 !important;
}
.tbg-auth-forgot:hover { color: #fff; }
.tbg-auth-field-error {
    display: none;
    color: #ff6666;
    font-size: .72rem;
    font-weight: 700;
    margin-top: 8px;
}
.tbg-account-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.tbg-privacy-group span {
    color: #aaa;
    font-size: .78rem;
    line-height: 1.55;
    font-weight: 500;
    text-transform: none;
}
.tbg-privacy-group a { color: #8c76ff; text-decoration: none; font-weight: 800; }
.tbg-privacy-group a:hover { text-decoration: underline; }
.tbg-footer-account-link { color: #fff; text-decoration: none; font-size: .78rem; font-weight: 900; letter-spacing: .8px; }
.tbg-footer-account-link:hover { color: #8c76ff; }

@media (max-width: 768px) {
    .tbg-auth-name-grid { grid-template-columns: 1fr; gap: 0; }
    .tbg-auth-single-box { padding: 40px 25px; }
    .tbg-auth-notice { margin: 16px 16px 0; }
}

/* =========================================================
   TBG Client Dashboard 2.5.1 - Real data layer UI
   ========================================================= */
.tbg-client-dashboard-alert {
    padding: 15px 18px;
    border-radius: 16px;
    margin: 0 0 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    color: #fff;
    font-size: .86rem;
    font-weight: 800;
}
.tbg-client-dashboard-alert.is-success { border-color: rgba(92,255,151,.30); background: rgba(92,255,151,.08); color:#caffda; }
.tbg-client-dashboard-alert.is-error { border-color: rgba(255,86,103,.35); background: rgba(255,86,103,.08); color:#ffd4d8; }
.tbg-client-dashboard-alert.is-info { border-color: rgba(110,83,255,.40); background: rgba(77,36,255,.10); }

.status-badge.status-pending { background: rgba(255,190,72,.12); color:#ffd894; border:1px solid rgba(255,190,72,.28); }
.status-badge.status-processing { background: rgba(77,36,255,.16); color:#c6b9ff; border:1px solid rgba(77,36,255,.38); }
.status-badge.status-shipped { background: rgba(48,144,255,.13); color:#b8dcff; border:1px solid rgba(48,144,255,.32); }
.status-badge.status-completed { background: rgba(92,255,151,.10); color:#bfffd4; border:1px solid rgba(92,255,151,.26); }
.status-badge.status-cancelled { background: rgba(255,86,103,.10); color:#ffc4ca; border:1px solid rgba(255,86,103,.28); }

.tbg-client-empty-state,
.tbg-client-empty-order-card {
    padding: 32px;
    border-radius: 24px;
    border: 1px dashed rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
    color:#999;
}
.tbg-client-empty-state strong,
.tbg-client-empty-order-card h3 { color:#fff; text-transform:uppercase; font-size:1.35rem; font-weight:900; }
.tbg-client-empty-state p,
.tbg-client-empty-order-card p { color:#92929c; line-height:1.7; max-width:760px; }
.tbg-client-empty-state .tbg-btn,
.tbg-client-empty-order-card .tbg-btn { width:auto; display:inline-flex; margin-top:10px; }
.tbg-client-empty-inline { color:#777; font-style:italic; }

.tbg-client-tracking-action { margin-top:18px; display:flex; justify-content:flex-end; }
.tbg-client-tracking-action .tbg-btn { width:auto; }
.tbg-client-payment-fact { margin-top:18px; padding:16px; border-radius:16px; background:rgba(0,0,0,.24); border:1px solid rgba(255,255,255,.07); }
.tbg-client-payment-fact span { display:block; color:#8c76ff; text-transform:uppercase; font-size:.66rem; letter-spacing:1px; font-weight:900; margin-bottom:6px; }
.tbg-client-payment-fact strong { display:block; color:#fff; }
.tbg-client-payment-fact small { display:block; color:#888; margin-top:5px; }

.tbg-client-order-updates {
    margin-top:22px;
    padding:26px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.016));
}
.tbg-client-order-message { padding:16px 18px; border-radius:16px; background:rgba(77,36,255,.08); border:1px solid rgba(77,36,255,.20); margin-bottom:16px; }
.tbg-client-order-message strong { color:#fff; }
.tbg-client-order-message p { color:#aaa; margin:7px 0 0; line-height:1.65; }
.tbg-client-update-list { display:grid; gap:12px; }
.tbg-client-update-list > div { display:grid; grid-template-columns:12px 1fr; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.tbg-client-update-list > div:last-child { border-bottom:0; }
.tbg-client-update-list > div > span { width:10px; height:10px; border-radius:50%; margin-top:5px; background:#5b35ff; box-shadow:0 0 14px rgba(91,53,255,.55); }
.tbg-client-update-list strong { color:#fff; display:block; }
.tbg-client-update-list p { color:#aaa; line-height:1.6; margin:5px 0; }
.tbg-client-update-list small { color:#777; }

.tbg-client-address-form-real { display:grid; gap:18px; }
.tbg-client-address-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.tbg-client-address-edit-grid .tbg-account-main-card-pro { min-width:0; }
.tbg-address-city-grid { grid-template-columns:minmax(0,1.5fr) minmax(100px,.7fr) minmax(120px,.8fr); }
.tbg-client-same-address { display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; padding:14px 16px; margin-bottom:18px; border-radius:14px; background:rgba(77,36,255,.08); border:1px solid rgba(77,36,255,.20); }
.tbg-client-same-address input { accent-color:#5b35ff; }
#tbgShippingFields { display:grid; gap:0; transition:opacity .2s ease; }
#tbgShippingFields.is-disabled { opacity:.38; }
.tbg-client-save-addresses { justify-self:end; width:auto; min-width:220px; }
.tbg-client-service-note { color:#777; line-height:1.6; font-size:.78rem; margin:14px 0 0; }

.tbg-account-form-pro .tbg-form-group small { color:#777; display:block; margin-top:7px; line-height:1.4; }
.tbg-order-product-card-pro > img,
.tbg-order-product-image-pro > img,
.tbg-order-product-card-pro picture img { width:90px !important; height:90px !important; object-fit:contain; border-radius:16px; background:#171720; padding:8px; }

@media (max-width: 1180px) {
    .tbg-client-address-edit-grid { grid-template-columns:1fr; }
    .tbg-order-product-card-pro { grid-template-columns:80px minmax(0,1fr) 100px 60px 100px; }
}
@media (max-width: 820px) {
    .tbg-order-timeline-pro { grid-template-columns:repeat(3,1fr); row-gap:24px; }
    .tbg-order-timeline-line, .tbg-order-timeline-fill { display:none; }
    .tbg-order-product-card-pro { grid-template-columns:72px 1fr; }
    .tbg-order-product-price-pro { grid-column:2; display:flex; justify-content:space-between; }
    .tbg-order-product-card-pro > img,
    .tbg-order-product-image-pro > img,
    .tbg-order-product-card-pro picture img { width:72px !important; height:72px !important; }
    .tbg-address-city-grid { grid-template-columns:1fr; }
    .tbg-client-save-addresses { width:100%; justify-self:stretch; }
}

/* =========================================================
   TBG 2.5.1.1 — Fix riepilogo ordine dashboard cliente
   - evita la rottura di € e importi su desktop/mobile
   - sistema la timeline/stato ordine su smartphone
   ========================================================= */
.tbg-order-hero-side > strong,
.tbg-order-money-row strong,
.tbg-order-grand-total strong,
.tbg-client-payment-fact strong,
.tbg-order-product-price-pro strong {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
    white-space: nowrap;
    flex-wrap: nowrap;
    min-width: max-content;
    text-align: right;
}

.tbg-order-hero-side > strong .woocommerce-Price-amount,
.tbg-order-hero-side > strong .woocommerce-Price-currencySymbol,
.tbg-order-hero-side > strong bdi,
.tbg-order-money-row strong .woocommerce-Price-amount,
.tbg-order-money-row strong .woocommerce-Price-currencySymbol,
.tbg-order-money-row strong bdi,
.tbg-order-grand-total strong .woocommerce-Price-amount,
.tbg-order-grand-total strong .woocommerce-Price-currencySymbol,
.tbg-order-grand-total strong bdi,
.tbg-order-product-price-pro strong .woocommerce-Price-amount,
.tbg-order-product-price-pro strong .woocommerce-Price-currencySymbol,
.tbg-order-product-price-pro strong bdi {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    line-height: 1.1;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.tbg-order-hero-side > strong .woocommerce-Price-currencySymbol,
.tbg-order-money-row strong .woocommerce-Price-currencySymbol,
.tbg-order-grand-total strong .woocommerce-Price-currencySymbol,
.tbg-order-product-price-pro strong .woocommerce-Price-currencySymbol {
    margin-right: 2px !important;
}

.tbg-order-money-row,
.tbg-order-grand-total {
    align-items: center;
}

@media (max-width: 820px) {
    .tbg-order-track-card,
    .tbg-order-summary-card-pro,
    .tbg-order-products-pro,
    .tbg-order-address-card-pro {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .tbg-order-summary-card-pro h3,
    .tbg-order-products-pro h3,
    .tbg-order-address-card-pro h3 {
        font-size: 1.35rem !important;
    }

    .tbg-order-timeline-pro {
        grid-template-columns: 1fr !important;
        row-gap: 14px !important;
        padding: 10px 0 !important;
    }

    .tbg-order-timeline-line,
    .tbg-order-timeline-fill {
        display: none !important;
    }

    .tbg-order-timeline-step {
        text-align: left !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        column-gap: 12px !important;
        row-gap: 2px;
        align-items: start !important;
    }

    .tbg-order-timeline-step span {
        margin-bottom: 0 !important;
    }

    .tbg-order-timeline-step strong {
        line-height: 1.2;
        align-self: center;
    }

    .tbg-order-timeline-step small {
        grid-column: 2;
        line-height: 1.45;
        word-break: break-word;
    }

    .tbg-order-money-row,
    .tbg-order-grand-total {
        gap: 10px;
    }

    .tbg-order-money-row strong,
    .tbg-order-grand-total strong,
    .tbg-order-product-price-pro strong {
        font-size: inherit;
        max-width: 100%;
    }

    .tbg-order-hero-side > strong {
        font-size: 1.75rem;
    }
}

@media (max-width: 560px) {
    .tbg-order-money-row,
    .tbg-order-grand-total,
    .tbg-order-product-price-pro {
        align-items: flex-start !important;
    }

    .tbg-order-track-card,
    .tbg-order-summary-card-pro,
    .tbg-order-products-pro,
    .tbg-order-address-card-pro {
        padding: 16px !important;
    }

    .tbg-order-detail-hero h2 {
        line-height: 1;
        letter-spacing: -1px;
    }
}


/* =========================================================
   TBG 2.5.2 — Account gate checkout
   ========================================================= */
.tbg-auth-container.is-checkout-auth {
    margin-top: 0;
}
.tbg-auth-checkout-context {
    grid-column: 1 / -1;
    padding: 28px 34px;
    border: 1px solid rgba(91,53,255,.35);
    border-radius: 26px 26px 0 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(91,53,255,.22), transparent 38%),
        linear-gradient(135deg, rgba(20,19,31,.98), rgba(7,7,10,.98));
}
.tbg-auth-checkout-context h1 {
    margin: 8px 0 10px;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.8rem);
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: -1.8px;
}
.tbg-auth-checkout-context > p {
    margin: 0;
    max-width: 900px;
    color: #aaa;
    line-height: 1.65;
}
.tbg-auth-checkout-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.tbg-auth-checkout-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(0,0,0,.26);
    color: #d7d7df;
    font-size: .72rem;
    font-weight: 800;
}
.tbg-auth-checkout-benefits span::before {
    content: '✓';
    color: #8c76ff;
    font-weight: 900;
}

.tbg-checkout-account-strip {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 0 0 22px;
    padding: 15px 18px;
    border: 1px solid rgba(91,53,255,.28);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(91,53,255,.10), rgba(255,255,255,.025));
}
.tbg-checkout-account-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(91,53,255,.18);
    border: 1px solid rgba(91,53,255,.38);
    color: #a894ff;
    font-weight: 900;
}
.tbg-checkout-account-strip span,
.tbg-checkout-account-strip small {
    display: block;
}
.tbg-checkout-account-strip span {
    color: #8c76ff;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: 1.1px;
}
.tbg-checkout-account-strip strong {
    display: block;
    margin: 4px 0 2px;
    color: #fff;
    font-size: .96rem;
}
.tbg-checkout-account-strip small {
    color: #777;
    line-height: 1.45;
}
.tbg-checkout-account-strip > a {
    color: #fff;
    text-decoration: none;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .7px;
    border-bottom: 1px solid #5b35ff;
}

@media (max-width: 820px) {
    .tbg-auth-checkout-context {
        padding: 24px 20px;
        border-radius: 22px 22px 0 0;
    }
    .tbg-auth-checkout-benefits {
        display: grid;
    }
    .tbg-checkout-account-strip {
        grid-template-columns: 42px minmax(0,1fr);
        padding: 14px;
    }
    .tbg-checkout-account-strip > a {
        grid-column: 2;
        justify-self: start;
        margin-top: 4px;
    }
}

/* =========================================================
   TBG 2.5.3 — Richieste cliente collegate all'account
   ========================================================= */
.tbg-request-account-link-note {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 20px;
    padding:14px 16px;
    border:1px solid rgba(91,53,255,.30);
    background:rgba(91,53,255,.09);
    border-radius:16px;
}
.tbg-request-account-link-note strong { color:#fff; font-size:.82rem; text-transform:uppercase; letter-spacing:.5px; }
.tbg-request-account-link-note span { color:#9b9ba5; font-size:.76rem; line-height:1.5; text-align:right; }
.tbg-request-account-link-note.is-guest { border-color:rgba(255,190,72,.24); background:rgba(255,190,72,.06); }
.tbg-request-dashboard-link { display:inline-flex; margin-top:8px; color:#fff; font-weight:900; text-transform:uppercase; font-size:.72rem; letter-spacing:.6px; text-decoration:none; border-bottom:1px solid var(--tbg-purple); }

.tbg-client-request-overview {
    margin-top:22px;
    padding:24px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    border-radius:26px;
}
.tbg-client-request-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tbg-client-request-overview-grid a {
    display:grid;
    gap:6px;
    padding:20px;
    border-radius:20px;
    text-decoration:none;
    background:rgba(0,0,0,.24);
    border:1px solid rgba(255,255,255,.07);
    transition:.2s ease;
}
.tbg-client-request-overview-grid a:hover { transform:translateY(-2px); border-color:rgba(91,53,255,.45); }
.tbg-client-request-overview-grid span { color:#8c76ff; text-transform:uppercase; letter-spacing:1px; font-size:.68rem; font-weight:900; }
.tbg-client-request-overview-grid strong { color:#fff; font-size:2rem; font-weight:900; }
.tbg-client-request-overview-grid small { color:#85858f; line-height:1.5; }

.tbg-client-request-list { display:grid; gap:14px; margin-top:22px; }
.tbg-client-request-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:22px;
    align-items:center;
    padding:22px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
    border-radius:22px;
}
.tbg-client-request-main h3 { margin:8px 0 6px; color:#fff; font-size:1.2rem; text-transform:uppercase; font-weight:900; }
.tbg-client-request-main p { margin:0; color:#9a9aa3; line-height:1.6; }
.tbg-client-request-main small { display:block; color:#b7adff; margin-top:6px; font-weight:800; }
.tbg-client-request-side { display:grid; justify-items:end; gap:10px; min-width:170px; }
.tbg-client-request-side > small { color:#777; font-size:.72rem; }

.status-badge.status-request-new { background:rgba(255,190,72,.12); color:#ffd894; border:1px solid rgba(255,190,72,.28); }
.status-badge.status-request-review { background:rgba(48,144,255,.13); color:#b8dcff; border:1px solid rgba(48,144,255,.32); }
.status-badge.status-request-quote { background:rgba(91,53,255,.16); color:#c9beff; border:1px solid rgba(91,53,255,.36); }
.status-badge.status-request-sent { background:rgba(151,102,255,.14); color:#ddcaff; border:1px solid rgba(151,102,255,.30); }
.status-badge.status-request-accepted { background:rgba(92,255,151,.10); color:#bfffd4; border:1px solid rgba(92,255,151,.26); }
.status-badge.status-request-rejected { background:rgba(255,86,103,.10); color:#ffc4ca; border:1px solid rgba(255,86,103,.28); }
.status-badge.status-request-closed { background:rgba(255,255,255,.06); color:#bbb; border:1px solid rgba(255,255,255,.12); }

.tbg-request-detail-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
    padding:28px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.08);
    background:radial-gradient(circle at 10% 0%, rgba(91,53,255,.20), transparent 42%), linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.tbg-request-detail-hero h2 { margin:8px 0 8px; color:#fff; font-size:clamp(2rem,4vw,4.2rem); line-height:.95; text-transform:uppercase; font-weight:900; letter-spacing:-1px; }
.tbg-request-detail-hero p { margin:0; color:#9696a0; }
.tbg-request-detail-status { display:flex; align-items:center; }
.tbg-request-detail-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:22px; }
.tbg-request-detail-card,
.tbg-request-history-card {
    padding:24px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
    border-radius:24px;
}
.tbg-request-detail-card h3 { color:#fff; margin:8px 0 20px; text-transform:uppercase; font-size:1.35rem; font-weight:900; }
.tbg-request-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tbg-request-facts > div,
.tbg-request-account-fact {
    padding:16px;
    border-radius:16px;
    background:rgba(0,0,0,.24);
    border:1px solid rgba(255,255,255,.07);
}
.tbg-request-facts span,
.tbg-request-account-fact span,
.tbg-request-customer-message > span { display:block; color:#8c76ff; text-transform:uppercase; letter-spacing:1px; font-size:.66rem; font-weight:900; margin-bottom:7px; }
.tbg-request-facts strong,
.tbg-request-account-fact strong { color:#fff; line-height:1.5; }
.tbg-request-account-fact small { display:block; color:#92929c; margin-top:5px; word-break:break-word; }
.tbg-request-customer-message { margin-top:16px; padding:18px; border-radius:18px; background:rgba(91,53,255,.07); border:1px solid rgba(91,53,255,.18); }
.tbg-request-customer-message p { margin:0; color:#b1b1b8; line-height:1.75; }
.tbg-request-detail-card.is-status p { color:#9a9aa3; line-height:1.7; }
.tbg-request-detail-card.is-status .tbg-btn { width:100%; margin-top:18px; text-align:center; justify-content:center; }
.tbg-request-history-card { margin-top:22px; }
.tbg-request-history-list { display:grid; gap:0; }
.tbg-request-history-list > div { display:grid; grid-template-columns:18px minmax(0,1fr); gap:12px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.tbg-request-history-list > div:last-child { border-bottom:0; }
.tbg-request-history-dot { width:10px; height:10px; border-radius:50%; margin-top:5px; background:#5b35ff; box-shadow:0 0 14px rgba(91,53,255,.55); }
.tbg-request-history-list strong { display:block; color:#fff; font-size:.9rem; }
.tbg-request-history-list small { display:block; color:#767680; margin-top:5px; }

@media (max-width: 980px) {
    .tbg-request-detail-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
    .tbg-request-account-link-note { flex-direction:column; align-items:flex-start; }
    .tbg-request-account-link-note span { text-align:left; }
    .tbg-client-request-overview-grid { grid-template-columns:1fr; }
    .tbg-client-request-card { grid-template-columns:1fr; gap:16px; padding:18px; }
    .tbg-client-request-side { justify-items:start; min-width:0; }
    .tbg-request-detail-hero { flex-direction:column; align-items:flex-start; padding:20px; }
    .tbg-request-detail-card, .tbg-request-history-card { padding:18px; }
    .tbg-request-facts { grid-template-columns:1fr; }
}

/* =========================================================
   TBG 2.5.4 — Preventivo nella dashboard cliente
   ========================================================= */
.tbg-client-request-quote-price { color:#fff; font-size:1rem; font-weight:900; white-space:nowrap; }
.tbg-client-request-quote-price .woocommerce-Price-amount,
.tbg-client-request-quote-price .woocommerce-Price-currencySymbol,
.tbg-client-request-quote-price bdi { display:inline!important; margin:0!important; color:inherit!important; white-space:nowrap!important; }

.tbg-client-quote-card { margin-top:22px; padding:28px; border:1px solid rgba(91,53,255,.28); border-radius:28px; background:radial-gradient(circle at 100% 0%,rgba(91,53,255,.18),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)); box-shadow:0 24px 65px rgba(0,0,0,.28); }
.tbg-client-quote-card.is-expired { border-color:rgba(255,163,72,.28); background:radial-gradient(circle at 100% 0%,rgba(255,151,62,.1),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); }
.tbg-client-quote-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.08); }
.tbg-client-quote-head h3 { margin:8px 0 8px; color:#fff; font-size:clamp(1.55rem,3vw,2.6rem); line-height:1; text-transform:uppercase; font-weight:900; }
.tbg-client-quote-head p { margin:0; color:#85858f; font-size:.78rem; line-height:1.55; }
.tbg-client-quote-total { min-width:230px; padding:18px 20px; border-radius:20px; background:#08080d; border:1px solid rgba(255,255,255,.08); text-align:right; }
.tbg-client-quote-total span,
.tbg-client-quote-description>span,
.tbg-client-quote-terms>span,
.tbg-client-quote-facts span { display:block; color:#8c76ff; text-transform:uppercase; letter-spacing:1px; font-size:.66rem; font-weight:900; margin-bottom:7px; }
.tbg-client-quote-total strong { display:block; color:#fff; font-size:2rem; font-weight:900; white-space:nowrap; }
.tbg-client-quote-total strong .woocommerce-Price-amount,
.tbg-client-quote-total strong .woocommerce-Price-currencySymbol,
.tbg-client-quote-total strong bdi,
.tbg-client-quote-facts strong .woocommerce-Price-amount,
.tbg-client-quote-facts strong .woocommerce-Price-currencySymbol,
.tbg-client-quote-facts strong bdi { display:inline!important; margin:0!important; color:inherit!important; white-space:nowrap!important; }
.tbg-client-quote-total small { display:block; margin-top:8px; color:#888; font-size:.7rem; font-weight:800; }
.tbg-client-quote-card.is-expired .tbg-client-quote-total small { color:#ffb16d; }
.tbg-client-quote-description,
.tbg-client-quote-terms { padding:22px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.tbg-client-quote-description p,
.tbg-client-quote-terms p { margin:0; color:#c2c2ca; line-height:1.75; white-space:normal; }
.tbg-client-quote-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:22px 0; }
.tbg-client-quote-facts>div { padding:16px; border:1px solid rgba(255,255,255,.075); border-radius:18px; background:rgba(0,0,0,.22); }
.tbg-client-quote-facts strong { display:block; color:#fff; line-height:1.5; font-size:.88rem; }
.tbg-client-quote-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-top:20px; }
.tbg-client-quote-footer p { margin:0; color:#85858f; font-size:.78rem; line-height:1.6; max-width:720px; }
.tbg-client-quote-footer .tbg-btn { flex:0 0 auto; }
@media (max-width:820px){
    .tbg-client-quote-card { padding:18px; border-radius:22px; }
    .tbg-client-quote-head { flex-direction:column; }
    .tbg-client-quote-total { min-width:0; width:100%; text-align:left; }
    .tbg-client-quote-facts { grid-template-columns:1fr; }
    .tbg-client-quote-footer { flex-direction:column; align-items:stretch; }
    .tbg-client-quote-footer .tbg-btn { width:100%; justify-content:center; text-align:center; }
}


/* =========================================================
   TBG 2.5.4.1 — Mobile UI fix preventivi richieste
   - pulsante VISUALIZZA centrato e coerente
   - prezzi preventivo più leggibili su smartphone
   ========================================================= */
@media (max-width: 820px) {
    .tbg-client-request-side {
        width: 100% !important;
        min-width: 0 !important;
        justify-items: stretch !important;
        align-items: stretch !important;
    }

    .tbg-client-request-side .tbg-btn-small {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding: 13px 18px !important;
        font-size: .88rem !important;
        line-height: 1 !important;
    }

    .tbg-client-request-quote-price {
        display: inline-flex !important;
        align-items: baseline !important;
        justify-content: flex-start !important;
        font-size: 1.55rem !important;
        line-height: 1.05 !important;
        letter-spacing: -.3px !important;
        font-weight: 900 !important;
    }

    .tbg-client-request-quote-price .woocommerce-Price-amount,
    .tbg-client-request-quote-price .woocommerce-Price-currencySymbol,
    .tbg-client-request-quote-price bdi {
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
    }

    .tbg-client-quote-total strong {
        font-size: 2.55rem !important;
        line-height: 1 !important;
        letter-spacing: -1px !important;
    }

    .tbg-client-quote-facts > div:first-child strong {
        font-size: 1.6rem !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
    }

    .tbg-client-quote-total strong .woocommerce-Price-amount,
    .tbg-client-quote-total strong .woocommerce-Price-currencySymbol,
    .tbg-client-quote-total strong bdi,
    .tbg-client-quote-facts > div:first-child strong .woocommerce-Price-amount,
    .tbg-client-quote-facts > div:first-child strong .woocommerce-Price-currencySymbol,
    .tbg-client-quote-facts > div:first-child strong bdi {
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
    }
}

@media (max-width: 480px) {
    .tbg-client-request-quote-price {
        font-size: 1.45rem !important;
    }

    .tbg-client-quote-total strong {
        font-size: 2.35rem !important;
    }

    .tbg-client-quote-facts > div:first-child strong {
        font-size: 1.5rem !important;
    }
}

/* =========================================================
   TBG 2.5.5 — Preventivi: accetta/rifiuta + pagamento
   ========================================================= */
.tbg-client-quote-decision-copy{min-width:0;flex:1 1 auto}
.tbg-client-quote-decision-copy>strong{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.8px;margin-bottom:8px}
.tbg-client-quote-decision-copy>strong.is-accepted{color:#a6ffbd;background:rgba(92,255,137,.08);border:1px solid rgba(92,255,137,.28)}
.tbg-client-quote-decision-copy>strong.is-rejected{color:#ff9c9c;background:rgba(255,80,80,.07);border:1px solid rgba(255,80,80,.24)}
.tbg-client-quote-decision-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.tbg-client-quote-decision-actions form{margin:0}
.tbg-client-quote-decision-actions .tbg-btn{min-width:190px;justify-content:center;text-align:center}
.tbg-quote-reject-btn{border-color:rgba(255,92,92,.32)!important;color:#ffb0b0!important}

.tbg-quote-payment-page{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:90px 0 110px;min-height:70vh}
.tbg-quote-payment-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:34px;border:1px solid rgba(91,53,255,.28);border-radius:28px;background:radial-gradient(circle at 100% 0%,rgba(91,53,255,.2),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));box-shadow:0 24px 65px rgba(0,0,0,.28);margin-bottom:22px}
.tbg-quote-payment-hero h1{margin:12px 0 10px;color:#fff;font-size:clamp(2.4rem,5vw,5.8rem);line-height:.9;letter-spacing:-2.8px;text-transform:uppercase;font-weight:900}
.tbg-quote-payment-hero h1 span{color:#6b43ff}
.tbg-quote-payment-hero p{margin:0;color:#92929d;line-height:1.6}
.tbg-quote-payment-price{min-width:270px;text-align:right}
.tbg-quote-payment-price span{display:block;color:#8c76ff;text-transform:uppercase;letter-spacing:1.3px;font-size:.7rem;font-weight:900;margin-bottom:8px}
.tbg-quote-payment-price strong{display:block;color:#fff;font-size:clamp(2rem,4vw,4.2rem);font-weight:900;white-space:nowrap}
.tbg-quote-payment-price strong .woocommerce-Price-amount,.tbg-quote-payment-price strong .woocommerce-Price-currencySymbol,.tbg-quote-payment-price strong bdi{display:inline!important;color:inherit!important;white-space:nowrap!important}
.tbg-quote-payment-notice{padding:14px 18px;border-radius:16px;margin:0 0 22px;font-weight:800;font-size:.85rem}
.tbg-quote-payment-notice.is-success{color:#b8ffca;background:rgba(92,255,137,.07);border:1px solid rgba(92,255,137,.22)}
.tbg-quote-payment-notice.is-error{color:#ffc1c1;background:rgba(255,80,80,.06);border:1px solid rgba(255,80,80,.22)}
.tbg-quote-payment-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:22px;align-items:start}
.tbg-quote-payment-main,.tbg-quote-payment-summary,.tbg-quote-payment-error-card{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-radius:26px;box-shadow:0 22px 55px rgba(0,0,0,.24)}
.tbg-quote-payment-main,.tbg-quote-payment-summary{padding:26px}
.tbg-quote-payment-main .tbg-client-section-head h2{margin:7px 0 6px;color:#fff;font-size:1.65rem;font-weight:900;text-transform:uppercase}
.tbg-quote-payment-main .tbg-client-section-head p{margin:0;color:#878791;line-height:1.6}
.tbg-quote-payment-methods{display:grid;gap:10px;margin-top:22px}
.tbg-quote-payment-methods .tbg-payment-method{margin:0}
.tbg-quote-payment-scope-note{margin-top:20px;padding:18px;border-radius:18px;border:1px solid rgba(91,53,255,.22);background:rgba(91,53,255,.06)}
.tbg-quote-payment-scope-note strong{display:block;color:#8c76ff;font-size:.7rem;letter-spacing:1px;margin-bottom:8px}
.tbg-quote-payment-scope-note p{margin:0;color:#a7a7b0;line-height:1.7;font-size:.82rem}
.tbg-quote-pay-submit{width:100%;justify-content:center;text-align:center;margin-top:18px;padding:17px 22px}
.tbg-quote-payment-summary{position:sticky;top:24px}
.tbg-quote-payment-summary>h2{color:#fff;margin:8px 0 14px;text-transform:uppercase;font-size:1.5rem;line-height:1.05}
.tbg-quote-payment-summary>p{color:#9797a0;line-height:1.7;margin:0 0 20px}
.tbg-quote-payment-summary-row,.tbg-quote-payment-summary-total{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-top:1px solid rgba(255,255,255,.08)}
.tbg-quote-payment-summary-row span,.tbg-quote-payment-summary-total span{color:#8c76ff;text-transform:uppercase;letter-spacing:1px;font-size:.66rem;font-weight:900}
.tbg-quote-payment-summary-row strong{color:#fff;text-align:right;font-size:.85rem}
.tbg-quote-payment-summary-total{margin-top:8px;padding-top:20px;border-top-color:rgba(91,53,255,.35)}
.tbg-quote-payment-summary-total strong{color:#fff;font-size:2rem;font-weight:900;white-space:nowrap}
.tbg-quote-payment-summary-total strong .woocommerce-Price-amount,.tbg-quote-payment-summary-total strong .woocommerce-Price-currencySymbol,.tbg-quote-payment-summary-total strong bdi{display:inline!important;color:inherit!important;white-space:nowrap!important}
.tbg-quote-payment-error-card{max-width:860px;margin:40px auto;padding:42px;text-align:center}
.tbg-quote-payment-error-card h1{color:#fff;font-size:clamp(2rem,5vw,4rem);text-transform:uppercase;margin:10px 0 14px;line-height:.95}
.tbg-quote-payment-error-card p{color:#999;line-height:1.7;max-width:650px;margin:0 auto 24px}
.tbg-quote-payment-error-card.is-success{border-color:rgba(92,255,137,.18)}

@media(max-width:980px){
  .tbg-quote-payment-layout{grid-template-columns:1fr}
  .tbg-quote-payment-summary{position:static}
}
@media(max-width:720px){
  .tbg-client-quote-footer{gap:14px}
  .tbg-client-quote-decision-actions{width:100%;display:grid;grid-template-columns:1fr}
  .tbg-client-quote-decision-actions form,.tbg-client-quote-decision-actions .tbg-btn{width:100%;min-width:0}
  .tbg-quote-payment-page{width:min(100% - 28px,1320px);padding:54px 0 80px}
  .tbg-quote-payment-hero{flex-direction:column;align-items:flex-start;padding:22px;border-radius:22px}
  .tbg-quote-payment-hero h1{font-size:clamp(2.2rem,13vw,4rem);letter-spacing:-1.8px}
  .tbg-quote-payment-price{min-width:0;width:100%;text-align:left;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
  .tbg-quote-payment-price strong{font-size:2.4rem}
  .tbg-quote-payment-main,.tbg-quote-payment-summary{padding:18px;border-radius:22px}
  .tbg-quote-payment-summary-total strong{font-size:1.7rem}
  .tbg-quote-payment-error-card{padding:26px 18px;border-radius:22px}
}

/* =========================================================
   TBG 2.5.6 — Preventivo: spedizione / ritiro / montaggio
   ========================================================= */
.tbg-quote-fulfillment-layout{align-items:start}
.tbg-quote-fulfillment-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 26px}
.tbg-quote-fulfillment-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;min-height:164px;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(0,0,0,.24);cursor:pointer;transition:.2s ease}
.tbg-quote-fulfillment-card:hover{transform:translateY(-2px);border-color:rgba(91,53,255,.42)}
.tbg-quote-fulfillment-card.is-selected{border-color:#5b35ff;background:linear-gradient(145deg,rgba(91,53,255,.18),rgba(13,13,19,.92));box-shadow:0 0 0 1px rgba(91,53,255,.24),0 18px 42px rgba(29,10,92,.22)}
.tbg-quote-fulfillment-card input{position:absolute;opacity:0;pointer-events:none}
.tbg-quote-fulfillment-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:13px;border:1px solid rgba(91,53,255,.34);background:rgba(91,53,255,.08);color:#8d72ff;font-size:1.15rem;font-weight:900}
.tbg-quote-fulfillment-copy{min-width:0}
.tbg-quote-fulfillment-copy strong{display:block;color:#fff;text-transform:uppercase;font-size:.86rem;line-height:1.25;font-weight:900;margin:2px 0 8px}
.tbg-quote-fulfillment-copy small{display:block;color:#90909c;font-size:.72rem;line-height:1.55;font-weight:600}
.tbg-quote-fulfillment-price{grid-column:1/-1;align-self:end;margin-top:8px;color:#8d72ff;font-size:.68rem;letter-spacing:1px;font-weight:900;text-transform:uppercase}
.tbg-quote-fulfillment-price .woocommerce-Price-amount,.tbg-quote-fulfillment-price .woocommerce-Price-currencySymbol,.tbg-quote-fulfillment-price bdi{display:inline!important;color:inherit!important}
.tbg-quote-shipping-address,.tbg-quote-onsite-note{margin:0 0 28px;padding:22px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22)}
.tbg-quote-shipping-address.is-hidden,.tbg-quote-onsite-note.is-hidden,.tbg-quote-payment-methods.is-hidden{display:none!important}
.tbg-quote-subhead{margin-bottom:18px}
.tbg-quote-subhead h3{margin:7px 0 5px;color:#fff;font-size:1.25rem;text-transform:uppercase;font-weight:900}
.tbg-quote-subhead p{margin:0;color:#83838d;font-size:.78rem;line-height:1.55}
.tbg-form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tbg-form-grid-3{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.4fr) minmax(120px,.7fr);gap:12px}
.tbg-quote-shipping-address .tbg-form-group{display:grid;gap:7px;margin-bottom:12px}
.tbg-quote-shipping-address .tbg-form-group>span{color:#d8d8de;font-size:.68rem;text-transform:uppercase;letter-spacing:.9px;font-weight:900}
.tbg-quote-shipping-address input,.tbg-quote-shipping-address select{width:100%;min-height:52px;border-radius:13px;border:1px solid rgba(255,255,255,.11);background:#09090d;color:#fff;padding:0 14px;font-family:inherit;outline:none}
.tbg-quote-shipping-address input:focus,.tbg-quote-shipping-address select:focus{border-color:#5b35ff;box-shadow:0 0 0 3px rgba(91,53,255,.10)}
.tbg-quote-onsite-note strong{display:block;color:#fff;font-size:1rem;font-weight:900;margin-bottom:7px}
.tbg-quote-onsite-note p{margin:0 0 7px;color:#fff;line-height:1.55;font-weight:700}
.tbg-quote-onsite-note small{color:#8f8f99;line-height:1.6;font-size:.76rem}
.tbg-quote-payment-step-two{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.08)}
.tbg-quote-pay-submit{width:100%;margin-top:24px;min-height:58px}

@media(max-width:1050px){.tbg-quote-fulfillment-cards{grid-template-columns:1fr}}
@media(max-width:680px){
  .tbg-quote-fulfillment-card{min-height:0;padding:17px;grid-template-columns:40px minmax(0,1fr)}
  .tbg-quote-fulfillment-icon{width:40px;height:40px}
  .tbg-form-grid-2,.tbg-form-grid-3{grid-template-columns:1fr}
  .tbg-quote-shipping-address,.tbg-quote-onsite-note{padding:17px;border-radius:18px}
}


/* =========================================================
   TBG 2.5.6.1 — Refinement preventivi modalità e spedizione
   ========================================================= */
.tbg-client-quote-fulfillment-preview{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tbg-client-quote-fulfillment-preview>span{display:block;color:#8c76ff;text-transform:uppercase;letter-spacing:1px;font-size:.66rem;font-weight:900;margin-bottom:10px}
.tbg-client-quote-fulfillment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tbg-client-quote-fulfillment-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:rgba(0,0,0,.18)}
.tbg-client-quote-fulfillment-item strong{display:block;color:#fff;font-size:.98rem;line-height:1.35;font-weight:900}
.tbg-client-quote-fulfillment-item small{display:block;flex:0 0 auto;color:#b2b2bb;font-size:.78rem;line-height:1.45;font-weight:700;text-align:right;max-width:45%}
@media(max-width:820px){.tbg-client-quote-fulfillment-list{grid-template-columns:1fr}.tbg-client-quote-fulfillment-item{flex-direction:column;align-items:flex-start}.tbg-client-quote-fulfillment-item small{text-align:left;max-width:none}}


/* =========================================================
   TBG 2.5.6.2 — Tariffe Sendcloud preventivi
   ========================================================= */
.tbg-quote-sendcloud-client{margin-top:18px;padding:18px;border-radius:18px;border:1px solid rgba(73,133,255,.20);background:linear-gradient(180deg,rgba(45,100,210,.07),rgba(0,0,0,.16))}
.tbg-quote-sendcloud-client-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.tbg-quote-sendcloud-client-head h4{margin:6px 0 5px;color:#fff;font-size:1rem;font-weight:900;text-transform:uppercase}.tbg-quote-sendcloud-client-head p{margin:0;color:#8e8e98;font-size:.76rem;line-height:1.55}
.tbg-sendcloud-live-badge{flex:0 0 auto;color:#91baff;border:1px solid rgba(76,143,255,.28);background:rgba(76,143,255,.08);padding:8px 11px;border-radius:999px;font-size:.62rem;letter-spacing:.8px;font-weight:900}
.tbg-quote-sendcloud-state{padding:12px 13px;margin-bottom:10px;border-radius:12px;background:rgba(0,0,0,.24);color:#92929c;font-size:.75rem;line-height:1.5}
.tbg-quote-sendcloud-rates{display:grid;gap:9px}
.tbg-quote-sendcloud-rate{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(0,0,0,.22);cursor:pointer;transition:.18s ease}
.tbg-quote-sendcloud-rate:hover{border-color:rgba(91,53,255,.35)}.tbg-quote-sendcloud-rate.is-selected{border-color:#5b35ff;background:rgba(91,53,255,.09);box-shadow:0 0 0 1px rgba(91,53,255,.12)}
.tbg-quote-sendcloud-rate input{position:absolute;opacity:0;pointer-events:none}.tbg-quote-sendcloud-rate-dot{width:20px;height:20px;border-radius:50%;border:2px solid #555766;box-shadow:inset 0 0 0 4px #09090d}.tbg-quote-sendcloud-rate.is-selected .tbg-quote-sendcloud-rate-dot{border-color:#7658ff;background:#5b35ff}
.tbg-quote-sendcloud-rate-main strong{display:block;color:#fff;font-size:.88rem;font-weight:900}.tbg-quote-sendcloud-rate-main small{display:block;color:#858590;font-size:.7rem;line-height:1.45;margin-top:3px}.tbg-quote-sendcloud-rate-price{color:#fff;font-size:.95rem;font-weight:900;white-space:nowrap}
.tbg-quote-shipping-included-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid rgba(91,53,255,.22);border-radius:15px;background:rgba(91,53,255,.07)}.tbg-quote-shipping-included-note strong{color:#9b84ff;font-size:.72rem;letter-spacing:.8px}.tbg-quote-shipping-included-note span{color:#aaa;font-size:.75rem;text-align:right}
@media(max-width:720px){.tbg-quote-sendcloud-client-head{flex-direction:column}.tbg-quote-sendcloud-rate{grid-template-columns:22px minmax(0,1fr)}.tbg-quote-sendcloud-rate-price{grid-column:2;font-size:1rem}.tbg-quote-shipping-included-note{flex-direction:column;align-items:flex-start}.tbg-quote-shipping-included-note span{text-align:left}}

/* =========================================================
   TBG 2.5.7 — Custom Project matching + scansione cliente
   ========================================================= */
.status-badge.status-request-scan { background:rgba(86,139,255,.12); color:#c5d8ff; border:1px solid rgba(86,139,255,.30); }
.status-badge.status-request-work { background:rgba(255,188,71,.11); color:#ffda9b; border:1px solid rgba(255,188,71,.28); }
.status-badge.status-request-ready { background:rgba(92,255,151,.10); color:#bfffd4; border:1px solid rgba(92,255,151,.26); }

.tbg-quote-scan-wait{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;border-radius:14px;border:1px solid rgba(99,131,255,.26);background:rgba(78,103,212,.08);color:#c7d5ff;font-size:.72rem;font-weight:900;letter-spacing:.7px;text-transform:uppercase;text-align:center}

.tbg-client-scan-card{margin-top:22px;padding:28px;border:1px solid rgba(90,112,255,.25);border-radius:28px;background:radial-gradient(circle at 100% 0%,rgba(70,89,255,.16),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 24px 65px rgba(0,0,0,.25)}
.tbg-client-scan-card.is-completed{border-color:rgba(92,255,151,.24);background:radial-gradient(circle at 100% 0%,rgba(92,255,151,.09),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.tbg-client-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.tbg-client-scan-head h3{margin:8px 0 7px;color:#fff;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1;text-transform:uppercase;font-weight:900}
.tbg-client-scan-head p{margin:0;color:#9696a1;line-height:1.65;max-width:760px;font-size:.82rem}
.tbg-client-scan-status{flex:0 0 auto;display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;border:1px solid rgba(91,96,255,.30);background:rgba(91,96,255,.09);color:#c8cbff;font-size:.66rem;font-weight:900;letter-spacing:.75px;text-transform:uppercase}
.tbg-client-scan-card.is-completed .tbg-client-scan-status{color:#bfffd4;border-color:rgba(92,255,151,.25);background:rgba(92,255,151,.08)}
.tbg-client-scan-form{margin-top:20px}
.tbg-client-scan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.tbg-client-scan-option{position:relative;display:grid;grid-template-columns:24px minmax(125px,.55fr) minmax(0,1fr);gap:13px;align-items:center;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(0,0,0,.22);cursor:pointer;transition:.2s ease}
.tbg-client-scan-option:hover{border-color:rgba(91,53,255,.38);transform:translateY(-1px)}
.tbg-client-scan-option:has(input:checked),.tbg-client-scan-option.is-selected{border-color:#6041ff;background:linear-gradient(145deg,rgba(91,53,255,.15),rgba(0,0,0,.24));box-shadow:0 0 0 1px rgba(91,53,255,.12)}
.tbg-client-scan-option input{position:absolute;opacity:0;pointer-events:none}
.tbg-client-scan-radio{position:relative;width:20px;height:20px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:#101016}
.tbg-client-scan-option:has(input:checked) .tbg-client-scan-radio::after,.tbg-client-scan-option.is-selected .tbg-client-scan-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#6847ff;box-shadow:0 0 12px rgba(104,71,255,.7)}
.tbg-client-scan-date strong{display:block;color:#fff;font-size:1rem;text-transform:uppercase;font-weight:900;line-height:1.25}
.tbg-client-scan-date small{display:block;color:#8d72ff;font-size:1rem;font-weight:900;margin-top:4px}
.tbg-client-scan-note{color:#9696a1;font-size:.75rem;line-height:1.55}
.tbg-client-scan-form>.tbg-btn{width:100%;justify-content:center;text-align:center}
.tbg-client-scan-contact{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.tbg-client-scan-contact span{color:#8f8f99;font-size:.76rem;line-height:1.5}
.tbg-client-scan-contact .tbg-btn{flex:0 0 auto}
.tbg-client-scan-empty{margin-top:20px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.2)}
.tbg-client-scan-empty strong{color:#fff}
.tbg-client-scan-empty p{color:#91919b;line-height:1.6;margin:7px 0 0}
.tbg-client-scan-confirmed{margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border:1px solid rgba(92,255,151,.15);border-radius:18px;background:rgba(92,255,151,.04)}
.tbg-client-scan-confirmed span{color:#8f8f99;font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.7px}
.tbg-client-scan-confirmed strong{color:#fff;font-size:1.05rem}
.tbg-client-scan-pay{width:100%;justify-content:center;text-align:center}

.tbg-custom-match-result{padding:28px;border:1px solid rgba(91,53,255,.26);border-radius:28px;background:radial-gradient(circle at 100% 0%,rgba(91,53,255,.15),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));box-shadow:0 24px 65px rgba(0,0,0,.28)}
.tbg-custom-match-head h2{margin:9px 0 10px;color:#fff;font-size:clamp(1.9rem,4vw,3.5rem);line-height:.95;text-transform:uppercase;font-weight:900}
.tbg-custom-match-head p{color:#9898a2;line-height:1.7;max-width:820px;margin:0}
.tbg-custom-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0}
.tbg-custom-match-card{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#08080c;transition:.2s ease}
.tbg-custom-match-card:hover{transform:translateY(-3px);border-color:rgba(91,53,255,.45)}
.tbg-custom-match-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.tbg-custom-match-image{height:210px;background:#101015;display:flex;align-items:center;justify-content:center;padding:14px}
.tbg-custom-match-image img{width:100%;height:100%;object-fit:contain}
.tbg-custom-match-body{padding:18px}
.tbg-custom-match-body>span{display:block;color:#8c76ff;font-size:.65rem;letter-spacing:1px;text-transform:uppercase;font-weight:900}
.tbg-custom-match-body h3{color:#fff;margin:8px 0 7px;font-size:1.08rem;text-transform:uppercase;line-height:1.2}
.tbg-custom-match-body p{color:#85858e;margin:0 0 15px;line-height:1.55;font-size:.78rem}
.tbg-custom-match-body strong{display:block;color:#fff;font-size:1.25rem;margin-bottom:15px}
.tbg-custom-match-body em{font-style:normal;color:#8c76ff;font-size:.72rem;font-weight:900;letter-spacing:.7px}
.tbg-custom-match-restart{display:inline-flex}

@media(max-width:980px){.tbg-custom-match-grid{grid-template-columns:1fr 1fr}.tbg-client-scan-options{grid-template-columns:1fr}}
@media(max-width:820px){
  .tbg-client-request-side>.status-badge{width:auto!important;max-width:100%!important;justify-self:start!important;align-self:start!important;white-space:nowrap!important;text-align:center!important;padding:8px 14px!important;line-height:1!important}
  .tbg-client-scan-card{padding:18px;border-radius:22px}
  .tbg-client-scan-head{flex-direction:column;align-items:flex-start}
  .tbg-client-scan-status{white-space:normal;line-height:1.25}
  .tbg-client-scan-option{grid-template-columns:22px minmax(0,1fr);align-items:start}
  .tbg-client-scan-note{grid-column:2}
  .tbg-client-scan-contact{flex-direction:column;align-items:stretch}
  .tbg-client-scan-contact .tbg-btn{width:100%;justify-content:center;text-align:center}
  .tbg-client-scan-confirmed{flex-direction:column;align-items:flex-start}
  .tbg-custom-match-result{padding:18px;border-radius:22px}
  .tbg-custom-match-grid{grid-template-columns:1fr}
  .tbg-custom-match-image{height:190px}
  .tbg-custom-match-restart{width:100%;justify-content:center;text-align:center}
}
.tbg-custom-live-match.is-hidden{display:none!important}


/* =========================================================
   TBG 2.5.7.2 — Shop suggestion non bloccante
   ========================================================= */
.tbg-custom-match-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px}
.tbg-custom-match-actions .tbg-btn{min-width:220px;justify-content:center;text-align:center}
.tbg-custom-match-help{margin:16px 0 0!important;padding-top:15px;border-top:1px solid rgba(255,255,255,.07);color:#8f8f99!important;font-size:.78rem;line-height:1.65!important}
@media(max-width:720px){.tbg-custom-match-actions{display:grid;grid-template-columns:1fr}.tbg-custom-match-actions .tbg-btn{width:100%;min-width:0}.tbg-custom-match-head h2{font-size:clamp(1.65rem,9vw,2.5rem)}}


/* =========================================================
   TBG 2.5.7.3 — Prezzo promozionale nel suggerimento Shop
   ========================================================= */
.tbg-custom-match-price{margin:4px 0 16px;color:#fff;font-size:1.55rem;line-height:1;font-weight:900}
.tbg-custom-match-price .tbg-price-stack{display:inline-flex!important;align-items:baseline!important;gap:12px!important;flex-wrap:wrap!important}
.tbg-custom-match-price .tbg-price-stack del{color:#747782!important;font-size:.72em!important;font-weight:700!important;text-decoration:line-through!important;text-decoration-thickness:1px!important;opacity:1!important}
.tbg-custom-match-price .tbg-price-stack ins{color:#fff!important;font-size:1em!important;font-weight:900!important;text-decoration:none!important}
@media(max-width:720px){.tbg-custom-match-price{font-size:1.7rem}.tbg-custom-match-price .tbg-price-stack{gap:10px!important}}


/* =========================================================
   TBG 2.5.7.4 — Custom Project: accesso chiaro allo step contatti
   ========================================================= */
.tbg-custom-account-gateway{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:20px 0 24px;padding:18px 20px;border:1px solid rgba(91,53,255,.28);border-radius:18px;background:linear-gradient(145deg,rgba(91,53,255,.09),rgba(255,255,255,.018))}
.tbg-custom-account-gateway-copy{min-width:0}
.tbg-custom-account-gateway-copy>strong{display:block;color:#fff;font-size:1rem;font-weight:900;margin:5px 0 5px}
.tbg-custom-account-gateway-copy>p{margin:0;color:#92929d;font-size:.78rem;line-height:1.55}
.tbg-custom-account-gateway>.tbg-btn{min-width:150px;justify-content:center;text-align:center}
.tbg-custom-account-new{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.tbg-custom-account-new>strong{flex:0 0 auto;color:#fff;font-size:.78rem;font-weight:900}
.tbg-custom-account-new>span{color:#8d8d98;font-size:.75rem;line-height:1.55}
@media(max-width:720px){
  .tbg-custom-account-gateway{grid-template-columns:1fr;padding:16px}
  .tbg-custom-account-gateway>.tbg-btn{width:100%;min-width:0}
  .tbg-custom-account-new{grid-column:auto;flex-direction:column;gap:5px}
}


/* =========================================================
   TBG 2.5.8 — Registrazione inline nel Custom Project
   ========================================================= */
.tbg-custom-inline-register{margin-top:4px;padding:18px;border:1px solid rgba(91,53,255,.24);border-radius:16px;background:linear-gradient(145deg,rgba(91,53,255,.07),rgba(255,255,255,.018))}
.tbg-custom-inline-register-head{margin-bottom:15px}
.tbg-custom-inline-register-head>strong{display:block;color:#fff;font-size:1rem;font-weight:900;margin:5px 0 5px}
.tbg-custom-inline-register-head>p{margin:0;color:#92929d;font-size:.76rem;line-height:1.55}
@media(max-width:720px){.tbg-custom-inline-register{padding:15px}.tbg-custom-register-name-grid{grid-template-columns:1fr!important}}

/* =========================================================
   TBG 2.5.9 — Custom Project: scansione -> pagamento
   ========================================================= */
.tbg-client-scan-card.is-booked{border-color:rgba(110,78,255,.34);background:radial-gradient(circle at 100% 0%,rgba(91,53,255,.16),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.tbg-client-scan-next-stage,.tbg-client-scan-payment-state{margin:18px 0;padding:18px 20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(0,0,0,.22)}
.tbg-client-scan-next-stage>span,.tbg-client-scan-payment-state>span{display:block;color:#8d72ff;font-size:.66rem;letter-spacing:.8px;font-weight:900;text-transform:uppercase;margin-bottom:7px}
.tbg-client-scan-next-stage>strong,.tbg-client-scan-payment-state>strong{display:block;color:#fff;font-size:1.08rem;line-height:1.3;font-weight:900}
.tbg-client-scan-next-stage>p,.tbg-client-scan-payment-state>small{display:block;margin:7px 0 0;color:#9696a1;font-size:.76rem;line-height:1.6}
.tbg-client-scan-next-stage.is-ready{border-color:rgba(92,255,151,.16);background:rgba(92,255,151,.035)}
.tbg-client-scan-next-stage.is-ready>span{color:#8dffb1}
.tbg-client-scan-payment-state.is-paid{border-color:rgba(92,255,151,.18);background:rgba(92,255,151,.04)}
.tbg-client-scan-payment-state.is-paid>span{color:#8dffb1}
.tbg-quote-scan-wait.is-confirmed{color:#c8cbff;border-color:rgba(104,71,255,.28);background:rgba(104,71,255,.08)}
.tbg-quote-scan-booking-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;align-items:center;margin-bottom:24px;padding:17px 18px;border:1px solid rgba(104,71,255,.25);border-radius:18px;background:linear-gradient(135deg,rgba(91,53,255,.12),rgba(0,0,0,.18))}
.tbg-quote-scan-booking-summary>span{color:#8d72ff;font-size:.64rem;letter-spacing:.9px;font-weight:900;text-transform:uppercase}
.tbg-quote-scan-booking-summary>strong{grid-column:2;grid-row:1/3;color:#fff;font-size:1.05rem;font-weight:900;white-space:nowrap}
.tbg-quote-scan-booking-summary>small{color:#9898a4;font-size:.73rem;line-height:1.55}
.tbg-scan-payment-confirmed strong{color:inherit}
.tbg-scan-payment-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.tbg-scan-payment-actions .tbg-btn{min-width:210px;justify-content:center}
@media(max-width:720px){
  .tbg-quote-scan-booking-summary{grid-template-columns:1fr;padding:15px}
  .tbg-quote-scan-booking-summary>strong{grid-column:auto;grid-row:auto;white-space:normal;font-size:1rem}
  .tbg-client-scan-next-stage,.tbg-client-scan-payment-state{padding:16px}
  .tbg-scan-payment-actions{display:grid;grid-template-columns:1fr;width:100%}
  .tbg-scan-payment-actions .tbg-btn{width:100%;min-width:0}
}
.tbg-client-order-scan-gate{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:18px;align-items:center;margin:18px 0;padding:18px 20px;border:1px solid rgba(104,71,255,.22);border-radius:20px;background:linear-gradient(135deg,rgba(91,53,255,.10),rgba(0,0,0,.2))}
.tbg-client-order-scan-gate>div>span{display:block;color:#8d72ff;font-size:.64rem;letter-spacing:.9px;font-weight:900;margin-bottom:5px}.tbg-client-order-scan-gate>div>strong{display:block;color:#fff;font-size:1rem;font-weight:900}.tbg-client-order-scan-gate>div>small{display:block;color:#9a9aa5;font-size:.74rem;margin-top:6px}.tbg-client-order-scan-gate>p{margin:0;color:#9898a3;font-size:.78rem;line-height:1.6}.tbg-client-order-scan-gate.is-complete{border-color:rgba(92,255,151,.2);background:rgba(92,255,151,.04)}.tbg-client-order-scan-gate.is-complete>div>span{color:#83f0a7}
@media(max-width:720px){.tbg-client-order-scan-gate{grid-template-columns:1fr;padding:16px}.tbg-client-order-scan-gate>p{font-size:.76rem}}


/* =========================================================
   TBG 2.5.9.1 — Fix metodo pagamento lungo negli ordini
   ========================================================= */
.tbg-client-payment-fact strong{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    flex-wrap:wrap!important;
    overflow-wrap:anywhere;
    word-break:normal;
    text-align:left!important;
    line-height:1.35;
}


/* =========================================================
   TBG 2.5.9.2 — fatturazione obbligatoria preventivi
   ========================================================= */
.tbg-quote-billing-address{margin:0 0 28px;padding:22px;border-radius:20px;border:1px solid rgba(91,53,255,.20);background:linear-gradient(180deg,rgba(91,53,255,.065),rgba(0,0,0,.20))}
.tbg-quote-billing-address .tbg-form-group{display:grid;gap:7px;margin-bottom:12px}
.tbg-quote-billing-address .tbg-form-group>span{color:#d8d8de;font-size:.68rem;text-transform:uppercase;letter-spacing:.9px;font-weight:900}
.tbg-quote-billing-address .tbg-form-group>span em{font-style:normal;text-transform:none;letter-spacing:0;color:#777984;font-weight:600}
.tbg-quote-billing-address input,.tbg-quote-billing-address select{width:100%;min-height:52px;border-radius:13px;border:1px solid rgba(255,255,255,.11);background:#09090d;color:#fff;padding:0 14px;font-family:inherit;outline:none}
.tbg-quote-billing-address input:focus,.tbg-quote-billing-address select:focus{border-color:#5b35ff;box-shadow:0 0 0 3px rgba(91,53,255,.10)}
.tbg-quote-same-address{display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.025);cursor:pointer}
.tbg-quote-same-address input{width:18px!important;height:18px!important;min-height:0!important;margin:0!important;accent-color:#5b35ff;flex:0 0 18px}
.tbg-quote-same-address span{color:#d9d9df;font-size:.78rem;line-height:1.45;font-weight:700}
#tbgQuoteShippingDifferentFields.is-hidden{display:none!important}
@media(max-width:720px){.tbg-quote-billing-address{padding:17px;border-radius:18px}.tbg-quote-same-address{align-items:flex-start}}


/* =========================================================
   TBG 2.5.9.4 — Bonifico persistente nel dettaglio ordine
   ========================================================= */
.tbg-client-bank-transfer-card{margin-top:16px;padding:17px;border:1px solid rgba(108,76,255,.3);border-radius:16px;background:linear-gradient(180deg,rgba(92,55,255,.10),rgba(255,255,255,.018));overflow:hidden}
.tbg-client-bank-transfer-card .tbg-client-bank-kicker{display:block;color:#9b86ff;font-size:.62rem;font-weight:900;letter-spacing:1.1px;margin-bottom:7px}
.tbg-client-bank-transfer-card>p{margin:0 0 13px;color:#a9a9b4;font-size:.76rem;line-height:1.55}
.tbg-client-bank-transfer-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.tbg-client-bank-transfer-card dl>div{min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(0,0,0,.22)}
.tbg-client-bank-transfer-card dl>div.is-wide{grid-column:1/-1}
.tbg-client-bank-transfer-card dt{margin:0 0 4px;color:#75798a;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.65px}
.tbg-client-bank-transfer-card dd{margin:0;color:#fff;font-size:.72rem;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
.tbg-client-bank-transfer-card .tbg-client-bank-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.25px}
.tbg-client-bank-transfer-card>small{display:block;margin-top:11px;color:#858a98;font-size:.66rem;line-height:1.45}
@media(max-width:560px){.tbg-client-bank-transfer-card dl{grid-template-columns:1fr}.tbg-client-bank-transfer-card dl>div.is-wide{grid-column:auto}.tbg-client-bank-transfer-card{padding:15px}}

/* =========================================================
   TBG 2.5.9.8 — Fattura nella dashboard cliente
   ========================================================= */
.tbg-client-invoice-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:22px;padding:22px 24px;border:1px solid rgba(108,76,255,.30);border-radius:22px;background:radial-gradient(circle at 100% 0%,rgba(91,53,255,.15),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 18px 42px rgba(0,0,0,.16)}
.tbg-client-invoice-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid rgba(112,82,255,.35);border-radius:18px;background:linear-gradient(145deg,rgba(91,53,255,.18),rgba(255,255,255,.025));color:#b7a9ff;font-size:.78rem;font-weight:950;letter-spacing:1px}
.tbg-client-invoice-copy{min-width:0}.tbg-client-invoice-copy h3{margin:6px 0 7px;color:#fff;font-size:1.25rem;font-weight:950;text-transform:uppercase}.tbg-client-invoice-copy p{margin:0;color:#9b9ba6;font-size:.8rem;line-height:1.55}.tbg-client-invoice-copy small{display:block;margin-top:7px;color:#777b89;font-size:.68rem;line-height:1.45;overflow-wrap:anywhere}
.tbg-client-invoice-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.tbg-client-invoice-actions .tbg-btn{min-width:160px;justify-content:center;text-align:center}
.tbg-order-list-actions{display:flex;gap:7px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.tbg-order-list-actions .tbg-btn-small.is-invoice{border-color:rgba(108,76,255,.32);background:rgba(108,76,255,.08);color:#b7a8ff}
@media(max-width:820px){.tbg-client-invoice-card{grid-template-columns:56px minmax(0,1fr);padding:18px}.tbg-client-invoice-icon{width:56px;height:56px;border-radius:15px}.tbg-client-invoice-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}.tbg-client-invoice-actions .tbg-btn{width:100%;min-width:0}}
@media(max-width:560px){.tbg-client-invoice-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:16px;border-radius:19px}.tbg-client-invoice-icon{width:48px;height:48px;border-radius:13px;font-size:.68rem}.tbg-client-invoice-copy h3{font-size:1.05rem}.tbg-client-invoice-copy p{font-size:.74rem}.tbg-client-invoice-actions{grid-template-columns:1fr}.tbg-client-invoice-actions .tbg-btn{min-height:48px}}


/* =========================================================
   TBG 2.5.9.8.2 — centratura pulsanti lista ordini mobile
   Solo VISUALIZZA / FATTURA nella dashboard cliente.
   ========================================================= */
@media (max-width: 820px) {
    .tbg-order-list-actions .tbg-btn-small {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 56px !important;
        padding: 0 18px !important;
        line-height: 1 !important;
        text-align: center !important;
        vertical-align: middle !important;
        box-sizing: border-box !important;
    }
}


/* =========================================================
   TBG 2.5.9.29 — Fix checkbox Privacy registrazione mobile
   Il responsive generale porta gli input a min-height:50px.
   Il checkbox privacy deve restare un controllo quadrato 22x22.
   ========================================================= */
@media (max-width: 768px) {
    .tbg-auth-form .tbg-privacy-group {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .tbg-auth-form .tbg-privacy-group input[type="checkbox"] {
        -webkit-appearance: none !important;
        appearance: none !important;
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
        max-width: 22px !important;
        max-height: 22px !important;
        flex: 0 0 22px !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;
        border: 2px solid #555 !important;
        border-radius: 4px !important;
        background: transparent !important;
        display: grid !important;
        place-content: center !important;
        box-sizing: border-box !important;
    }

    .tbg-auth-form .tbg-privacy-group input[type="checkbox"]::before {
        width: 12px !important;
        height: 12px !important;
    }

    .tbg-auth-form .tbg-privacy-group input[type="checkbox"]:checked {
        border-color: var(--tbg-purple) !important;
    }

    .tbg-auth-form .tbg-privacy-group span {
        min-width: 0;
        flex: 1 1 auto;
    }
}

/* =========================================================
   TBG 2.6.2 — Pagamento ordine dalla dashboard cliente
   ========================================================= */
.tbg-btn-small.is-pay{
    background:linear-gradient(135deg,#5b35ff,#7a4cff);
    border:1px solid rgba(151,126,255,.48);
    box-shadow:0 8px 24px rgba(91,53,255,.26);
    color:#fff;
}
.tbg-btn-small.is-pay:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 28px rgba(91,53,255,.36);
}
.tbg-client-payment-cta{
    margin-top:16px;
    padding:18px;
    border:1px solid rgba(108,76,255,.38);
    border-radius:18px;
    background:radial-gradient(circle at 100% 0%,rgba(91,53,255,.20),transparent 46%),linear-gradient(180deg,rgba(91,53,255,.10),rgba(255,255,255,.018));
}
.tbg-client-payment-cta>span{
    display:block;
    margin-bottom:7px;
    color:#a995ff;
    font-size:.62rem;
    font-weight:950;
    letter-spacing:1.1px;
}
.tbg-client-payment-cta>strong{
    display:block;
    color:#fff;
    font-size:.96rem;
    line-height:1.35;
}
.tbg-client-payment-cta>p{
    margin:7px 0 15px;
    color:#999aa5;
    font-size:.72rem;
    line-height:1.55;
}
.tbg-client-payment-cta .tbg-btn{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
@media(max-width:820px){
    .tbg-order-list-actions .tbg-btn-small.is-pay{order:-1;width:100%;}
}
@media(max-width:560px){
    .tbg-client-payment-cta{padding:16px;border-radius:16px;}
    .tbg-client-payment-cta .tbg-btn{min-height:52px;}
}



/* =========================================================
   TBG 2.7.1 — Consenso newsletter / comunicazioni marketing
   Separato dalla Privacy obbligatoria e mai preselezionato.
   ========================================================= */
.tbg-marketing-group{
    margin-top:-8px;
    border-color:rgba(111,80,255,.24);
    background:linear-gradient(145deg,rgba(91,52,255,.075),rgba(255,255,255,.018));
}
.tbg-consent-title,
.tbg-custom-marketing span>strong{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 5px;
    color:#f3f1ff;
    font-size:.78rem;
    font-weight:900;
    line-height:1.3;
}
.tbg-consent-title em,
.tbg-custom-marketing span>strong em{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:0 7px;
    border:1px solid rgba(139,113,255,.27);
    border-radius:999px;
    background:rgba(91,52,255,.10);
    color:#a996ff;
    font-size:.52rem;
    font-style:normal;
    font-weight:900;
    letter-spacing:.65px;
    white-space:nowrap;
}
.tbg-custom-marketing{
    margin-top:10px;
    border-color:rgba(111,80,255,.24);
    background:linear-gradient(145deg,rgba(91,52,255,.065),rgba(255,255,255,.018));
}
.tbg-custom-marketing span{min-width:0}
@media(max-width:768px){
    .tbg-marketing-group{margin-top:-6px}
    .tbg-consent-title,.tbg-custom-marketing span>strong{align-items:flex-start;flex-wrap:wrap}
}

/* =========================================================
   TBG 2.8.0 - ACCONTO CLIENTE
   ========================================================= */
.tbg-client-deposit-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.tbg-client-deposit-breakdown>div{padding:13px 14px;border:1px solid rgba(122,92,255,.18);border-radius:12px;background:rgba(77,36,255,.045)}
.tbg-client-deposit-breakdown span{display:block;color:#8e94a3;font-size:.61rem;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
.tbg-client-deposit-breakdown strong{display:block;margin:6px 0 3px;color:#fff;font-size:1rem;font-weight:900}
.tbg-client-deposit-breakdown small{display:block;color:#8f96a6;font-size:.62rem;line-height:1.4}
.tbg-client-payment-cta.is-deposit{border-color:rgba(122,92,255,.28);background:linear-gradient(145deg,rgba(77,36,255,.13),rgba(255,255,255,.025))}
.tbg-client-deposit-confirmed{margin-top:14px;padding:15px 16px;border:1px solid rgba(58,201,112,.24);border-radius:13px;background:rgba(58,201,112,.06)}
.tbg-client-deposit-confirmed span{display:block;color:#76e79d;font-size:.62rem;font-weight:900;letter-spacing:.7px}.tbg-client-deposit-confirmed strong{display:block;margin:6px 0;color:#fff;font-size:.9rem}.tbg-client-deposit-confirmed p{margin:0;color:#939aa9;font-size:.68rem;line-height:1.55}
@media(max-width:620px){.tbg-client-deposit-breakdown{grid-template-columns:1fr}}


/* TBG 2.8.2 — riepilogo acconto immediato nel checkout */
.tbg-checkout-deposit-breakdown{
    margin:14px 0 4px;padding:14px;border:1px solid rgba(95,62,255,.34);border-radius:14px;
    background:linear-gradient(145deg,rgba(84,44,255,.11),rgba(255,255,255,.018));
}
.tbg-checkout-deposit-breakdown[hidden]{display:none!important}
.tbg-checkout-deposit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.tbg-checkout-deposit-row span{color:#a1a6b4;font-size:.7rem;font-weight:800}
.tbg-checkout-deposit-row strong{color:#fff;font-size:.86rem;font-weight:950;text-align:right}
.tbg-checkout-deposit-row.is-now span{color:#c7bcff}
.tbg-checkout-deposit-row.is-now strong{color:#8d72ff;font-size:1.02rem}
.tbg-checkout-deposit-row.is-later{border-bottom:0}
.tbg-checkout-deposit-breakdown>small{display:block;margin-top:8px;color:#767d8d;font-size:.61rem;line-height:1.5}
@media(max-width:650px){
    .tbg-checkout-deposit-breakdown{padding:12px}
    .tbg-checkout-deposit-row{align-items:flex-start}
    .tbg-checkout-deposit-row span{font-size:.65rem}
}

/* =========================================================
   TBG 2.8.19 — PREFERITI CLIENTE
   Desktop + mobile, account persistente e modale autenticazione
   ========================================================= */
.tbg-product-card{position:relative}
.tbg-product-favorite-btn,
.tbg-favorite-card-heart{
    appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,8,.88);color:#fff;
    display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.22s ease;
    box-shadow:0 10px 26px rgba(0,0,0,.28);backdrop-filter:blur(10px)
}
.tbg-product-favorite-btn{
    position:absolute;z-index:6;top:30px;right:30px;width:42px;height:42px;border-radius:50%;padding:0
}
.tbg-product-favorite-btn svg,.tbg-favorite-card-heart svg,.tbg-favorite-detail-btn svg{
    width:21px;height:21px;fill:transparent;stroke:currentColor;stroke-width:1.9;transition:.22s ease
}
.tbg-product-favorite-btn:hover,.tbg-favorite-card-heart:hover{transform:translateY(-2px);border-color:rgba(129,93,255,.75);color:#a48cff}
.tbg-product-favorite-btn.is-favorite,.tbg-favorite-card-heart.is-favorite{
    color:#fff;background:linear-gradient(145deg,#6e42ff,#4d24ff);border-color:#8e72ff;box-shadow:0 12px 30px rgba(77,36,255,.34)
}
.tbg-product-favorite-btn.is-favorite svg,.tbg-favorite-card-heart.is-favorite svg,.tbg-favorite-detail-btn.is-favorite svg{fill:currentColor}
.tbg-product-favorite-btn.is-loading,.tbg-favorite-card-heart.is-loading,.tbg-favorite-detail-btn.is-loading{opacity:.55;pointer-events:none}

.tbg-favorite-detail-btn{gap:10px;align-items:center!important}
.tbg-favorite-detail-btn.is-favorite{border-color:#7250ff!important;background:rgba(77,36,255,.13)!important;color:#a98fff!important}
.tbg-favorite-detail-btn span{font-weight:900;font-size:.78rem;letter-spacing:.5px}

html.tbg-modal-open,html.tbg-modal-open body{overflow:hidden!important}
.tbg-favorites-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}
.tbg-favorites-modal.is-open{display:flex}
.tbg-favorites-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.tbg-favorites-modal-card{position:relative;z-index:1;width:min(520px,100%);padding:34px;border:1px solid rgba(125,94,255,.35);border-radius:24px;background:radial-gradient(circle at 80% 0%,rgba(77,36,255,.25),transparent 42%),linear-gradient(160deg,#13131b,#08080c);box-shadow:0 32px 90px rgba(0,0,0,.65);text-align:center;color:#fff}
.tbg-favorites-modal-close{position:absolute;top:14px;right:15px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#111218;color:#fff;font-size:1.4rem;cursor:pointer}
.tbg-favorites-modal-kicker{display:block;color:#8d72ff;font-size:.68rem;font-weight:900;letter-spacing:1.7px;margin-bottom:14px}
.tbg-favorites-modal-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#6e42ff,#4d24ff);box-shadow:0 20px 45px rgba(77,36,255,.32)}
.tbg-favorites-modal-icon svg{width:32px;height:32px;fill:transparent;stroke:#fff;stroke-width:1.8}
.tbg-favorites-modal-card h3{margin:0 0 12px;font-size:1.6rem;line-height:1.08;font-weight:900}
.tbg-favorites-modal-card p{margin:0 auto 22px;max-width:420px;color:#a1a1ae;font-size:.88rem;line-height:1.65}
.tbg-favorites-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tbg-favorites-modal-card small{display:block;margin-top:14px;color:#72727d;font-size:.7rem}
.tbg-favorite-toast{position:fixed;z-index:1000000;left:50%;bottom:28px;transform:translate(-50%,18px);opacity:0;pointer-events:none;min-width:260px;max-width:calc(100vw - 30px);padding:13px 18px;border:1px solid rgba(119,93,255,.45);border-radius:999px;background:#11121a;color:#fff;text-align:center;font-size:.76rem;font-weight:800;box-shadow:0 16px 40px rgba(0,0,0,.45);transition:.22s ease}
.tbg-favorite-toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* Dashboard */
.tbg-client-favorites-overview{margin:22px 0;padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(155deg,rgba(77,36,255,.08),rgba(255,255,255,.025))}
.tbg-client-favorites-overview .tbg-client-section-head>a{color:#9d87ff;font-size:.7rem;font-weight:900;letter-spacing:.8px;text-decoration:none}
.tbg-favorites-overview-grid,.tbg-favorites-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tbg-favorite-dashboard-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(180deg,#101117,#090a0e);transition:.22s ease}
.tbg-favorite-dashboard-card:hover{border-color:rgba(96,65,255,.45);transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.26)}
.tbg-favorite-dashboard-card.is-removing{opacity:0;transform:scale(.96)}
.tbg-favorite-card-media{position:relative;height:190px;background:#15161d;overflow:hidden}
.tbg-favorite-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.tbg-favorite-card-heart{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;padding:0}
.tbg-favorite-card-body{padding:18px}
.tbg-favorite-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.tbg-favorite-card-meta span{color:#8f78ff;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.tbg-favorite-card-meta em{font-style:normal;color:#777d8d;font-size:.6rem;font-weight:800;text-align:right}
.tbg-favorite-card-body h3{margin:0 0 7px;color:#fff;font-size:1rem;line-height:1.2;font-weight:900}
.tbg-favorite-card-body p{margin:0 0 15px;color:#838894;font-size:.72rem;line-height:1.5}
.tbg-favorite-card-price{display:block;color:#9c84ff;font-size:1.32rem;line-height:1;margin:12px 0 16px;font-weight:900}
.tbg-favorite-card-price .woocommerce-Price-amount,.tbg-favorite-card-price .woocommerce-Price-currencySymbol,.tbg-favorite-card-price bdi{display:inline!important;color:inherit!important}
.tbg-favorite-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.tbg-favorite-card-actions .tbg-btn-small{flex:1 1 auto;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer}
.tbg-favorite-dashboard-card.is-compact .tbg-favorite-card-media{height:135px}
.tbg-favorite-dashboard-card.is-compact .tbg-favorite-card-body{padding:14px}
.tbg-favorite-dashboard-card.is-compact .tbg-favorite-card-price{font-size:1.08rem;margin-bottom:0}
.tbg-favorites-overview-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;border:1px dashed rgba(116,91,255,.35);border-radius:18px;background:rgba(0,0,0,.16)}
.tbg-favorites-overview-empty>span{font-size:2rem;color:#8f75ff}
.tbg-favorites-overview-empty strong{color:#fff}.tbg-favorites-overview-empty p{margin:4px 0 0;color:#858894;font-size:.75rem}

.tbg-favorites-page-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;padding:28px;border:1px solid rgba(100,71,255,.32);border-radius:24px;background:radial-gradient(circle at 85% 10%,rgba(77,36,255,.30),transparent 42%),linear-gradient(145deg,#151522,#090a0f)}
.tbg-favorites-page-hero h2{margin:4px 0 8px;color:#fff;font-size:2rem;line-height:1;font-weight:900}.tbg-favorites-page-hero p{margin:0;max-width:700px;color:#9194a0;font-size:.82rem;line-height:1.6}
.tbg-favorites-page-count{flex:0 0 auto;min-width:160px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(0,0,0,.20);text-align:center}.tbg-favorites-page-count span{display:block;color:#8d76ff;font-size:.6rem;font-weight:900;letter-spacing:1px}.tbg-favorites-page-count strong{display:block;margin-top:9px;color:#fff;font-size:2.4rem;line-height:1;font-weight:900}
.tbg-favorites-empty-state{text-align:center;padding:55px 26px;border:1px dashed rgba(116,91,255,.35);border-radius:24px;background:rgba(255,255,255,.018)}
.tbg-favorites-empty-state[hidden]{display:none!important}.tbg-favorites-empty-icon{width:78px;height:78px;margin:0 auto 18px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:rgba(77,36,255,.16);color:#9b83ff;font-size:2.4rem}.tbg-favorites-empty-state h3{margin:8px 0;color:#fff;font-size:1.5rem}.tbg-favorites-empty-state p{max-width:520px;margin:0 auto 20px;color:#858996;line-height:1.6}

@media(max-width:980px){.tbg-favorites-overview-grid,.tbg-favorites-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
    .tbg-product-favorite-btn{top:27px;right:27px;width:44px;height:44px}
    .tbg-favorite-detail-btn{width:100%!important;min-height:52px!important}
    .tbg-favorites-modal{padding:14px}.tbg-favorites-modal-card{padding:30px 18px 20px;border-radius:22px}.tbg-favorites-modal-actions{grid-template-columns:1fr}.tbg-favorites-modal-actions .tbg-btn{width:100%!important}
    .tbg-favorite-toast{bottom:18px;border-radius:16px;width:calc(100% - 28px)}
    .tbg-client-favorites-overview{padding:17px;border-radius:20px}.tbg-client-favorites-overview .tbg-client-section-head{align-items:flex-start;gap:8px}
    .tbg-favorites-overview-grid,.tbg-favorites-dashboard-grid{grid-template-columns:1fr;gap:14px}
    .tbg-favorite-card-media{height:205px}.tbg-favorite-dashboard-card.is-compact .tbg-favorite-card-media{height:170px}
    .tbg-favorite-card-body h3{font-size:1.05rem}.tbg-favorite-card-price{font-size:1.45rem}
    .tbg-favorite-card-actions{display:grid;grid-template-columns:1fr}.tbg-favorite-card-actions .tbg-btn-small{width:100%;min-height:46px}
    .tbg-favorites-overview-empty{grid-template-columns:1fr;text-align:center}.tbg-favorites-overview-empty>a{width:100%}
    .tbg-favorites-page-hero{display:block;padding:22px 18px}.tbg-favorites-page-hero h2{font-size:1.65rem}.tbg-favorites-page-count{margin-top:18px;width:100%}
}

/* =========================================================
   TBG 2.8.20 — MODULO CONTATTI REALE
   ========================================================= */
.tbg-contact-form-alert{display:flex;flex-direction:column;gap:6px;margin:0 0 20px;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.08);font-size:.82rem;line-height:1.45}
.tbg-contact-form-alert strong{font-size:.88rem;color:#fff}.tbg-contact-form-alert span{color:#aeb1bd}
.tbg-contact-form-alert.is-success{border-color:rgba(41,212,126,.3);background:rgba(41,212,126,.08)}
.tbg-contact-form-alert.is-success strong{color:#7cf0ad}
.tbg-contact-form-alert.is-error{border-color:rgba(255,83,104,.34);background:rgba(255,83,104,.08)}
.tbg-contact-form-alert.is-error strong{color:#ff8b9a}
.tbg-contact-reference{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px;padding:13px 15px;border:1px solid rgba(111,76,255,.32);border-radius:12px;background:linear-gradient(135deg,rgba(91,44,255,.13),rgba(255,255,255,.015))}
.tbg-contact-reference span{color:#9d8cff;font-size:.64rem;font-weight:900;letter-spacing:1.1px}.tbg-contact-reference strong{color:#fff;font-size:.9rem}
.tbg-contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tbg-contact-privacy{display:flex;align-items:flex-start;gap:11px;margin:0 0 20px;padding:14px 15px;border:1px solid #26272f;border-radius:12px;background:#101116;color:#9da0ad;font-size:.72rem;line-height:1.55;cursor:pointer}
.tbg-contact-privacy input{flex:0 0 auto;width:19px;height:19px;margin:2px 0 0;accent-color:#5b2cff}.tbg-contact-privacy a{color:#8d74ff;font-weight:800;text-decoration:none}.tbg-contact-form-note{margin:12px 0 0!important;color:#717582!important;font-size:.67rem!important;text-align:center!important}
@media(max-width:620px){.tbg-contact-reference{align-items:flex-start;flex-direction:column;gap:5px}.tbg-contact-form-alert{padding:14px}.tbg-contact-privacy{font-size:.69rem}}

/* =====================================================
   RESI & ASSISTENZA POST-VENDITA
   ===================================================== */
.tbg-return-client-hero,.tbg-return-request-hero,.tbg-return-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px;border:1px solid rgba(126,88,255,.24);border-radius:24px;background:linear-gradient(135deg,rgba(84,44,255,.12),rgba(255,255,255,.02));margin-bottom:22px}.tbg-return-client-hero h2,.tbg-return-request-hero h2,.tbg-return-detail-hero h2{margin:7px 0 8px;color:#fff;font-size:2.15rem;line-height:1.05;text-transform:uppercase}.tbg-return-client-hero p,.tbg-return-request-hero p,.tbg-return-detail-hero p{margin:0;color:#9296a5;line-height:1.65}.tbg-return-client-list{display:grid;gap:14px}.tbg-return-client-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px 22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0d0e13;text-decoration:none;transition:.2s ease}.tbg-return-client-card:hover{border-color:rgba(111,76,255,.4);transform:translateY(-1px)}.tbg-return-client-main h3{margin:6px 0;color:#fff;font-size:1.15rem}.tbg-return-client-main p{margin:0;color:#858a99;font-size:.78rem}.tbg-return-client-status{display:inline-flex;flex-direction:column;gap:4px;min-width:150px;padding:11px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#15161d}.tbg-return-client-status span{color:#858a99;font-size:.62rem;font-weight:900;letter-spacing:.9px}.tbg-return-client-status strong{color:#fff;font-size:.78rem;text-transform:uppercase}.tbg-return-client-status.is-new,.tbg-return-client-status.is-review{border-color:rgba(111,76,255,.45);background:rgba(91,44,255,.12)}.tbg-return-client-status.is-info,.tbg-return-client-status.is-waiting{border-color:rgba(255,181,70,.36);background:rgba(255,181,70,.08)}.tbg-return-client-status.is-approved,.tbg-return-client-status.is-received,.tbg-return-client-status.is-done{border-color:rgba(67,220,135,.32);background:rgba(67,220,135,.08)}.tbg-return-client-status.is-refund,.tbg-return-client-status.is-replace,.tbg-return-client-status.is-repair{border-color:rgba(90,148,255,.34);background:rgba(90,148,255,.08)}.tbg-return-client-status.is-rejected{border-color:rgba(255,88,107,.34);background:rgba(255,88,107,.08)}
.tbg-return-request-form{display:grid;gap:18px}.tbg-return-request-section{padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#0d0e13}.tbg-return-request-section>h3{margin:7px 0 20px;color:#fff;font-size:1.35rem}.tbg-return-form-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.tbg-return-request-form label>span,.tbg-return-text-label>span{display:block;margin-bottom:8px;color:#aaaebe;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.tbg-return-request-form select,.tbg-return-request-form input[type=number],.tbg-return-request-form textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#08090d;color:#fff;padding:14px 15px;outline:none}.tbg-return-request-form select:focus,.tbg-return-request-form input[type=number]:focus,.tbg-return-request-form textarea:focus{border-color:rgba(111,76,255,.65);box-shadow:0 0 0 3px rgba(111,76,255,.12)}.tbg-return-policy-notice{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:14px 16px;border:1px solid rgba(111,76,255,.22);border-radius:14px;background:rgba(84,44,255,.08)}.tbg-return-policy-notice strong{color:#fff;font-size:.78rem}.tbg-return-policy-notice span{color:#8e93a2;font-size:.72rem;line-height:1.55}.tbg-return-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tbg-return-reason-option{position:relative;display:flex!important;gap:12px;align-items:flex-start;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:#090a0f;cursor:pointer;transition:.18s ease}.tbg-return-reason-option:hover{border-color:rgba(111,76,255,.38)}.tbg-return-reason-option input{margin-top:3px;accent-color:#6d49ff}.tbg-return-reason-option strong{display:block;color:#fff;font-size:.82rem}.tbg-return-reason-option small{display:block;margin-top:4px;color:#7e8392;font-size:.67rem;line-height:1.45}.tbg-return-reason-option.is-disabled{opacity:.4;cursor:not-allowed}.tbg-return-text-label{display:block}.tbg-return-upload-zone{position:relative;display:flex;align-items:center;justify-content:center;min-height:160px;margin-top:16px;border:1px dashed rgba(126,88,255,.45);border-radius:18px;background:rgba(84,44,255,.05);text-align:center;transition:.18s ease}.tbg-return-upload-zone.is-drag{border-color:#7d5cff;background:rgba(84,44,255,.12)}.tbg-return-upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.tbg-return-upload-zone strong{display:block;color:#fff;font-size:.86rem}.tbg-return-upload-zone span{display:block;margin-top:6px;color:#808594;font-size:.7rem}.tbg-return-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.tbg-return-preview div{aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:#090a0e}.tbg-return-preview img{width:100%;height:100%;object-fit:cover}.tbg-return-request-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid rgba(111,76,255,.25);border-radius:18px;background:linear-gradient(135deg,rgba(84,44,255,.1),rgba(255,255,255,.015))}.tbg-return-request-submit strong{display:block;color:#fff}.tbg-return-request-submit p{margin:5px 0 0;color:#888d9c;font-size:.75rem;line-height:1.55}
.tbg-return-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:20px}.tbg-return-detail-main{display:grid;gap:18px}.tbg-return-detail-card,.tbg-return-summary-card,.tbg-return-instructions-card,.tbg-return-refund-card{padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0d0e13}.tbg-return-detail-card>p{color:#b9bdc8;line-height:1.7}.tbg-return-detail-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}.tbg-return-detail-data div{padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#090a0e}.tbg-return-detail-data dt{color:#727786;font-size:.62rem;font-weight:900;text-transform:uppercase}.tbg-return-detail-data dd{margin:5px 0 0;color:#fff;font-size:.78rem;font-weight:800}.tbg-return-client-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tbg-return-client-photos a{aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.tbg-return-client-photos img{width:100%;height:100%;object-fit:cover}.tbg-return-client-history{display:grid;gap:0}.tbg-return-client-history article{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:0 0 18px;position:relative}.tbg-return-client-history article:before{content:"";position:absolute;left:5px;top:12px;bottom:-2px;width:1px;background:rgba(255,255,255,.09)}.tbg-return-client-history article:last-child:before{display:none}.tbg-return-client-history article>span{width:11px;height:11px;border-radius:50%;background:#6d49ff;box-shadow:0 0 0 4px rgba(111,76,255,.1)}.tbg-return-client-history strong{display:block;color:#fff;font-size:.8rem}.tbg-return-client-history small{display:block;margin-top:3px;color:#6f7482;font-size:.65rem}.tbg-return-client-history p{margin:7px 0 0;color:#a5a9b6;font-size:.75rem;line-height:1.55}.tbg-return-detail-side{display:flex;flex-direction:column;gap:14px}.tbg-return-summary-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.tbg-return-summary-card>div:last-child{border-bottom:0}.tbg-return-summary-card>div span{color:#7d8290;font-size:.67rem}.tbg-return-summary-card>div strong{color:#fff;font-size:.72rem;text-align:right}.tbg-return-instructions-card h3{margin:7px 0 8px;color:#fff}.tbg-return-instructions-card p{margin:0;color:#aaaeba;line-height:1.65;font-size:.76rem}.tbg-return-refund-card{border-color:rgba(67,220,135,.25);background:rgba(67,220,135,.06)}.tbg-return-refund-card>strong{display:block;margin-top:8px;color:#72e7a9;font-size:1.65rem}.tbg-return-refund-card small{color:#8a909d}.tbg-return-side-btn{width:100%;text-align:center}.tbg-order-return-overview{margin-top:20px;padding:20px;border:1px solid rgba(111,76,255,.2);border-radius:18px;background:rgba(84,44,255,.05)}.tbg-order-return-list{display:grid;gap:9px}.tbg-order-return-list>a{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#0a0b0f;text-decoration:none}.tbg-order-return-list>a div strong,.tbg-order-return-list>a div span{display:block}.tbg-order-return-list>a div strong{color:#fff}.tbg-order-return-list>a div span{margin-top:3px;color:#858a99;font-size:.7rem}.tbg-order-summary-actions .is-return{border-color:rgba(126,88,255,.45)}
@media(max-width:980px){.tbg-return-detail-grid{grid-template-columns:1fr}.tbg-return-form-grid{grid-template-columns:1fr}.tbg-return-reason-grid{grid-template-columns:1fr}.tbg-return-detail-data{grid-template-columns:1fr 1fr}.tbg-return-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.tbg-return-client-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.tbg-return-client-hero,.tbg-return-request-hero,.tbg-return-detail-hero{flex-direction:column;padding:20px;border-radius:18px}.tbg-return-client-hero h2,.tbg-return-request-hero h2,.tbg-return-detail-hero h2{font-size:1.65rem}.tbg-return-client-card{grid-template-columns:1fr;padding:16px}.tbg-return-client-status{width:100%}.tbg-return-request-section{padding:18px}.tbg-return-detail-data{grid-template-columns:1fr}.tbg-return-preview,.tbg-return-client-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.tbg-return-request-submit{flex-direction:column;align-items:stretch}.tbg-return-request-submit .tbg-btn{width:100%;text-align:center}.tbg-order-return-list>a{grid-template-columns:1fr}.tbg-return-client-status{min-width:0}}
.tbg-client-dashboard-alert.is-warning{border-color:rgba(255,183,75,.36);background:rgba(255,183,75,.08);color:#ffe0aa}
.tbg-return-existing-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:#8b909e;font-size:.7rem}.tbg-return-existing-note strong{color:#fff}.tbg-return-existing-note a{display:inline-flex;padding:6px 9px;border:1px solid rgba(111,76,255,.24);border-radius:999px;color:#b5a9ff;text-decoration:none;background:rgba(84,44,255,.07)}

/* =====================================================
   RMA 2.8.25 — Upload foto intelligente
   ===================================================== */
.tbg-return-upload-zone{min-height:190px;overflow:hidden}.tbg-return-upload-zone.is-processing{pointer-events:none;border-color:#7d5cff;background:rgba(84,44,255,.12)}.tbg-return-upload-zone.is-processing:after{content:"Ottimizzazione in corso…";position:absolute;inset:auto 18px 14px;z-index:2;padding:8px 11px;border:1px solid rgba(125,92,255,.35);border-radius:999px;background:#111019;color:#b9abff;font-size:.68rem;font-weight:900;letter-spacing:.5px}.tbg-return-upload-copy{display:flex;max-width:620px;flex-direction:column;align-items:center;gap:4px;padding:26px 22px}.tbg-return-upload-icon{display:grid!important;width:44px;height:44px;margin:0 0 7px!important;place-items:center;border:1px solid rgba(125,92,255,.42);border-radius:14px;background:rgba(91,44,255,.14);color:#9f8aff!important;font-size:1.6rem!important;line-height:1}.tbg-return-upload-copy small{display:block;margin-top:5px;color:#666d7d;font-size:.66rem;line-height:1.45}.tbg-return-upload-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 13px;border:1px solid rgba(79,220,146,.2);border-radius:12px;background:rgba(42,160,101,.06)}.tbg-return-upload-summary[hidden]{display:none}.tbg-return-upload-summary strong{color:#76e7aa;font-size:.72rem}.tbg-return-upload-summary span{color:#8b919f;font-size:.66rem}.tbg-return-upload-errors{margin-top:12px;padding:13px 15px;border:1px solid rgba(255,92,105,.28);border-radius:13px;background:rgba(145,28,40,.09)}.tbg-return-upload-errors[hidden]{display:none}.tbg-return-upload-errors>strong{display:block;margin-bottom:7px;color:#ff9aa3;font-size:.72rem}.tbg-return-upload-errors ul{margin:0;padding-left:18px;color:#c5a4a8;font-size:.68rem;line-height:1.55}.tbg-return-preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tbg-return-preview .tbg-return-preview-card{display:flex;aspect-ratio:auto;min-width:0;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:#090a0e}.tbg-return-preview .tbg-return-preview-image{position:relative;aspect-ratio:1;border:0;border-radius:0;overflow:hidden;background:#08090d}.tbg-return-preview .tbg-return-preview-image img{display:block;width:100%;height:100%;object-fit:cover}.tbg-return-preview .tbg-return-preview-remove{position:absolute;top:7px;right:7px;z-index:2;display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(5,6,9,.82);color:#fff;font-size:1.05rem;line-height:1;cursor:pointer}.tbg-return-preview .tbg-return-preview-remove:hover{border-color:rgba(255,99,112,.55);background:#351015;color:#ff9ca5}.tbg-return-preview .tbg-return-preview-meta{display:flex;aspect-ratio:auto;min-height:64px;flex-direction:column;justify-content:center;gap:4px;padding:9px 10px;border:0;border-top:1px solid rgba(255,255,255,.055);border-radius:0;overflow:visible;background:#0c0d12}.tbg-return-preview-meta strong{overflow:hidden;color:#fff;font-size:.66rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.tbg-return-preview-meta span{color:#7fe1ac;font-size:.59rem;line-height:1.35}.tbg-return-request-feedback{margin:0 0 18px;padding:17px 18px;border:1px solid rgba(255,92,105,.28);border-radius:16px;background:linear-gradient(135deg,rgba(139,27,39,.12),rgba(255,255,255,.012))}.tbg-return-request-feedback>div{display:flex;flex-direction:column;gap:3px}.tbg-return-request-feedback>div strong{color:#fff;font-size:.84rem}.tbg-return-request-feedback>div span{color:#9e8f94;font-size:.69rem}.tbg-return-request-feedback ul{margin:12px 0 0;padding:11px 14px 11px 31px;border-radius:11px;font-size:.68rem;line-height:1.55}.tbg-return-request-feedback ul.is-error{background:rgba(255,84,98,.07);color:#eab4b8}.tbg-return-request-feedback ul.is-warning{background:rgba(255,190,82,.06);color:#d7c29e}.tbg-return-upload-result{display:grid;gap:10px}.tbg-return-feedback-list{padding:13px 15px;border-radius:12px}.tbg-return-feedback-list strong{display:block;margin-bottom:6px;color:#fff;font-size:.72rem}.tbg-return-feedback-list ul{margin:0;padding-left:18px;font-size:.67rem;line-height:1.55}.tbg-return-feedback-list.is-error{border:1px solid rgba(255,92,105,.22);background:rgba(145,28,40,.07);color:#daa9ad}.tbg-return-feedback-list.is-warning{border:1px solid rgba(255,190,82,.18);background:rgba(154,105,27,.06);color:#ceb994}.tbg-return-request-submit button:disabled{cursor:wait;opacity:.68}
@media(max-width:980px){.tbg-return-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.tbg-return-upload-zone{min-height:170px}.tbg-return-upload-copy{padding:22px 16px}.tbg-return-upload-summary{align-items:flex-start;flex-direction:column;gap:3px}.tbg-return-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tbg-return-preview .tbg-return-preview-meta{min-height:58px;padding:8px}.tbg-return-preview-meta strong{font-size:.62rem}.tbg-return-preview-meta span{font-size:.56rem}}

/* =====================================================
   RMA 2.8.26 — Fix caricamento asset / anteprima
   ===================================================== */
.tbg-return-upload-summary:empty,.tbg-return-upload-errors:empty{display:none!important}
.tbg-return-preview:empty{display:none}
.tbg-return-preview:not(:empty){margin-top:14px}

/* =====================================================
   RMA · LOGISTICA RIENTRO CLIENTE · FASE 1
   ===================================================== */
.tbg-return-client-logistics{border-color:rgba(111,76,255,.2);background:linear-gradient(145deg,rgba(83,44,255,.06),#0d0e13 42%)}
.tbg-return-logistics-chip{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid rgba(126,88,255,.32);border-radius:999px;background:rgba(112,76,255,.08);color:#b8aaff;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.55px}
.tbg-return-logistics-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.tbg-return-logistics-client-grid>div{padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#090a0e}
.tbg-return-logistics-client-grid span{display:block;color:#747987;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.65px}
.tbg-return-logistics-client-grid strong{display:block;margin-top:5px;color:#fff;font-size:.8rem}
.tbg-return-logistics-client-note,.tbg-return-logistics-client-address,.tbg-return-logistics-packages-client{margin-top:12px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:#090a0e}
.tbg-return-logistics-client-note strong,.tbg-return-logistics-client-address strong,.tbg-return-logistics-packages-client>strong{display:block;color:#a392ff;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.tbg-return-logistics-client-note p,.tbg-return-logistics-client-address p{margin:7px 0 0;color:#b4b8c3;font-size:.76rem;line-height:1.65}
.tbg-return-logistics-packages-client>div{display:grid;gap:6px;margin-top:9px}
.tbg-return-logistics-packages-client span{display:block;padding:8px 10px;border-radius:9px;background:#0d0e13;color:#9095a4;font-size:.69rem}
.tbg-return-logistics-packages-client b{color:#fff}
.tbg-return-track-btn{display:inline-flex;margin-top:12px;width:auto!important}
.tbg-return-customer-tracking-form{display:grid;gap:12px;margin-top:15px;padding:16px;border:1px solid rgba(74,201,137,.2);border-radius:14px;background:rgba(74,201,137,.045)}
.tbg-return-customer-tracking-form>div:first-child strong{display:block;color:#fff;font-size:.88rem}
.tbg-return-customer-tracking-form>div:first-child small{display:block;margin-top:4px;color:#7e8492;font-size:.68rem;line-height:1.5}
.tbg-return-customer-tracking-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tbg-return-customer-tracking-grid .wide{grid-column:1/-1}
.tbg-return-customer-tracking-grid label{display:flex;flex-direction:column;gap:6px;color:#878c9a;font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.tbg-return-customer-tracking-grid input{width:100%;min-height:48px;padding:0 13px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#090a0e;color:#fff;outline:none}
.tbg-return-customer-tracking-grid input:focus{border-color:rgba(112,76,255,.55);box-shadow:0 0 0 3px rgba(112,76,255,.09)}
.tbg-return-customer-tracking-form .tbg-btn{justify-self:start}
@media(max-width:680px){.tbg-return-logistics-client-grid,.tbg-return-customer-tracking-grid{grid-template-columns:1fr}.tbg-return-customer-tracking-grid .wide{grid-column:auto}.tbg-return-customer-tracking-form .tbg-btn,.tbg-return-track-btn{width:100%!important;justify-content:center;text-align:center}}

/* TBG 2.8.32 — etichetta reso cliente */
.tbg-return-label-ready{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:16px;border:1px solid rgba(67,220,135,.24);border-radius:15px;background:linear-gradient(135deg,rgba(46,187,117,.08),rgba(91,44,255,.05))}.tbg-return-label-ready>div{min-width:0}.tbg-return-label-ready strong,.tbg-return-label-ready small{display:block}.tbg-return-label-ready strong{margin-top:5px;color:#fff;font-size:.9rem}.tbg-return-label-ready small{margin-top:4px;color:#8e95a3;font-size:.7rem;line-height:1.5}.tbg-return-label-ready .tbg-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:680px){.tbg-return-label-ready{align-items:stretch;flex-direction:column}.tbg-return-label-ready .tbg-btn{width:100%;text-align:center;justify-content:center}}


/* =====================================================
   TBG 2.8.42 - CUSTOM PROJECT / TITANIO PROSSIMAMENTE
   ===================================================== */
.tbg-custom-material-notice{
    display:grid;gap:5px;margin:0 0 18px;padding:16px 18px;
    border:1px solid rgba(126,92,255,.28);border-radius:14px;
    background:linear-gradient(135deg,rgba(91,52,255,.12),rgba(255,255,255,.018));
}
.tbg-custom-material-notice>span{color:#8d72ff;font-size:.68rem;font-weight:900;letter-spacing:1.25px;text-transform:uppercase}
.tbg-custom-material-notice>strong{color:#fff;font-size:.98rem;font-weight:900}
.tbg-custom-material-notice>p{margin:0!important;color:#9ca1b1!important;font-size:.78rem!important;line-height:1.55!important}
#step-3 .tbg-radio-grid-2{align-items:stretch}
#step-3 .tbg-radio-card{position:relative;min-width:0;overflow:hidden;text-align:left}
#step-3 .tbg-radio-card .tbg-material-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#step-3 .tbg-radio-card .tbg-material-header h4{margin:0}
#step-3 .tbg-radio-card>p{margin:0;color:#a7abba;font-size:.8rem;line-height:1.55}
.tbg-material-coming-soon{
    cursor:default!important;border-color:rgba(255,255,255,.09)!important;
    background:linear-gradient(145deg,#0b0c11,rgba(84,64,134,.07))!important;
    opacity:.78;
}
.tbg-material-coming-soon:hover{border-color:rgba(255,255,255,.12)!important;transform:none!important;box-shadow:none!important}
.tbg-material-coming-soon::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.025) 50%,transparent 75%);
}
.tbg-material-coming-soon .tbg-material-header h4{color:#b6a9ea!important}
.tbg-coming-soon-badge,.tbg-material-available-badge{
    display:inline-flex;align-items:center;width:max-content;margin-bottom:14px;padding:6px 9px;
    border-radius:999px;font-size:.61rem;font-weight:950;letter-spacing:.8px;text-transform:uppercase;
}
.tbg-coming-soon-badge{border:1px solid rgba(173,154,255,.22);background:rgba(109,78,222,.1);color:#b7a7ff}
.tbg-material-available-badge{border:1px solid rgba(65,219,144,.25);background:rgba(65,219,144,.08);color:#74e3ad}
.tbg-coming-soon-lock,.tbg-material-select-hint{
    display:flex;align-items:center;gap:8px;margin-top:17px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07)
}
.tbg-coming-soon-lock span{color:#b1a4e8;font-size:.7rem;font-weight:900;letter-spacing:.65px}
.tbg-coming-soon-lock small{color:#717687;font-size:.69rem}
.tbg-material-select-hint span{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:rgba(63,218,144,.11);color:#63dc9f;font-weight:900}
.tbg-material-select-hint strong{color:#8fe7bb;font-size:.72rem;font-weight:850}
.tbg-material-available{border-color:rgba(93,64,255,.56)!important;background:linear-gradient(145deg,rgba(83,47,255,.11),#0a0a0c)!important}
.tbg-custom-submit-message.is-warning{border-color:rgba(238,180,62,.3);background:rgba(238,180,62,.07)}
.tbg-custom-submit-message.is-warning .tbg-custom-submit-icon{background:rgba(238,180,62,.14);color:#ffd277}
@media(max-width:720px){
    .tbg-custom-material-notice{padding:14px 15px}
    #step-3 .tbg-radio-card{padding:20px 17px}
    .tbg-coming-soon-lock,.tbg-material-select-hint{flex-wrap:wrap}
}

/* =========================================================
   TBG 2.8.43 - PRODUCT VIDEO SHOWCASE
   ========================================================= */
.tbg-product-video-showcase{width:min(1500px,90%);margin:42px auto 74px;padding:28px;border:1px solid rgba(104,72,255,.24);border-radius:22px;background:radial-gradient(circle at 88% 0%,rgba(86,46,255,.18),transparent 34%),linear-gradient(145deg,#101016,#08090d);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.tbg-product-video-showcase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.07)}
.tbg-product-video-showcase-head>div>span{display:block;margin-bottom:7px;color:#8068ff;font-size:.72rem;font-weight:900;letter-spacing:2.2px}
.tbg-product-video-showcase-head h2{margin:0;color:#fff;font-size:clamp(1.8rem,3vw,3rem);line-height:1;font-weight:900;text-transform:uppercase}
.tbg-product-video-showcase-head p{max-width:700px;margin:10px 0 0;color:#969bab;font-size:.88rem;line-height:1.6}
.tbg-product-video-showcase-head>strong{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(113,80,255,.28);border-radius:999px;background:rgba(91,53,255,.10);color:#a997ff;font-size:.7rem;letter-spacing:1px}
.tbg-product-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tbg-product-video-grid.is-single{grid-template-columns:minmax(0,1fr)}
.tbg-product-video-card{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#08090d;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.tbg-product-video-card:hover{transform:translateY(-2px);border-color:rgba(105,75,255,.34);box-shadow:0 20px 52px rgba(0,0,0,.28)}
.tbg-product-video-card.is-featured:first-child:nth-last-child(n+3){grid-column:1/-1}
.tbg-product-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#030304}
.tbg-product-video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#030304}
.tbg-product-video-sound-badge{position:absolute;z-index:2;right:12px;top:12px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(7,8,12,.72);backdrop-filter:blur(8px);color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.8px;pointer-events:none}
.tbg-product-video-copy{padding:16px 17px 18px}
.tbg-product-video-copy>span{display:block;margin-bottom:5px;color:#8067ff;font-size:.66rem;font-weight:900;letter-spacing:1.5px}
.tbg-product-video-copy h3{margin:0;color:#fff;font-size:1rem;line-height:1.35;font-weight:900}
.tbg-product-video-copy small{display:block;margin-top:7px;color:#707687;font-size:.7rem;font-weight:700}
@media(max-width:900px){.tbg-product-video-showcase{width:92%;margin:30px auto 52px;padding:20px}.tbg-product-video-showcase-head{flex-direction:column}.tbg-product-video-grid{grid-template-columns:1fr}.tbg-product-video-card.is-featured:first-child:nth-last-child(n+3){grid-column:auto}}
@media(max-width:600px){.tbg-product-video-showcase{width:calc(100% - 28px);padding:14px;border-radius:17px}.tbg-product-video-showcase-head{margin-bottom:14px;padding:4px 2px 16px}.tbg-product-video-showcase-head h2{font-size:1.8rem}.tbg-product-video-showcase-head p{font-size:.78rem}.tbg-product-video-card{border-radius:14px}.tbg-product-video-copy{padding:13px}.tbg-product-video-sound-badge{right:8px;top:8px;font-size:.56rem}}

/* =========================================================
   TBG EMAIL VERIFICATION 2.8.57
   Dashboard / checkout / preventivi
   ========================================================= */
.tbg-email-verification-banner {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) minmax(230px,320px);
    gap: 18px;
    align-items: center;
    width: 100%;
    margin: 20px 0;
    padding: 20px 22px;
    overflow: visible;
    border: 1px solid rgba(255,177,66,.26);
    border-radius: 20px;
    background:
        radial-gradient(circle at 4% 20%, rgba(255,177,66,.16), transparent 28%),
        radial-gradient(circle at 92% 10%, rgba(77,36,255,.16), transparent 30%),
        linear-gradient(135deg, rgba(20,16,13,.98), rgba(9,9,14,.99));
    box-shadow: 0 22px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035);
}
.tbg-email-verification-banner.is-pending-change {
    border-color: rgba(122,92,255,.32);
    background:
        radial-gradient(circle at 5% 20%, rgba(77,36,255,.20), transparent 30%),
        linear-gradient(135deg, rgba(15,13,24,.99), rgba(8,9,13,.99));
}
.tbg-email-verification-icon {
    display:flex;
    width:58px;
    height:58px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,177,66,.32);
    border-radius:18px;
    background:rgba(255,177,66,.09);
    box-shadow:0 0 30px rgba(255,177,66,.08);
}
.tbg-email-verification-icon span {
    display:flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#ffb142;
    color:#0a0a0d;
    font-size:1rem;
    line-height:1;
    font-weight:950;
}
.is-pending-change .tbg-email-verification-icon { border-color:rgba(122,92,255,.4);background:rgba(77,36,255,.12); }
.is-pending-change .tbg-email-verification-icon span { background:#6a48ff;color:#fff; }
.tbg-email-verification-main { min-width:0; }
.tbg-email-verification-kicker {
    display:block;
    margin-bottom:5px;
    color:#ffbf63;
    font-size:.65rem;
    font-weight:950;
    letter-spacing:1.5px;
}
.is-pending-change .tbg-email-verification-kicker { color:#9d8aff; }
.tbg-email-verification-main h3 {
    margin:0 0 7px!important;
    color:#fff!important;
    font-size:1.15rem!important;
    line-height:1.15!important;
    font-weight:950!important;
    text-transform:uppercase;
    letter-spacing:-.3px;
}
.tbg-email-verification-main p {
    max-width:760px;
    margin:0!important;
    color:#a1a1ad!important;
    font-size:.82rem!important;
    line-height:1.55!important;
    font-weight:650;
}
.tbg-email-verification-target {
    display:inline-flex;
    align-items:center;
    gap:9px;
    max-width:100%;
    margin-top:11px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:10px;
    background:rgba(255,255,255,.035);
}
.tbg-email-verification-target small {
    color:#6f717e;
    font-size:.58rem;
    font-weight:950;
    letter-spacing:.8px;
    white-space:nowrap;
}
.tbg-email-verification-target strong {
    overflow:hidden;
    color:#fff;
    font-size:.75rem;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.tbg-email-verification-current { margin-top:8px;color:#777b88;font-size:.68rem;font-weight:700; }
.tbg-email-verification-current strong { color:#b8bbc5; }
.tbg-email-verification-actions {
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:9px;
    align-items:stretch;
}
.tbg-email-verification-actions>form { margin:0; }
.tbg-email-verification-actions .tbg-btn { width:100%;min-height:42px;justify-content:center;padding:11px 15px;font-size:.68rem; }
.tbg-email-change-details {
    position:relative;
    width:100%;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:rgba(255,255,255,.025);
}
.tbg-email-change-details>summary {
    display:flex;
    min-height:40px;
    align-items:center;
    justify-content:center;
    padding:10px 13px;
    color:#a7a9b4;
    cursor:pointer;
    list-style:none;
    font-size:.65rem;
    font-weight:900;
    letter-spacing:.5px;
    text-align:center;
    user-select:none;
}
.tbg-email-change-details>summary::-webkit-details-marker { display:none; }
.tbg-email-change-details[open]>summary { border-bottom:1px solid rgba(255,255,255,.07);color:#fff; }
.tbg-email-change-form { display:grid;gap:10px;padding:12px; }
.tbg-email-change-form label { display:grid;gap:6px; }
.tbg-email-change-form label>span { color:#777c89;font-size:.6rem;font-weight:900;letter-spacing:.5px;text-transform:uppercase; }
.tbg-email-change-form input {
    width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:10px!important;
    outline:0!important;
    background:#07080c!important;
    color:#fff!important;
    box-shadow:none!important;
    font:700 .75rem 'Montserrat',sans-serif!important;
}
.tbg-email-change-form input:focus { border-color:rgba(122,92,255,.55)!important;box-shadow:0 0 0 3px rgba(77,36,255,.10)!important; }
.tbg-email-change-form>small { color:#676b77;font-size:.59rem;line-height:1.45;font-weight:650; }
.tbg-account-pill.is-verified { border-color:rgba(83,219,132,.25)!important;background:rgba(83,219,132,.08)!important;color:#7ee6a2!important; }
.tbg-account-pill.is-unverified { border-color:rgba(255,177,66,.26)!important;background:rgba(255,177,66,.08)!important;color:#ffc46d!important; }
.tbg-email-locked-action { text-decoration:none; }
.tbg-checkout-submit.is-email-locked { opacity:.58!important;cursor:not-allowed!important;filter:saturate(.75); }
.tbg-email-verification-lock-card { margin-top:18px; }

@media (max-width: 980px) {
    .tbg-email-verification-banner { grid-template-columns:52px minmax(0,1fr); }
    .tbg-email-verification-icon { width:52px;height:52px; }
    .tbg-email-verification-actions { grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr; }
    .tbg-email-change-details { min-width:0; }
}
@media (max-width: 650px) {
    .tbg-email-verification-banner { grid-template-columns:1fr;padding:17px;border-radius:17px;gap:13px; }
    .tbg-email-verification-icon { width:46px;height:46px;border-radius:14px; }
    .tbg-email-verification-main h3 { font-size:1rem!important; }
    .tbg-email-verification-main p { font-size:.76rem!important; }
    .tbg-email-verification-target { display:flex;align-items:flex-start;flex-direction:column;gap:4px; }
    .tbg-email-verification-target strong { max-width:100%;white-space:normal;word-break:break-word; }
    .tbg-email-verification-actions { grid-column:auto;display:flex; }
}


/* =========================================================
   TBG 2.8.59 - Validazione telefono italiano
   ========================================================= */
input[type="tel"].is-tbg-phone-invalid{border-color:#ff5b69!important;box-shadow:0 0 0 3px rgba(255,91,105,.10)!important}
.tbg-phone-field-error{display:block!important;margin-top:7px!important;color:#ff8d98!important;font-size:11px!important;font-weight:700!important;line-height:1.45!important;text-transform:none!important;letter-spacing:0!important}


/* TBG 2.8.61 - Abandoned cart recovery */
.tbg-cart-recovery-notice{display:flex;align-items:flex-start;gap:8px;flex-direction:column;margin:0 auto 28px;max-width:1180px;padding:16px 18px;border:1px solid rgba(122,92,255,.28);border-radius:14px;background:rgba(91,44,255,.08);color:#c8c3dc}.tbg-cart-recovery-notice strong{color:#fff;font-size:14px;font-weight:900;letter-spacing:.1px}.tbg-cart-recovery-notice span{font-size:12px;line-height:1.55}.tbg-cart-recovery-notice.is-ok{border-color:rgba(67,215,125,.25);background:rgba(67,215,125,.07)}.tbg-cart-recovery-notice.is-bad{border-color:rgba(255,82,104,.28);background:rgba(255,82,104,.07)}.tbg-cart-recovery-notice.is-info{border-color:rgba(122,92,255,.28);background:rgba(91,44,255,.08)}


/* =========================================================
   TBG 2.8.64 — CLIENT NOTIFICATION CENTER
   ========================================================= */
.tbg-notification-bell{position:relative;display:block}.tbg-notification-bell>summary{list-style:none}.tbg-notification-bell>summary::-webkit-details-marker{display:none}.tbg-notification-count{position:absolute;top:-9px;right:-11px;display:flex;min-width:19px;height:19px;align-items:center;justify-content:center;padding:0 5px;border:2px solid #030303;border-radius:999px;background:#6b49ff;color:#fff;font-size:9px;font-weight:900;line-height:1}.tbg-notification-popover{position:absolute;top:38px;right:-8px;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#0c0d12;box-shadow:0 24px 70px rgba(0,0,0,.58);z-index:5000}.tbg-notification-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(135deg,rgba(77,36,255,.13),rgba(255,255,255,.015))}.tbg-notification-popover-head span{display:block;color:#816dff;font-size:8px;font-weight:900;letter-spacing:1.1px}.tbg-notification-popover-head strong{display:block;margin-top:3px;color:#fff;font-size:12px}.tbg-notification-popover-head>a{color:#9f90ff;text-decoration:none;font-size:8px;font-weight:900;letter-spacing:.7px}.tbg-notification-popover-list{max-height:410px;overflow:auto}.tbg-notification-mini{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.055);color:inherit;text-decoration:none;transition:.18s}.tbg-notification-mini:hover{background:rgba(122,92,255,.06)}.tbg-notification-mini.is-unread{background:linear-gradient(90deg,rgba(91,58,255,.09),transparent)}.tbg-notification-mini-icon{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(122,92,255,.18);border-radius:11px;background:rgba(122,92,255,.08);color:#9b87ff;font-size:13px;font-weight:900}.tbg-notification-mini>span:last-child{min-width:0}.tbg-notification-mini b{display:block;color:#f4f5f8;font-size:10px;font-weight:900}.tbg-notification-mini small{display:block;margin-top:3px;color:#858b98;font-size:8px;line-height:1.45}.tbg-notification-mini em{display:block;margin-top:5px;color:#565d69;font-size:7px;font-style:normal;font-weight:700}.tbg-notification-popover-empty{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;padding:20px;color:#777e8b;text-align:center}.tbg-notification-popover-empty>span{display:flex;width:38px;height:38px;align-items:center;justify-content:center;margin-bottom:8px;border-radius:50%;background:rgba(61,211,121,.08);color:#74e39d;font-weight:900}.tbg-notification-popover-empty strong{color:#e6e8ed;font-size:11px}.tbg-notification-popover-empty small{margin-top:4px;font-size:8px}.tbg-client-nav-badge{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;margin-left:7px;padding:0 5px;border-radius:999px;background:#6546ff;color:#fff;font-size:8px;font-weight:900;vertical-align:middle}.tbg-notifications-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 30px;border:1px solid rgba(122,92,255,.18);border-radius:24px;background:radial-gradient(circle at 92% 4%,rgba(84,42,255,.22),transparent 38%),linear-gradient(145deg,#111118,#090a0e)}.tbg-notifications-hero h2{margin:7px 0 8px;color:#fff;font-size:2rem;font-weight:900}.tbg-notifications-hero p{max-width:720px;margin:0;color:#9298a5;font-size:.9rem;line-height:1.65}.tbg-notifications-hero-count{display:flex;min-width:128px;min-height:104px;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:19px;background:#090a0f}.tbg-notifications-hero-count span{color:#7465c3;font-size:.65rem;font-weight:900;letter-spacing:1px}.tbg-notifications-hero-count strong{margin-top:7px;color:#fff;font-size:2rem;font-weight:900}.tbg-notifications-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 12px;padding:0 4px}.tbg-notifications-toolbar>div{display:flex;align-items:baseline;gap:7px}.tbg-notifications-toolbar>div strong{color:#fff;font-size:1.2rem}.tbg-notifications-toolbar>div span{color:#777e8b;font-size:.75rem}.tbg-notifications-toolbar form{margin:0}.tbg-notifications-center{margin-bottom:28px}.tbg-notifications-list{display:grid;gap:9px}.tbg-notification-card{display:grid;grid-template-columns:48px minmax(0,1fr) 26px;gap:15px;align-items:center;padding:17px 19px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:#0f1015;color:inherit;text-decoration:none;transition:.18s}.tbg-notification-card:hover{transform:translateY(-1px);border-color:rgba(122,92,255,.28);background:#111219}.tbg-notification-card.is-unread{border-color:rgba(122,92,255,.19);background:linear-gradient(90deg,rgba(77,36,255,.085),#0f1015 38%)}.tbg-notification-card.is-high.is-unread{box-shadow:inset 3px 0 0 #694bff}.tbg-notification-card-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(122,92,255,.17);border-radius:13px;background:rgba(122,92,255,.07);color:#a18dff;font-size:15px;font-weight:900}.tbg-notification-card-copy{min-width:0}.tbg-notification-card-meta{display:flex;align-items:center;gap:8px;color:#7367b4;font-size:.64rem;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.tbg-notification-card-meta i{padding:3px 6px;border-radius:999px;background:#6244ff;color:#fff;font-size:.55rem;font-style:normal}.tbg-notification-card-copy>strong{display:block;margin-top:5px;color:#fff;font-size:1rem;font-weight:900}.tbg-notification-card-copy p{margin:4px 0 0;color:#9298a4;font-size:.8rem;line-height:1.55}.tbg-notification-card-copy small{display:block;margin-top:7px;color:#5f6672;font-size:.68rem}.tbg-notification-card-arrow{color:#6658ad;font-size:1.1rem}.tbg-notification-card.is-read{opacity:.78}
@media(max-width:700px){.tbg-notification-popover{position:fixed;top:82px;right:12px;left:12px;width:auto}.tbg-notifications-hero{align-items:flex-start;flex-direction:column;padding:22px}.tbg-notifications-hero h2{font-size:1.55rem}.tbg-notifications-hero-count{width:100%;min-height:80px}.tbg-notifications-toolbar{align-items:flex-start;flex-direction:column}.tbg-notification-card{grid-template-columns:42px minmax(0,1fr);padding:14px}.tbg-notification-card-icon{width:38px;height:38px}.tbg-notification-card-arrow{display:none}}

/* TBG 2.8.69 — configurazioni prodotti su ordinazione */
.tbg-production-config{margin:0 0 30px;padding:22px;border:1px solid rgba(104,76,255,.28);border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(91,55,255,.12),transparent 40%),#0b0b0f}.tbg-production-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.tbg-production-config-head span{display:block;color:#8978ff;font-size:.68rem;font-weight:900;letter-spacing:1.4px}.tbg-production-config-head h3{margin:5px 0 0;color:#fff;font-size:1.25rem}.tbg-production-config-head>strong{padding:8px 11px;border:1px solid rgba(105,73,255,.2);border-radius:999px;background:rgba(105,73,255,.08);color:#b4aaff;font-size:.68rem;white-space:nowrap}.tbg-production-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tbg-production-variant{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#08090d;cursor:pointer;transition:.18s}.tbg-production-variant:hover{border-color:rgba(112,83,255,.38);transform:translateY(-1px)}.tbg-production-variant.is-selected{border-color:#6847ff;background:rgba(93,59,255,.08);box-shadow:0 0 0 1px rgba(104,71,255,.12) inset}.tbg-production-variant>input{position:absolute;opacity:0;pointer-events:none}.tbg-production-variant-check{position:relative;width:20px;height:20px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#111219}.tbg-production-variant-check:after{content:'';position:absolute;inset:4px;border-radius:50%;background:transparent}.tbg-production-variant.is-selected .tbg-production-variant-check{border-color:#7358ff}.tbg-production-variant.is-selected .tbg-production-variant-check:after{background:#7358ff}.tbg-production-variant-copy strong{display:block;color:#fff;font-size:.9rem}.tbg-production-variant-copy small{display:block;margin-top:5px;color:#8e93a0;font-size:.76rem;line-height:1.45}.tbg-production-variant-copy em{display:block;margin-top:8px;color:#9e90ff;font-size:.72rem;font-style:normal;font-weight:800}.tbg-production-config-summary{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;margin-top:12px;padding:13px 15px;border-radius:12px;background:#07080b}.tbg-production-config-summary span{grid-column:1/-1;color:#666d7b;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.tbg-production-config-summary strong{color:#fff;font-size:.9rem}.tbg-production-config-summary em{color:#fff;font-size:1rem;font-style:normal;font-weight:900}.tbg-production-simple-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 25px;padding:14px 16px;border:1px solid rgba(104,76,255,.22);border-radius:12px;background:rgba(104,76,255,.06)}.tbg-production-simple-note strong{color:#9b89ff;font-size:.75rem;letter-spacing:.8px}.tbg-production-simple-note span{color:#a1a5af;font-size:.8rem}.tbg-cart-item-variant,.tbg-cart-page-variant{display:block;margin:4px 0;color:#9688ff;font-size:.74rem;font-weight:800}
@media(max-width:720px){.tbg-production-config-head{flex-direction:column}.tbg-production-config-head>strong{white-space:normal}.tbg-production-variant-grid{grid-template-columns:1fr}.tbg-production-simple-note{align-items:flex-start;flex-direction:column}.tbg-production-config-summary{grid-template-columns:1fr}}
.tbg-client-order-item-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px}.tbg-client-order-item-meta span{padding:5px 7px;border:1px solid rgba(108,78,255,.16);border-radius:8px;background:rgba(108,78,255,.05);color:#a9afba;font-size:.72rem}.tbg-client-order-item-meta b{color:#9f90ff}

/* TBG 2.8.70 — Warranty & After-Sales client */
.tbg-product-warranty-box{margin-top:26px;padding:22px 24px;border:1px solid rgba(105,75,255,.2);border-radius:18px;background:radial-gradient(circle at 95% 0,rgba(92,54,255,.11),transparent 38%),#0c0d12}.tbg-product-warranty-box>div:first-child span{color:#8b73ff;font-size:11px;font-weight:900;letter-spacing:1.3px}.tbg-product-warranty-box h3{margin:6px 0 14px;color:#fff;font-size:22px}.tbg-product-warranty-pills{display:flex!important;flex-wrap:wrap;gap:8px}.tbg-product-warranty-pills b{padding:8px 10px;border-radius:999px;background:rgba(117,82,255,.09);color:#c0b6ff;font-size:10px}.tbg-product-warranty-pills b.is-track{background:rgba(255,146,68,.08);color:#ffc187}.tbg-product-warranty-copy{margin-top:14px}.tbg-product-warranty-intro,.tbg-product-warranty-disclaimer{margin:0;color:#9aa1ae;font-size:12px;line-height:1.65}.tbg-product-warranty-disclaimer{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05)}.tbg-product-warranty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.tbg-product-warranty-grid article{padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:rgba(255,255,255,.02)}.tbg-product-warranty-grid strong,.tbg-product-warranty-notes span{display:block;color:#fff;font-size:12px;font-weight:900}.tbg-product-warranty-grid ul{margin:10px 0 0 18px;padding:0;color:#a3aab8;font-size:12px;line-height:1.55}.tbg-product-warranty-grid li+li{margin-top:6px}.tbg-product-warranty-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.tbg-product-warranty-notes div{padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:rgba(255,255,255,.02)}.tbg-product-warranty-notes p{margin:8px 0 0;color:#9aa1ae;font-size:12px;line-height:1.6}.tbg-product-warranty-box p{margin:14px 0 0;color:#8e95a3;font-size:12px;line-height:1.6}@media(max-width:760px){.tbg-product-warranty-grid,.tbg-product-warranty-notes{grid-template-columns:1fr}}
.tbg-warranty-client-hero,.tbg-warranty-detail-hero,.tbg-warranty-request-hero,.tbg-warranty-claim-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 28px;border:1px solid rgba(108,75,255,.22);border-radius:22px;background:radial-gradient(circle at 96% 0,rgba(87,48,255,.16),transparent 38%),#0d0e13;margin-bottom:16px}.tbg-warranty-client-hero h2,.tbg-warranty-detail-hero h2,.tbg-warranty-request-hero h2,.tbg-warranty-claim-hero h2{margin:6px 0;color:#fff;font-size:30px;line-height:1.05}.tbg-warranty-client-hero p,.tbg-warranty-detail-hero p,.tbg-warranty-request-hero p{margin:0;color:#8b92a0;line-height:1.55}.tbg-warranty-client-hero>strong{display:flex;flex-direction:column;align-items:center;min-width:110px;color:#fff;font-size:34px}.tbg-warranty-client-hero>strong small{margin-top:3px;color:#7e8594;font-size:9px;text-transform:uppercase}.tbg-warranty-detail-hero a,.tbg-warranty-request-hero>a,.tbg-warranty-claim-hero>a{display:block;margin-bottom:8px;color:#9886ff;text-decoration:none;font-size:10px;font-weight:800}.tbg-warranty-detail-hero>div>span,.tbg-warranty-claim-hero>div>span,.tbg-warranty-claim-hero>span{color:#8b76ff;font-size:10px;font-weight:900;letter-spacing:1px}.tbg-warranty-detail-hero>b,.tbg-warranty-claim-hero>b{max-width:220px;padding:9px 12px;border-radius:999px;background:rgba(255,153,74,.08);color:#ffbf87;text-align:center;font-size:9px;line-height:1.3}
.tbg-warranty-client-list{display:grid;gap:10px}.tbg-warranty-client-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:#0e0f14;text-decoration:none;transition:.18s}.tbg-warranty-client-card:hover{transform:translateY(-1px);border-color:rgba(115,82,255,.28)}.tbg-warranty-client-card span{color:#8170ff;font-size:9px;font-weight:900;letter-spacing:.8px}.tbg-warranty-client-card h3{margin:5px 0;color:#fff;font-size:17px}.tbg-warranty-client-card p{margin:0;color:#747b89;font-size:10px}.tbg-warranty-client-card-meta{display:flex;align-items:center;gap:10px}.tbg-warranty-client-card-meta b{padding:7px 8px;border-radius:999px;font-size:8px}.tbg-warranty-client-card-meta b.is-active{background:rgba(58,213,140,.08);color:#7ce6aa}.tbg-warranty-client-card-meta b.is-expired{background:rgba(255,183,67,.08);color:#ffcc75}.tbg-warranty-client-card-meta small{color:#727987;font-size:9px}.tbg-warranty-client-card-meta em{color:#9583ff;font-style:normal;font-size:9px;font-weight:900}
.tbg-warranty-detail-grid,.tbg-warranty-claim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.tbg-warranty-detail-grid>section,.tbg-warranty-claim-grid>section{padding:16px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#0d0e13}.tbg-warranty-detail-grid span,.tbg-warranty-claim-grid span{display:block;color:#697180;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.tbg-warranty-detail-grid strong,.tbg-warranty-claim-grid strong{display:block;margin-top:7px;color:#fff;font-size:13px;line-height:1.35}.tbg-warranty-detail-grid small{display:block;margin-top:6px;color:#707785;font-size:8px;line-height:1.45}.tbg-warranty-track-notice{margin-bottom:14px;padding:15px 17px;border:1px solid rgba(255,151,72,.16);border-radius:14px;background:rgba(255,151,72,.035)}.tbg-warranty-track-notice strong{color:#ffbd83;font-size:9px;letter-spacing:.8px}.tbg-warranty-track-notice p{margin:7px 0 0;color:#9096a3;font-size:10px;line-height:1.55}.tbg-warranty-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.tbg-warranty-policy-grid>section,.tbg-warranty-claims,.tbg-warranty-claim-copy,.tbg-warranty-evidence,.tbg-warranty-customer-response,.tbg-warranty-intervention{padding:19px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:#0e0f14}.tbg-warranty-policy-grid p,.tbg-warranty-claim-copy p,.tbg-warranty-customer-response p,.tbg-warranty-intervention p{color:#9aa0ad;font-size:10px;line-height:1.65}.tbg-warranty-claim-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px;padding:12px;border:1px solid rgba(255,255,255,.055);border-radius:11px;background:#090a0e;text-decoration:none}.tbg-warranty-claim-row strong{display:block;color:#fff;font-size:10px}.tbg-warranty-claim-row span{display:block;margin-top:3px;color:#747b89;font-size:8px}.tbg-warranty-claim-row b{color:#9b8bff;font-size:8px}.tbg-warranty-request-form{padding:22px;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:#0e0f14}.tbg-warranty-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tbg-warranty-form-grid label{display:flex;flex-direction:column;gap:6px}.tbg-warranty-form-grid label.wide{grid-column:1/-1}.tbg-warranty-form-grid label>span{color:#868d9c;font-size:9px;font-weight:900;text-transform:uppercase}.tbg-warranty-form-grid input,.tbg-warranty-form-grid select,.tbg-warranty-form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#07080c;color:#fff;padding:12px;outline:none}.tbg-warranty-upload{padding:13px;border:1px dashed rgba(122,92,255,.22);border-radius:12px;background:rgba(122,92,255,.025)}.tbg-warranty-upload small{color:#737b8a;font-size:8px}.tbg-warranty-request-disclaimer{margin:14px 0;padding:13px 15px;border:1px solid rgba(255,190,77,.14);border-radius:12px;background:rgba(255,190,77,.035)}.tbg-warranty-request-disclaimer strong{color:#ffd078;font-size:9px}.tbg-warranty-request-disclaimer p{margin:5px 0 0;color:#858c99;font-size:9px;line-height:1.5}.tbg-warranty-evidence{margin-top:12px}.tbg-warranty-evidence>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tbg-warranty-evidence a{display:flex;width:112px;height:84px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#08090d;color:#a794ff;text-decoration:none;font-size:9px;font-weight:900}.tbg-warranty-evidence img{width:100%;height:100%;object-fit:cover}.tbg-warranty-customer-response,.tbg-warranty-intervention{margin-top:12px}
@media(max-width:900px){.tbg-warranty-client-hero,.tbg-warranty-detail-hero,.tbg-warranty-request-hero,.tbg-warranty-claim-hero{align-items:flex-start;flex-direction:column}.tbg-warranty-detail-grid,.tbg-warranty-claim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tbg-warranty-policy-grid{grid-template-columns:1fr}.tbg-warranty-client-card{align-items:flex-start;flex-direction:column}.tbg-warranty-client-card-meta{flex-wrap:wrap}.tbg-warranty-form-grid{grid-template-columns:1fr}.tbg-warranty-form-grid label.wide{grid-column:1}.tbg-warranty-client-hero h2,.tbg-warranty-detail-hero h2,.tbg-warranty-request-hero h2,.tbg-warranty-claim-hero h2{font-size:25px}}@media(max-width:520px){.tbg-warranty-detail-grid,.tbg-warranty-claim-grid{grid-template-columns:1fr}}
.tbg-warranty-timeline{margin-top:12px;padding:19px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:#0e0f14}.tbg-warranty-timeline>div{display:grid;gap:9px;margin-top:13px}.tbg-warranty-timeline article{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start}.tbg-warranty-timeline i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#7458ff;box-shadow:0 0 0 4px rgba(116,88,255,.09)}.tbg-warranty-timeline strong{display:block;color:#fff;font-size:10px}.tbg-warranty-timeline small{display:block;margin-top:3px;color:#707786;font-size:8px}

/* ===== CLIENT DOCUMENT CENTER 2.8.73 ===== */
.tbg-documents-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding:30px;border:1px solid rgba(112,78,255,.24);border-radius:22px;background:radial-gradient(circle at 92% 8%,rgba(92,54,255,.18),transparent 38%),linear-gradient(135deg,#111217,#0a0b10)}
.tbg-documents-hero h2{margin:6px 0 8px;color:#fff;font-size:34px;line-height:1.05}.tbg-documents-hero p{max-width:720px;margin:0;color:#8d94a2;font-size:12px;line-height:1.7}.tbg-documents-total{min-width:160px;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:#090a0f}.tbg-documents-total span,.tbg-documents-total small{display:block;color:#707786;font-size:8px;font-weight:900;letter-spacing:.8px}.tbg-documents-total strong{display:block;margin:6px 0;color:#fff;font-size:34px}
.tbg-documents-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}.tbg-documents-filters a{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:#0b0c11;color:#9ba1ae;text-decoration:none;font-size:9px;font-weight:900}.tbg-documents-filters a b{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.05);color:#fff;font-size:8px}.tbg-documents-filters a.active{border-color:rgba(110,77,255,.55);background:rgba(93,55,255,.12);color:#fff}
.tbg-documents-group+.tbg-documents-group{margin-top:28px}.tbg-documents-list{display:grid;gap:10px}.tbg-document-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.009));transition:.18s}.tbg-document-card:hover{border-color:rgba(107,77,255,.28);transform:translateY(-1px)}.tbg-document-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:rgba(100,70,255,.1);color:#9a87ff;font-size:15px;font-weight:950}.tbg-document-card.type-invoice .tbg-document-icon{background:rgba(62,205,139,.08);color:#6ce0ab}.tbg-document-card.type-certificate .tbg-document-icon,.tbg-document-card.type-warranty .tbg-document-icon{background:rgba(255,185,73,.07);color:#f4ca75}.tbg-document-main{min-width:0}.tbg-document-meta{display:flex;align-items:center;gap:9px;margin-bottom:5px}.tbg-document-meta span{color:#8b78ff;font-size:8px;font-weight:950;letter-spacing:.7px;text-transform:uppercase}.tbg-document-meta time{color:#656c7b;font-size:8px}.tbg-document-main h4{margin:0;color:#fff;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.tbg-document-main p{margin:5px 0 0;color:#8b929f;font-size:10px;line-height:1.5}.tbg-document-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tbg-document-links span{color:#666e7d;font-size:8px}.tbg-document-actions{display:flex;gap:7px}.tbg-document-actions .tbg-btn{white-space:nowrap}.tbg-documents-empty{padding:55px 24px;border:1px dashed rgba(255,255,255,.08);border-radius:18px;text-align:center}.tbg-documents-empty>span{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 12px;border-radius:15px;background:rgba(99,68,255,.1);color:#917fff;font-weight:950}.tbg-documents-empty strong{display:block;color:#fff}.tbg-documents-empty p{max-width:520px;margin:7px auto 0;color:#777e8c;font-size:10px;line-height:1.6}
@media(max-width:760px){.tbg-documents-hero{align-items:stretch;flex-direction:column;padding:22px}.tbg-documents-hero h2{font-size:27px}.tbg-documents-total{min-width:0}.tbg-document-card{grid-template-columns:44px minmax(0,1fr)}.tbg-document-icon{width:42px;height:42px}.tbg-document-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.tbg-document-actions .tbg-btn{width:100%}.tbg-document-actions .tbg-btn:only-child{grid-column:1/-1}}

/* =========================================================
   TBG 2.8.74 — Fatture ordine cliente
   ========================================================= */
.tbg-client-order-invoices{margin-top:24px}
.tbg-client-order-invoices>.tbg-client-section-head{margin-bottom:10px}
.tbg-client-order-invoices>.tbg-client-invoice-card{margin-top:10px}
.tbg-client-order-invoices>.tbg-client-invoice-card+.tbg-client-invoice-card{margin-top:10px}

/* =========================================================
   TBG 2.8.76 — CUSTOMER GARAGE / VEHICLE HISTORY
   ========================================================= */
.tbg-vehicle-client-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid rgba(111,80,255,.2);border-radius:24px;background:radial-gradient(circle at 92% 2%,rgba(86,49,255,.22),transparent 40%),linear-gradient(145deg,#111118,#090a0e)}
.tbg-vehicle-client-hero h2{margin:7px 0 8px;color:#fff;font-size:2rem;font-weight:900}.tbg-vehicle-client-hero p{max-width:760px;margin:0;color:#9298a6;font-size:.88rem;line-height:1.65}
.tbg-vehicle-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.tbg-vehicle-client-card{display:block;min-width:0;padding:22px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:linear-gradient(160deg,#111218,#0a0b0f);color:inherit;text-decoration:none;transition:.18s}.tbg-vehicle-client-card:hover{transform:translateY(-2px);border-color:rgba(113,80,255,.34);box-shadow:0 18px 45px rgba(0,0,0,.22)}.tbg-vehicle-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tbg-vehicle-card-top span{color:#806bff;font-size:.64rem;font-weight:900;letter-spacing:1.15px}.tbg-vehicle-card-top b{padding:6px 9px;border:1px solid rgba(85,215,145,.18);border-radius:999px;background:rgba(75,210,137,.06);color:#70dda5;font-size:.58rem}.tbg-vehicle-client-card h3{margin:13px 0 6px;color:#fff;font-size:1.35rem}.tbg-vehicle-client-card>p{margin:0;color:#848b99;font-size:.76rem;line-height:1.5}.tbg-vehicle-card-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.tbg-vehicle-card-kpis span{padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:#090a0e;color:#747b89;font-size:.63rem;text-align:center}.tbg-vehicle-card-kpis strong{display:block;margin-bottom:3px;color:#fff;font-size:1.05rem}.tbg-vehicle-card-last{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.055)}.tbg-vehicle-card-last small{display:block;color:#5f6674;font-size:.56rem;font-weight:900;letter-spacing:.8px}.tbg-vehicle-card-last strong{display:block;margin-top:5px;color:#dfe2e8;font-size:.78rem}.tbg-vehicle-card-last span{display:block;margin-top:3px;color:#6f7684;font-size:.63rem}
.tbg-vehicle-add-card{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.3fr);gap:28px;margin-top:18px;padding:24px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:#0d0e13}.tbg-vehicle-add-card h3{margin:6px 0 8px;color:#fff}.tbg-vehicle-add-card p{margin:0;color:#7f8795;font-size:.76rem;line-height:1.55}.tbg-vehicle-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.tbg-vehicle-form-grid label,.tbg-vehicle-side-card form label{display:flex;flex-direction:column;gap:6px;color:#787f8e;font-size:.62rem;font-weight:850}.tbg-vehicle-form-grid input,.tbg-vehicle-side-card form input{width:100%;min-height:43px;border:1px solid rgba(255,255,255,.085);border-radius:11px;background:#08090d;color:#fff;padding:0 12px;outline:none}.tbg-vehicle-form-grid input:focus,.tbg-vehicle-side-card form input:focus{border-color:#6748ff;box-shadow:0 0 0 3px rgba(103,72,255,.09)}
.tbg-vehicle-detail-hero{padding:26px 28px;border:1px solid rgba(107,77,255,.22);border-radius:23px;background:radial-gradient(circle at 92% 4%,rgba(86,49,255,.22),transparent 37%),linear-gradient(145deg,#12121a,#090a0e)}.tbg-vehicle-detail-hero>a{color:#8475d7;text-decoration:none;font-size:.68rem;font-weight:850}.tbg-vehicle-detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:22px}.tbg-vehicle-detail-heading>div>span{color:#8a73ff;font-size:.66rem;font-weight:900;letter-spacing:1.15px}.tbg-vehicle-detail-heading h2{margin:6px 0;color:#fff;font-size:2.05rem;line-height:1.08}.tbg-vehicle-detail-heading p{margin:0;color:#9097a4;font-size:.8rem}.tbg-vehicle-detail-heading>b{padding:8px 12px;border:1px solid rgba(77,214,137,.18);border-radius:999px;background:rgba(77,214,137,.06);color:#71dda4;font-size:.65rem}.tbg-vehicle-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.tbg-vehicle-detail-kpis>div{padding:15px 16px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#0d0e13}.tbg-vehicle-detail-kpis span{display:block;color:#656d7c;font-size:.58rem;font-weight:900;letter-spacing:.8px}.tbg-vehicle-detail-kpis strong{display:block;margin-top:6px;color:#fff;font-size:1.35rem}.tbg-vehicle-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:14px}.tbg-vehicle-detail-layout main,.tbg-vehicle-detail-layout aside{display:flex;min-width:0;flex-direction:column;gap:14px}.tbg-vehicle-section,.tbg-vehicle-side-card{padding:22px;border:1px solid rgba(255,255,255,.065);border-radius:18px;background:#0d0e13}.tbg-vehicle-side-card h3{margin:7px 0 14px;color:#fff}.tbg-vehicle-side-card dl{margin:0}.tbg-vehicle-side-card dl>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.tbg-vehicle-side-card dl>div:last-child{border-bottom:0}.tbg-vehicle-side-card dt{color:#697180;font-size:.66rem}.tbg-vehicle-side-card dd{margin:0;color:#fff;font-size:.7rem;font-weight:800;text-align:right;word-break:break-word}.tbg-vehicle-side-card form{display:grid;gap:9px}.tbg-vehicle-muted{color:#777f8e;font-size:.72rem;line-height:1.55}
.tbg-vehicle-timeline{position:relative;display:grid;gap:10px;margin-top:14px;padding-left:24px}.tbg-vehicle-timeline:before{content:'';position:absolute;top:7px;bottom:7px;left:7px;width:1px;background:linear-gradient(#6848ff,rgba(104,72,255,.08))}.tbg-vehicle-event{position:relative}.tbg-vehicle-event-marker{position:absolute;top:17px;left:-22px;width:11px;height:11px;border:2px solid #7357ff;border-radius:50%;background:#0d0e13;box-shadow:0 0 0 4px rgba(110,79,255,.08)}.tbg-vehicle-event-card{padding:14px 15px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#090a0e}.tbg-vehicle-event-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.tbg-vehicle-event-meta span{color:#8877e2;font-size:.55rem;font-weight:950;letter-spacing:.8px}.tbg-vehicle-event-meta time{color:#59616f;font-size:.58rem}.tbg-vehicle-event-card h4{margin:6px 0 0;color:#fff;font-size:.84rem}.tbg-vehicle-event-card p{margin:5px 0 0;color:#858d9b;font-size:.7rem;line-height:1.55}.tbg-vehicle-event-card>a{display:inline-block;margin-top:9px;color:#937fff;text-decoration:none;font-size:.62rem;font-weight:900}.tbg-vehicle-event.type-photo .tbg-vehicle-event-marker{border-color:#55c89b}.tbg-vehicle-event.type-appointment .tbg-vehicle-event-marker,.tbg-vehicle-event.type-scan .tbg-vehicle-event-marker{border-color:#58b8ff}.tbg-vehicle-event.type-document .tbg-vehicle-event-marker{border-color:#d68cff}.tbg-vehicle-empty{padding:28px 10px;text-align:center}.tbg-vehicle-empty strong{display:block;color:#fff}.tbg-vehicle-empty span{display:block;margin-top:6px;color:#737b89;font-size:.7rem}
.tbg-vehicle-products{display:grid;gap:8px;margin-top:12px}.tbg-vehicle-products>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:#090a0e;text-decoration:none}.tbg-vehicle-products strong{display:block;color:#fff;font-size:.76rem}.tbg-vehicle-products span{display:block;margin-top:4px;color:#69717f;font-size:.62rem}.tbg-vehicle-products b{color:#927fff;font-size:.7rem}.tbg-vehicle-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.tbg-vehicle-photo-grid>a{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:#08090d}.tbg-vehicle-photo-grid img{width:100%;height:100%;object-fit:cover}.tbg-vehicle-photo-grid span{position:absolute;right:0;bottom:0;left:0;padding:18px 9px 8px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:.6rem;font-weight:800}.tbg-vehicle-future{padding:12px;border:1px solid rgba(111,80,255,.12);border-radius:12px;background:rgba(99,69,255,.045)}.tbg-vehicle-future+.tbg-vehicle-future{margin-top:8px}.tbg-vehicle-future>b{display:block;color:#8d79ff;font-size:.55rem}.tbg-vehicle-future>strong{display:block;margin-top:5px;color:#fff;font-size:.76rem}.tbg-vehicle-future p{margin:5px 0;color:#818997;font-size:.67rem;line-height:1.5}.tbg-vehicle-future small{color:#606876;font-size:.58rem}
@media(max-width:1050px){.tbg-vehicle-detail-layout{grid-template-columns:1fr}.tbg-vehicle-add-card{grid-template-columns:1fr}.tbg-vehicle-client-grid{grid-template-columns:1fr}}
@media(max-width:700px){.tbg-vehicle-client-hero{align-items:flex-start;flex-direction:column;padding:22px}.tbg-vehicle-client-hero .tbg-btn{width:100%;text-align:center}.tbg-vehicle-client-hero h2{font-size:1.6rem}.tbg-vehicle-form-grid{grid-template-columns:1fr}.tbg-vehicle-detail-heading{align-items:flex-start;flex-direction:column}.tbg-vehicle-detail-heading h2{font-size:1.55rem}.tbg-vehicle-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tbg-vehicle-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================================================
   TBG 2.8.80 — REVIEWS & CUSTOMER FEEDBACK
   ========================================================= */
.tbg-review-client-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;padding:28px 30px;border:1px solid rgba(111,80,255,.22);border-radius:24px;background:radial-gradient(circle at 91% 10%,rgba(102,63,255,.18),transparent 35%),linear-gradient(145deg,#12131b,#090a0f)}
.tbg-review-client-hero h2{margin:6px 0 7px;color:#fff;font-size:32px;line-height:1.05}.tbg-review-client-hero p{max-width:720px;margin:0;color:#9298a7;font-size:13px;line-height:1.65}.tbg-review-client-hero>div:last-child{min-width:132px;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:#090a0f;text-align:center}.tbg-review-client-hero>div:last-child strong{display:block;color:#fff;font-size:30px;line-height:1}.tbg-review-client-hero>div:last-child span{display:block;margin-top:7px;color:#7f70d7;font-size:8px;font-weight:900;letter-spacing:1px}
.tbg-review-client-list{display:grid;gap:16px}.tbg-review-client-card{padding:24px;border:1px solid rgba(255,255,255,.075);border-radius:22px;background:linear-gradient(145deg,#101117,#090a0e);box-shadow:0 20px 48px rgba(0,0,0,.16)}.tbg-review-client-card.is-focused{border-color:rgba(111,80,255,.33);box-shadow:0 22px 58px rgba(74,45,255,.08)}.tbg-review-client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06)}.tbg-review-client-card-head>div>span{display:block;color:#8a73ff;font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.tbg-review-client-card-head h3{margin:7px 0 5px;color:#fff;font-size:24px}.tbg-review-client-card-head p{margin:0;color:#7f8695;font-size:12px;line-height:1.55}.tbg-review-client-card-head>b{padding:9px 12px;border:1px solid rgba(107,81,255,.2);border-radius:999px;background:rgba(101,70,255,.07);color:#b8adff;font-size:8px;font-weight:900;letter-spacing:.65px;white-space:nowrap}
.tbg-review-google-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-top:18px;padding:17px 18px;border:1px solid rgba(255,255,255,.065);border-radius:17px;background:rgba(255,255,255,.018)}.tbg-review-google-card>div:first-child>span{display:block;color:#8d7cff;font-size:8px;font-weight:900;letter-spacing:1px}.tbg-review-google-card>div:first-child>strong{display:block;margin-top:5px;color:#fff;font-size:14px}.tbg-review-google-card>div:first-child>p{margin:5px 0 0;color:#777f8e;font-size:10px;line-height:1.5}.tbg-review-google-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tbg-review-google-actions .tbg-btn{min-height:42px;padding:0 15px;font-size:9px}
.tbg-review-form{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.tbg-review-form-intro span{display:block;color:#7f70d8;font-size:8px;font-weight:900;letter-spacing:1px}.tbg-review-form-intro h4{margin:5px 0 5px;color:#fff;font-size:19px}.tbg-review-form-intro p{margin:0;color:#7d8492;font-size:11px}.tbg-review-rating{margin:18px 0 0;padding:0;border:0}.tbg-review-rating legend{margin-bottom:8px;color:#d2d5dc;font-size:11px;font-weight:800}.tbg-review-stars{display:inline-flex;flex-direction:row-reverse;gap:4px}.tbg-review-stars input{position:absolute;opacity:0;pointer-events:none}.tbg-review-stars label{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0a0b10;color:#4f5360;cursor:pointer;font-size:19px;transition:.14s ease}.tbg-review-stars label:hover,.tbg-review-stars label:hover~label,.tbg-review-stars input:checked~label{border-color:rgba(132,105,255,.42);background:rgba(109,75,255,.12);color:#b9aaff}.tbg-review-stars input:focus-visible+label{outline:2px solid #7659ff;outline-offset:2px}.tbg-review-subratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:4px}.tbg-review-subratings .tbg-review-rating{padding:14px;border:1px solid rgba(255,255,255,.055);border-radius:15px;background:#0a0b0f}.tbg-review-subratings .tbg-review-stars label{width:30px;height:30px;font-size:15px}.tbg-review-comment{display:block;margin-top:17px}.tbg-review-comment>span{display:block;margin-bottom:7px;color:#c6cad2;font-size:11px;font-weight:800}.tbg-review-comment textarea{width:100%;padding:14px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;background:#08090d!important;color:#fff!important;box-shadow:none!important;resize:vertical}.tbg-review-form-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.tbg-review-form-foot small{color:#686f7d;font-size:9px;line-height:1.5}.tbg-review-form-foot .tbg-btn{min-width:180px}
.tbg-review-thanks{margin-top:18px;padding:20px;border:1px solid rgba(65,213,143,.12);border-radius:17px;background:rgba(65,213,143,.025)}.tbg-review-thanks>span{display:block;color:#67dba8;font-size:8px;font-weight:900;letter-spacing:1px}.tbg-review-thanks>strong{display:block;margin-top:7px;color:#c5b7ff;font-size:27px;letter-spacing:2px}.tbg-review-thanks>p{margin:8px 0 0;color:#9aa0ad;font-size:12px;line-height:1.6}.tbg-review-history{margin-top:22px}.tbg-review-history-list{display:grid;gap:10px}.tbg-review-history-list article{display:grid;grid-template-columns:minmax(200px,.6fr) 1fr;gap:18px;padding:16px 17px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:#0b0c11}.tbg-review-history-list article>div>span{display:block;color:#6f64bc;font-size:8px;font-weight:900}.tbg-review-history-list article>div>strong{display:block;margin-top:5px;color:#b8aaff;font-size:17px;letter-spacing:1px}.tbg-review-history-list article>div>small{display:block;margin-top:5px;color:#626977;font-size:8px}.tbg-review-history-list article>p{margin:0;color:#8e95a3;font-size:11px;line-height:1.6}
@media(max-width:900px){.tbg-review-subratings{grid-template-columns:1fr}.tbg-review-google-card{grid-template-columns:1fr}.tbg-review-google-actions{justify-content:flex-start}}
@media(max-width:620px){.tbg-review-client-hero{align-items:flex-start;flex-direction:column;padding:22px}.tbg-review-client-hero h2{font-size:26px}.tbg-review-client-hero>div:last-child{width:100%}.tbg-review-client-card{padding:18px}.tbg-review-client-card-head{flex-direction:column}.tbg-review-form-foot{align-items:stretch;flex-direction:column}.tbg-review-form-foot .tbg-btn{width:100%}.tbg-review-history-list article{grid-template-columns:1fr}.tbg-review-google-actions{flex-direction:column;align-items:stretch}.tbg-review-google-actions .tbg-btn{width:100%;text-align:center}}

/* =========================================================
   TBG 2.8.82 — WISHLIST INTELLIGENCE / CLIENTE
   ========================================================= */
.tbg-wishlist-alert-center{margin-top:22px;padding:24px;border:1px solid rgba(111,80,255,.18);border-radius:24px;background:radial-gradient(circle at 92% 0,rgba(91,44,255,.12),transparent 34%),linear-gradient(155deg,#11121a,#090a0f);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.tbg-wishlist-alert-center .tbg-client-section-head{align-items:flex-start}.tbg-wishlist-alert-center .tbg-client-section-head h3{margin-top:5px}.tbg-wishlist-alert-center .tbg-client-section-head p{max-width:720px;margin:7px 0 0;color:#898f9d;font-size:.78rem;line-height:1.55}.tbg-wishlist-alert-shield{flex:0 0 auto;padding:8px 10px;border:1px solid rgba(83,213,145,.16);border-radius:999px;background:rgba(83,213,145,.05);color:#72dfa9;font-size:.61rem;font-weight:900;letter-spacing:.7px}.tbg-wishlist-alert-notice{margin:16px 0 0;padding:11px 13px;border:1px solid rgba(83,213,145,.16);border-radius:12px;background:rgba(83,213,145,.05);color:#83e6b5;font-size:.75rem;font-weight:800}
.tbg-wishlist-alert-prefs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.tbg-wishlist-pref-card{position:relative;display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;padding:17px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(0,0,0,.19);cursor:pointer;transition:.18s ease}.tbg-wishlist-pref-card:hover{border-color:rgba(111,80,255,.25);background:rgba(111,80,255,.035)}.tbg-wishlist-pref-card>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.tbg-wishlist-pref-switch{position:relative;width:40px;height:23px;margin-top:2px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#242630;transition:.18s}.tbg-wishlist-pref-switch:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#7d8491;transition:.18s}.tbg-wishlist-pref-card>input:checked+.tbg-wishlist-pref-switch{border-color:rgba(111,80,255,.55);background:#5d3bff}.tbg-wishlist-pref-card>input:checked+.tbg-wishlist-pref-switch:after{left:20px;background:#fff}.tbg-wishlist-pref-copy{min-width:0}.tbg-wishlist-pref-copy small{display:block;color:#806eff;font-size:.58rem;font-weight:900;letter-spacing:.85px}.tbg-wishlist-pref-copy strong{display:block;margin-top:5px;color:#fff;font-size:.9rem;line-height:1.25}.tbg-wishlist-pref-copy em{display:block;margin-top:6px;color:#858c99;font-size:.7rem;font-style:normal;line-height:1.5}.tbg-wishlist-pref-copy b{display:block;margin-top:7px;color:#e9a770;font-size:.64rem;line-height:1.35}.tbg-wishlist-pref-card.is-disabled{cursor:not-allowed;opacity:.58}.tbg-wishlist-pref-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}.tbg-wishlist-alert-history{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.06)}.tbg-wishlist-alert-history>div:last-child{display:grid;gap:8px;margin-top:12px}.tbg-wishlist-alert-history a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:#090a0e;color:inherit;text-decoration:none}.tbg-wishlist-alert-history a:hover{border-color:rgba(111,80,255,.25);background:#0d0e15}.tbg-wishlist-alert-history a>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:rgba(100,71,255,.1);color:#9f8eff;font-size:1rem}.tbg-wishlist-alert-history strong{display:block;color:#fff;font-size:.78rem}.tbg-wishlist-alert-history small{display:block;margin-top:4px;color:#737a87;font-size:.66rem}.tbg-wishlist-alert-history a>b{color:#8d78ff;font-size:.63rem;font-weight:900;white-space:nowrap}
@media(max-width:900px){.tbg-wishlist-alert-prefs{grid-template-columns:1fr}.tbg-wishlist-pref-actions{grid-column:1}.tbg-wishlist-alert-shield{display:none}}
@media(max-width:600px){.tbg-wishlist-alert-center{padding:18px;border-radius:20px}.tbg-wishlist-alert-history a{grid-template-columns:34px minmax(0,1fr)}.tbg-wishlist-alert-history a>b{grid-column:2}.tbg-wishlist-alert-history a>span{width:34px;height:34px}}

/* TBG 2.9.4 - homepage showcase: touch-first carousel refinements. */
.tbg-product-track{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.slider-arrow{transition:opacity .16s ease,color .16s ease;user-select:none}
.slider-arrow:focus-visible{outline:2px solid var(--tbg-purple);outline-offset:3px;border-radius:6px}
@media(max-width:768px){
  .tbg-product-track{width:100%;scroll-snap-type:x proximity;scroll-padding:0 2vw}
  .tbg-product-track .tbg-product-card,.tbg-product-track .tbg-product-card-more{scroll-snap-align:start}
  .slider-arrow{flex:0 0 34px;padding:0 5px;font-size:1.75rem}
}

/* =====================================================
   TBG 2.9.6 - GOOGLE REVIEWS SHOWCASE
   ===================================================== */
.tbg-review-showcase{padding:88px 5% 82px;background:linear-gradient(180deg,#050505 0%,#09090c 100%);border-bottom:1px solid var(--tbg-border);overflow:hidden}
.tbg-review-showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.tbg-review-showcase-copy{max-width:760px}.tbg-review-showcase-copy h2{margin:4px 0 12px;color:#fff;font-size:clamp(2rem,3.3vw,3.35rem);font-weight:900;line-height:1.02;letter-spacing:-1.7px}.tbg-review-showcase-copy p{max-width:680px;margin:0;color:var(--tbg-text-muted);font-size:1rem;line-height:1.75}
.tbg-review-google-proof{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-width:235px;padding:15px 17px;border:1px solid #24242a;border-radius:14px;background:#0f0f13;color:#fff;text-decoration:none;transition:border-color .22s ease,transform .22s ease,background .22s ease}.tbg-review-google-proof:hover{transform:translateY(-2px);border-color:#3a3a45;background:#121218}.tbg-review-google-proof>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.tbg-review-google-proof strong{font-size:.74rem;letter-spacing:.75px}.tbg-review-google-proof small{margin-top:2px;color:#8f909a;font-size:.72rem}.tbg-review-google-proof .tbg-svg-icon{width:18px;height:18px;color:#777986}
.tbg-review-google-mark,.tbg-review-google-mini b{display:inline-flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-weight:800}.tbg-review-google-mark{width:34px;height:34px;border-radius:50%;background:#fff;color:#4285f4;font-size:1rem}.tbg-review-google-mini b{width:18px;height:18px;border-radius:50%;background:#fff;color:#4285f4;font-size:.67rem}
.tbg-review-slider-shell{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:14px;min-width:0}.tbg-review-track{display:flex;min-width:0;gap:18px;overflow-x:auto;padding:5px 2px 16px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none}.tbg-review-track::-webkit-scrollbar{display:none}.tbg-review-track:focus-visible{border-radius:16px;box-shadow:0 0 0 2px rgba(77,36,255,.72)}
.tbg-review-card{display:flex;flex:0 0 calc((100% - 36px)/3);min-width:0;min-height:346px;flex-direction:column;padding:24px;border:1px solid #202026;border-radius:16px;background:linear-gradient(145deg,#101014,#0b0b0f);scroll-snap-align:start;transition:border-color .22s ease,transform .22s ease,background .22s ease}.tbg-review-card:hover{transform:translateY(-3px);border-color:#393249;background:linear-gradient(145deg,#121219,#0d0d12)}
.tbg-review-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tbg-review-author{display:flex;min-width:0;align-items:center;gap:11px}.tbg-review-avatar{display:flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border:1px solid rgba(111,76,255,.35);border-radius:50%;background:rgba(77,36,255,.13);color:#fff;font-size:.92rem;font-weight:900}.tbg-review-author>div{min-width:0}.tbg-review-author strong{display:block;overflow:hidden;color:#fff;font-size:.92rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tbg-review-author small{display:block;overflow:hidden;margin-top:2px;color:#747681;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.tbg-review-google-mini{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;color:#8f9099;font-size:.7rem;font-weight:700}
.tbg-review-stars{display:flex;gap:2px;margin:21px 0 14px}.tbg-review-stars span{color:#383840;font-size:1rem;line-height:1}.tbg-review-stars span.is-on{color:#f5b800}
.tbg-review-card blockquote{display:-webkit-box;overflow:hidden;margin:0;color:#d4d4d9;font-size:.89rem;line-height:1.72;-webkit-box-orient:vertical;-webkit-line-clamp:7}.tbg-review-card.is-expanded blockquote{display:block;overflow:visible}.tbg-review-expand{align-self:flex-start;margin:10px 0 0;padding:0;border:0;background:transparent;color:#8d7aff;font-family:var(--tbg-font);font-size:.68rem;font-weight:900;letter-spacing:.6px;cursor:pointer}.tbg-review-expand:hover{color:#b2a8ff}
.tbg-review-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px}.tbg-review-card-foot>span{color:#666873;font-size:.68rem;font-weight:700}.tbg-review-card-foot a{color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.45px;text-decoration:none;white-space:nowrap}.tbg-review-card-foot a:hover{color:#8d7aff}
.tbg-review-arrow{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #25252b;border-radius:50%;background:#0f0f13;color:#fff;cursor:pointer;transition:opacity .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.tbg-review-arrow .tbg-svg-icon{width:20px;height:20px}.tbg-review-arrow:hover:not(:disabled){transform:translateY(-1px);border-color:#4d24ff;background:#15131f}.tbg-review-arrow:disabled{opacity:.22;cursor:default}
.tbg-review-showcase-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid #1d1d22}.tbg-review-showcase-bottom>span{color:#666873;font-size:.75rem}.tbg-review-showcase-bottom a{color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.55px;text-decoration:none}.tbg-review-showcase-bottom a:hover{color:#8d7aff}
@media(max-width:1100px){.tbg-review-card{flex-basis:calc((100% - 18px)/2)}.tbg-review-showcase-head{align-items:flex-start;flex-direction:column}.tbg-review-google-proof{min-width:0}}
@media(max-width:700px){.tbg-review-showcase{padding:62px 5% 56px}.tbg-review-showcase-head{gap:22px;margin-bottom:24px}.tbg-review-showcase-copy h2{font-size:2rem;letter-spacing:-.8px}.tbg-review-showcase-copy p{font-size:.9rem;line-height:1.65}.tbg-review-google-proof{width:100%}.tbg-review-slider-shell{display:block}.tbg-review-track{gap:12px;margin-right:-5vw;padding-right:5vw;scroll-padding-left:0}.tbg-review-card{flex-basis:86%;min-height:330px;padding:20px}.tbg-review-arrow{display:none}.tbg-review-google-mini{font-size:.65rem}.tbg-review-showcase-bottom{align-items:flex-start;flex-direction:column;gap:12px}.tbg-review-showcase-bottom a{line-height:1.5}}
@media(max-width:420px){.tbg-review-card{flex-basis:91%}.tbg-review-card-top{gap:9px}.tbg-review-google-mini{gap:4px}.tbg-review-author strong{max-width:145px}.tbg-review-card blockquote{font-size:.85rem}.tbg-review-card-foot{align-items:flex-start;flex-direction:column;gap:8px}}

/* =====================================================
   TBG 2.9.9 - HOMEPAGE PRODUCT CAROUSEL BOUNDS FIX
   The track owns only the space between arrows and can
   never expose page-level overflow or settle out of range.
   ===================================================== */
.tbg-shop-slider-container{
    min-width:0;
    max-width:75%;
    overflow:hidden;
}
.tbg-shop-slider-container .tbg-product-track{
    flex:1 1 auto;
    width:auto;
    min-width:0;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    -webkit-overflow-scrolling:touch;
}
.tbg-shop-slider-container .tbg-product-card,
.tbg-shop-slider-container .tbg-product-card-more{
    scroll-snap-align:start;
    scroll-snap-stop:always;
}
.tbg-shop-slider-container .slider-arrow{
    flex:0 0 42px;
    width:42px;
    min-width:42px;
    padding:0 6px;
    opacity:1;
    transition:opacity .16s ease,color .16s ease,transform .16s ease;
}
.tbg-shop-slider-container .slider-arrow:disabled{
    opacity:.18;
    pointer-events:none;
    cursor:default;
}
.tbg-shop-slider-container .slider-arrow:not(:disabled):active{
    transform:scale(.92);
}
.tbg-shop-slider-container.is-static .slider-arrow{
    visibility:hidden;
}

@media(max-width:768px){
    .tbg-shop-slider-container{
        display:grid;
        grid-template-columns:34px minmax(0,1fr) 34px;
        align-items:center;
        width:100%;
        max-width:100%;
        gap:0;
        overflow:hidden;
    }
    .tbg-shop-slider-container .tbg-product-track{
        grid-column:2;
        width:auto !important;
        min-width:0 !important;
        max-width:100% !important;
        padding:0 0 10px;
        scroll-padding-inline:0;
    }
    .tbg-shop-slider-container .slider-arrow{
        width:34px;
        min-width:34px;
        height:48px;
        padding:0 3px;
        font-size:1.8rem;
        line-height:1;
        z-index:2;
    }
    .tbg-shop-slider-container .slider-arrow.prev{grid-column:1;grid-row:1;}
    .tbg-shop-slider-container .slider-arrow.next{grid-column:3;grid-row:1;}
    .tbg-shop-slider-container .tbg-product-track{grid-row:1;}
}

/* =====================================================
   TBG 2.10.0 — HOMEPAGE EXPERIENCE
   Premium motion and visual hierarchy without external libraries.
   Motion stays on transform/opacity; mobile keeps native scrolling.
   ===================================================== */

/* Global homepage polish */
.tbg-site-wrapper{
    --tbg-home-panel:#0c0c10;
    --tbg-home-panel-soft:#101016;
    --tbg-home-line:rgba(255,255,255,.085);
    --tbg-home-purple-soft:rgba(77,36,255,.18);
    isolation:isolate;
}
.tbg-site-wrapper .tbg-btn{
    position:relative;
    overflow:hidden;
    min-height:52px;
    border-radius:2px;
    transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease;
}
.tbg-site-wrapper .tbg-btn::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.16) 48%,transparent 72%);
    transform:translateX(-135%);
    transition:transform .55s cubic-bezier(.2,.8,.2,1);
    pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
    .tbg-site-wrapper .tbg-btn:hover{transform:translateY(-2px)}
    .tbg-site-wrapper .tbg-btn:hover::after{transform:translateX(135%)}
    .tbg-site-wrapper .tbg-btn-primary:hover{box-shadow:0 14px 34px rgba(77,36,255,.24)}
}

/* Header: calm glass treatment only after the user starts moving. */
.tbg-header{
    position:sticky;
    top:0;
    z-index:1000;
    transition:padding .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease,backdrop-filter .24s ease;
}
.tbg-header.is-scrolled{
    padding-top:12px;
    padding-bottom:12px;
    background:rgba(3,3,5,.82);
    border-bottom-color:rgba(255,255,255,.08);
    box-shadow:0 14px 38px rgba(0,0,0,.28);
    backdrop-filter:blur(16px) saturate(125%);
    -webkit-backdrop-filter:blur(16px) saturate(125%);
}
.tbg-header.is-scrolled .tbg-logo img{height:54px}
body.admin-bar .tbg-header{top:32px}

/* HERO */
.tbg-hero{
    --tbg-hero-shift:0px;
    min-height:clamp(620px,76vh,860px);
    overflow:hidden;
    background-position:70% calc(50% + var(--tbg-hero-shift));
}
.tbg-hero::after{
    content:"";
    position:absolute;
    inset:auto -10% -42% 34%;
    height:68%;
    background:radial-gradient(ellipse at center,rgba(77,36,255,.16) 0%,rgba(77,36,255,.045) 36%,transparent 70%);
    filter:blur(10px);
    z-index:1;
    pointer-events:none;
}
.tbg-hero-overlay{
    background:
        linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.76) 36%,rgba(0,0,0,.24) 68%,rgba(0,0,0,.06) 100%),
        linear-gradient(0deg,rgba(3,3,3,.42) 0%,transparent 34%);
}
.tbg-hero-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.tbg-hero-atmosphere span:first-child{
    position:absolute;
    width:1px;
    height:44%;
    right:16%;
    top:15%;
    background:linear-gradient(180deg,transparent,rgba(122,94,255,.44),transparent);
    transform:rotate(19deg);
    opacity:.55;
}
.tbg-hero-atmosphere span:last-child{
    position:absolute;
    width:220px;
    height:220px;
    right:8%;
    top:18%;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    box-shadow:0 0 0 54px rgba(255,255,255,.018),0 0 0 108px rgba(255,255,255,.01);
    opacity:.55;
}
.tbg-hero-content{max-width:920px;margin-top:-18px}
.tbg-hero .tbg-title{font-size:clamp(4.7rem,7.1vw,8.2rem);max-width:900px;text-wrap:balance}
.tbg-hero .tbg-description{max-width:690px}
.tbg-hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
    margin-top:34px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.105);
    max-width:690px;
}
.tbg-hero-meta span{display:inline-flex;align-items:center;gap:9px;color:#8c8d95;font-size:.67rem;font-weight:800;letter-spacing:1.2px}
.tbg-hero-meta b{color:#775cff;font-size:.62rem}
.tbg-home-scroll-cue{
    position:absolute;
    left:5%;
    bottom:24px;
    z-index:3;
    display:flex;
    align-items:center;
    gap:12px;
    color:#73747c;
    text-decoration:none;
    font-size:.59rem;
    font-weight:900;
    letter-spacing:1.7px;
}
.tbg-home-scroll-cue i{position:relative;display:block;width:42px;height:1px;background:#33343a;overflow:hidden}
.tbg-home-scroll-cue i::after{content:"";position:absolute;inset:0;background:#7558ff;transform:translateX(-100%);animation:tbgHomeCue 2.5s ease-in-out infinite}
@keyframes tbgHomeCue{0%,15%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}

/* Hero load choreography — CSS-only, so there is no flash while JS initializes. */
@keyframes tbgHeroRise{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.tbg-hero-content>.tbg-subtitle,
.tbg-hero-content>.tbg-title,
.tbg-hero-content>.tbg-description,
.tbg-hero-content>.tbg-buttons,
.tbg-hero-content>.tbg-hero-meta{animation:tbgHeroRise .64s cubic-bezier(.2,.75,.2,1) both}
.tbg-hero-content>.tbg-subtitle{animation-delay:.05s}
.tbg-hero-content>.tbg-title{animation-delay:.12s}
.tbg-hero-content>.tbg-description{animation-delay:.20s}
.tbg-hero-content>.tbg-buttons{animation-delay:.27s}
.tbg-hero-content>.tbg-hero-meta{animation-delay:.34s}

/* Scroll reveals */
.tbg-reveal-managed{
    opacity:0;
    transform:translate3d(0,24px,0);
    transition:opacity .62s ease var(--tbg-reveal-delay,0ms),transform .62s cubic-bezier(.2,.75,.2,1) var(--tbg-reveal-delay,0ms);
}
.tbg-reveal-managed.is-visible{opacity:1;transform:translate3d(0,0,0)}

/* VALUE STRIP */
.tbg-features{
    position:relative;
    padding:22px 5%;
    gap:1px;
    background:#08080b;
    border-bottom:1px solid var(--tbg-border);
}
.tbg-feature{
    position:relative;
    min-height:126px;
    padding:24px 22px;
    align-items:center;
    border:1px solid transparent;
    background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.005));
    transition:border-color .24s ease,background .24s ease,transform .24s ease;
}
.tbg-feature+.tbg-feature{border-left-color:rgba(255,255,255,.055)}
.tbg-feature-index{position:absolute;right:14px;top:11px;color:#36363e;font-size:.55rem;font-weight:900;letter-spacing:1px}
.tbg-feature-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid rgba(255,255,255,.075);border-radius:50%;background:#0d0d12;color:#8170d8;transition:transform .25s ease,border-color .25s ease,color .25s ease}
.tbg-feature-icon .tbg-icon-lg{width:23px;height:23px}
.tbg-feature h3{font-size:.78rem;letter-spacing:1.2px}
.tbg-feature p{max-width:260px;line-height:1.55}
@media(hover:hover) and (pointer:fine){
    .tbg-feature:hover{z-index:2;transform:translateY(-3px);border-color:rgba(103,73,255,.26);background:linear-gradient(180deg,rgba(88,54,255,.075),rgba(255,255,255,.008))}
    .tbg-feature:hover .tbg-feature-icon{transform:rotate(-5deg) scale(1.04);border-color:rgba(105,76,255,.38);color:#a799ff}
}

/* SHOP */
.tbg-shop{
    position:relative;
    gap:2.5vw;
    padding-top:104px;
    padding-bottom:104px;
    overflow:hidden;
    background:
        radial-gradient(circle at 79% 44%,rgba(77,36,255,.08),transparent 28%),
        var(--tbg-bg-black);
}
.tbg-shop::before{content:"";position:absolute;left:5%;top:58px;width:52px;height:2px;background:#4d24ff;box-shadow:22px 0 0 rgba(77,36,255,.25)}
.tbg-shop-intro{width:27%;max-width:380px;padding-right:24px}
.tbg-shop-intro h2{font-size:clamp(2.35rem,3.25vw,4rem);letter-spacing:-1.9px;margin-bottom:18px}
.tbg-shop-intro p{font-size:.91rem;line-height:1.72}
.tbg-shop-slider-container{width:73%;max-width:73%}
.tbg-shop .tbg-product-track{gap:16px;padding:12px 2px 18px}
.tbg-shop .tbg-product-card{
    --tbg-pointer-x:50%;
    --tbg-pointer-y:50%;
    position:relative;
    min-width:278px;
    padding:17px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:16px;
    background:linear-gradient(155deg,#121218 0%,#0b0b0f 80%);
    box-shadow:0 18px 45px rgba(0,0,0,.16);
    transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease;
}
.tbg-shop .tbg-product-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at var(--tbg-pointer-x) var(--tbg-pointer-y),rgba(105,74,255,.13),transparent 34%);
    opacity:0;
    transition:opacity .28s ease;
    pointer-events:none;
}
.tbg-shop .tbg-product-card>a{position:relative;z-index:1}
.tbg-shop .tbg-product-img-wrap{height:205px;border-radius:11px;margin-bottom:18px;background:linear-gradient(145deg,#1b1b21,#111116);border:1px solid rgba(255,255,255,.045)}
.tbg-shop .tbg-product-img{transition:transform .42s cubic-bezier(.2,.75,.2,1)}
.tbg-shop .tbg-product-card h4{font-size:.88rem;line-height:1.35;letter-spacing:.15px}
.tbg-shop .tbg-product-card p{font-size:.7rem;color:#787983}
.tbg-shop .tbg-price{font-size:1.2rem}
.tbg-shop .slider-arrow{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    min-width:42px;
    margin:0 4px;
    padding:0;
    border:1px solid rgba(255,255,255,.09);
    border-radius:50%;
    background:#0c0c10;
    color:#c9c9cf;
    font-size:1.5rem;
}
@media(hover:hover) and (pointer:fine){
    .tbg-shop .tbg-product-card:hover{transform:translateY(-6px);border-color:rgba(103,73,255,.34);box-shadow:0 24px 60px rgba(0,0,0,.30),0 0 0 1px rgba(77,36,255,.04)}
    .tbg-shop .tbg-product-card:hover::before{opacity:1}
    .tbg-shop .tbg-product-card:hover .tbg-product-img{transform:scale(1.045)}
    .tbg-shop .slider-arrow:hover:not(:disabled){border-color:rgba(100,70,255,.5);background:#14121e;color:#fff;transform:translateY(-1px)}
}

/* CUSTOM PROJECT */
.tbg-custom-projects{
    min-height:570px;
    display:flex;
    align-items:center;
    padding-top:105px;
    padding-bottom:105px;
    background-attachment:scroll;
    overflow:hidden;
}
.tbg-custom-projects::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(77,36,255,.08),transparent 34%),
        linear-gradient(180deg,transparent 65%,rgba(3,3,3,.5));
}
.tbg-custom-overlay{background:linear-gradient(90deg,rgba(3,3,3,.95) 0%,rgba(3,3,3,.76) 38%,rgba(3,3,3,.22) 76%,rgba(3,3,3,.08) 100%)}
.tbg-custom-content{z-index:3;max-width:720px}
.tbg-custom-projects h2{font-size:clamp(2.8rem,4.4vw,5.1rem);line-height:.98;letter-spacing:-2.2px;margin:8px 0 22px}
.tbg-custom-content>p{max-width:590px;color:#a1a1aa;line-height:1.75}
.tbg-custom-process{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}
.tbg-custom-process span{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.085);border-radius:999px;background:rgba(0,0,0,.32);color:#aaaab4;font-size:.62rem;font-weight:800;letter-spacing:.75px;backdrop-filter:blur(6px)}
.tbg-custom-process b{color:#876fff;font-size:.59rem}

/* HOME PORTFOLIO — editorial bento instead of four anonymous thumbnails. */
.tbg-portfolio{padding:104px 5% 110px;background:linear-gradient(180deg,#030303 0%,#07070a 100%);overflow:hidden}
.tbg-home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;max-width:1500px;margin:0 auto 34px}
.tbg-home-section-head>div{max-width:760px}
.tbg-home-section-head h2{font-size:clamp(2.7rem,4vw,4.8rem);line-height:.94;letter-spacing:-2.4px;margin:5px 0 14px}
.tbg-home-section-head p{margin:0;max-width:670px;color:#85868f;font-size:.9rem;line-height:1.7}
.tbg-home-text-link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding-bottom:5px;border-bottom:1px solid #4532a8;color:#fff;font-size:.69rem;font-weight:900;letter-spacing:.8px;text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .2s ease}
.tbg-home-text-link span{color:#8067ff}
.tbg-portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:178px;gap:14px;max-width:1500px;margin:0 auto}
.tbg-portfolio-item{
    --tbg-pointer-x:50%;
    --tbg-pointer-y:50%;
    position:relative;
    height:auto;
    min-height:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.085);
    border-radius:18px;
    background:#101014;
    text-decoration:none;
    isolation:isolate;
    transform:none;
    box-shadow:none;
}
.tbg-portfolio-item:nth-child(1){grid-column:span 7;grid-row:span 2}
.tbg-portfolio-item:nth-child(2),.tbg-portfolio-item:nth-child(3){grid-column:span 5}
.tbg-portfolio-item:nth-child(4){grid-column:span 12;min-height:230px}
.tbg-portfolio-media{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;transform:scale(1.015);transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .5s ease}
.tbg-portfolio-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(3,3,4,.06) 15%,rgba(3,3,4,.2) 44%,rgba(3,3,4,.94) 100%);transition:background .4s ease}
.tbg-portfolio-item::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--tbg-pointer-x) var(--tbg-pointer-y),rgba(94,61,255,.17),transparent 31%);opacity:0;transition:opacity .28s ease;pointer-events:none}
.tbg-portfolio-number{position:absolute;top:16px;right:17px;z-index:2;color:rgba(255,255,255,.48);font-size:.58rem;font-weight:900;letter-spacing:1px}
.tbg-portfolio-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;padding:25px 27px;text-align:left}
.tbg-portfolio-copy small{margin-bottom:7px;color:#8870ff;font-size:.61rem;font-weight:900;letter-spacing:1.4px}
.tbg-portfolio-copy strong{color:#fff;font-size:clamp(1.25rem,1.75vw,2rem);font-weight:900;line-height:1.05;text-transform:uppercase;letter-spacing:-.7px}
.tbg-portfolio-copy em{margin-top:8px;color:#a1a2aa;font-size:.73rem;font-style:normal;line-height:1.45}
.tbg-portfolio-open{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:#fff;font-size:.61rem;font-weight:900;letter-spacing:.75px;opacity:.78;transform:translateY(2px);transition:opacity .25s ease,transform .25s ease}
.tbg-portfolio-open b{color:#8b73ff;font-size:.8rem}
.tbg-portfolio-mobile-hint{display:none}.tbg-portfolio-mobile-cta{display:none!important}
@media(hover:hover) and (pointer:fine){
    .tbg-home-text-link:hover{color:#a998ff;border-color:#7b62ff;transform:translateY(-1px)}
    .tbg-portfolio-item:hover{transform:none;border-color:rgba(112,82,255,.44);box-shadow:0 26px 64px rgba(0,0,0,.34)}
    .tbg-portfolio-item:hover .tbg-portfolio-media{transform:scale(1.065);filter:saturate(1.07) contrast(1.03)}
    .tbg-portfolio-item:hover .tbg-portfolio-shade{background:linear-gradient(180deg,rgba(3,3,4,.02) 12%,rgba(3,3,4,.13) 40%,rgba(3,3,4,.96) 100%)}
    .tbg-portfolio-item:hover::after{opacity:1}
    .tbg-portfolio-item:hover .tbg-portfolio-open{opacity:1;transform:translateY(0)}
}

/* Reviews are already strong; only tie them visually into the new home rhythm. */
.tbg-review-showcase{position:relative;padding-top:104px;padding-bottom:100px;background:radial-gradient(circle at 13% 20%,rgba(77,36,255,.07),transparent 27%),linear-gradient(180deg,#07070a,#09090d)}
.tbg-review-showcase::before{content:"";position:absolute;left:5%;top:62px;width:52px;height:2px;background:#4d24ff;box-shadow:22px 0 0 rgba(77,36,255,.25)}
.tbg-review-card{border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.14)}

/* Final conversion band */
.tbg-home-final-cta{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:46px;
    align-items:end;
    margin:0;
    padding:84px 5%;
    overflow:hidden;
    border-bottom:1px solid var(--tbg-border);
    background:
        radial-gradient(circle at 82% 45%,rgba(77,36,255,.20),transparent 28%),
        linear-gradient(135deg,#0d0d13 0%,#050506 62%);
}
.tbg-home-final-cta::before{content:"TBG";position:absolute;right:4%;top:50%;transform:translateY(-53%);color:rgba(255,255,255,.018);font-size:clamp(9rem,20vw,24rem);font-weight:900;line-height:.7;letter-spacing:-1.3rem;pointer-events:none}
.tbg-home-final-cta-copy,.tbg-home-final-cta-actions{position:relative;z-index:1}
.tbg-home-final-cta h2{margin:6px 0 16px;color:#fff;font-size:clamp(2.7rem,4.8vw,5.7rem);font-weight:900;line-height:.91;letter-spacing:-2.8px}
.tbg-home-final-cta h2 span{color:#7659ff}
.tbg-home-final-cta p{max-width:680px;margin:0;color:#8f9099;font-size:.92rem;line-height:1.7}
.tbg-home-final-cta-actions{display:grid;gap:10px;justify-self:end;width:min(100%,360px)}

/* Keep the bottom half cheap to paint when far outside the viewport. */
@supports (content-visibility:auto){
    .tbg-custom-projects,.tbg-portfolio,.tbg-review-showcase,.tbg-home-final-cta{content-visibility:auto;contain-intrinsic-size:700px}
}

/* TABLET */
@media(max-width:1100px){
    .tbg-hero .tbg-title{font-size:clamp(4rem,8vw,6.5rem)}
    .tbg-shop{gap:32px}
    .tbg-shop-intro{width:32%}.tbg-shop-slider-container{width:68%;max-width:68%}
    .tbg-portfolio-grid{grid-auto-rows:165px}
    .tbg-home-final-cta{grid-template-columns:1fr;align-items:start}.tbg-home-final-cta-actions{justify-self:start;width:min(100%,520px);grid-template-columns:1fr 1fr}
}

/* MOBILE */
@media(max-width:768px){
    body.admin-bar .tbg-header{top:46px}
    .tbg-header{position:sticky;padding:13px 5%;background:rgba(3,3,5,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
    .tbg-header.is-scrolled{padding-top:10px;padding-bottom:10px}
    .tbg-header.is-scrolled .tbg-logo img{height:46px}
    .tbg-mobile-menu-btn{width:34px;height:34px;justify-content:center;border:1px solid rgba(255,255,255,.08);border-radius:50%;transition:border-color .2s ease,background .2s ease,color .2s ease}
    .tbg-mobile-menu-btn.is-open{border-color:rgba(111,81,255,.42);background:rgba(77,36,255,.13);color:#fff}

    .tbg-hero{min-height:calc(100svh - 74px);min-height:max(620px,calc(100svh - 74px));padding:56px 6% 82px;background-position:58% center}
    .tbg-hero-overlay{background:linear-gradient(180deg,rgba(3,3,3,.75) 0%,rgba(3,3,3,.64) 34%,rgba(3,3,3,.94) 88%,#030303 100%)}
    .tbg-hero::after{inset:auto -30% -16% 8%;height:44%;opacity:.75}
    .tbg-hero-atmosphere span:last-child{width:160px;height:160px;right:-30px;top:18%;opacity:.34}
    .tbg-hero-atmosphere span:first-child{right:12%;top:12%;height:30%;opacity:.3}
    .tbg-hero-content{width:100%;margin-top:0;align-self:flex-end}
    .tbg-hero .tbg-title{font-size:clamp(3.15rem,15vw,4.75rem);line-height:.91;letter-spacing:-2.2px;margin:14px 0 18px}
    .tbg-hero .tbg-subtitle{max-width:340px;font-size:.62rem;letter-spacing:1.8px}
    .tbg-hero .tbg-description{max-width:520px;font-size:.93rem;line-height:1.62;margin-bottom:26px}
    .tbg-hero .tbg-description br{display:none}
    .tbg-hero .tbg-buttons{display:grid;grid-template-columns:1fr;gap:9px}
    .tbg-hero .tbg-btn{min-height:54px}
    .tbg-hero-meta{gap:9px 14px;margin-top:23px;padding-top:16px}
    .tbg-hero-meta span{font-size:.56rem;letter-spacing:.8px}
    .tbg-home-scroll-cue{display:none}

    .tbg-features{grid-template-columns:1fr 1fr!important;padding:12px 4%!important;gap:7px}
    .tbg-feature{min-height:150px;padding:18px 14px;flex-direction:column;align-items:flex-start;gap:13px;border:1px solid rgba(255,255,255,.055)!important;border-radius:13px;text-align:left}
    .tbg-feature-icon{width:39px;height:39px;flex-basis:39px}.tbg-feature-icon .tbg-icon-lg{width:19px;height:19px}
    .tbg-feature-text h3{font-size:.67rem}.tbg-feature-text p{font-size:.68rem;line-height:1.48}.tbg-feature-index{right:10px;top:8px}

    .tbg-shop{display:block;padding:74px 0 72px;text-align:left;background:radial-gradient(circle at 90% 35%,rgba(77,36,255,.08),transparent 30%),#030303}
    .tbg-shop::before{left:6%;top:42px}
    .tbg-shop-intro{width:auto;max-width:none;margin:0 6% 27px;padding:0;text-align:left}
    .tbg-shop-intro h2{font-size:2.45rem;letter-spacing:-1.7px;margin:4px 0 13px}
    .tbg-shop-intro p{font-size:.84rem;margin:0 0 22px}.tbg-shop-intro p br{display:none}
    .tbg-shop-intro .tbg-btn{width:auto;min-height:48px;padding:14px 18px;font-size:.68rem}
    .tbg-shop-slider-container{width:100%!important;max-width:100%!important;padding:0 2%;grid-template-columns:34px minmax(0,1fr) 34px!important}
    .tbg-shop .tbg-product-track{gap:12px;padding:4px 0 14px}
    .tbg-shop .tbg-product-card{min-width:min(78vw,292px);border-radius:15px;padding:15px}
    .tbg-shop .tbg-product-img-wrap{height:190px}

    .tbg-custom-projects{min-height:640px;padding:84px 6%;text-align:left;background-position:64% center}
    .tbg-custom-overlay{background:linear-gradient(180deg,rgba(3,3,3,.36) 0%,rgba(3,3,3,.76) 46%,rgba(3,3,3,.98) 100%)}
    .tbg-custom-content{align-self:flex-end;width:100%}
    .tbg-custom-projects h2{font-size:clamp(2.65rem,11.5vw,4rem);letter-spacing:-1.8px;text-align:left}
    .tbg-custom-content>p{text-align:left;font-size:.88rem}.tbg-custom-content>p br{display:none}
    .tbg-custom-content>.tbg-btn{width:100%;margin-top:10px!important}
    .tbg-custom-process{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:24px}
    .tbg-custom-process span{justify-content:flex-start;padding:9px 10px;font-size:.53rem}.tbg-custom-process span:last-child{grid-column:1/-1}

    .tbg-portfolio{position:relative;padding:74px 0 78px;text-align:left}
    .tbg-home-section-head{display:block;margin:0 6% 27px;text-align:left}
    .tbg-home-section-head h2{font-size:2.65rem;letter-spacing:-1.8px;margin-bottom:12px}
    .tbg-home-section-head p{font-size:.84rem}.tbg-home-text-link{display:none}
    .tbg-portfolio-grid{
        display:flex!important;
        gap:12px;
        width:100%;
        max-width:none;
        padding:0 6% 10px;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-padding-left:6%;
        overscroll-behavior-x:contain;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .tbg-portfolio-grid::-webkit-scrollbar{display:none}
    .tbg-portfolio::after{content:"";position:absolute;right:0;top:178px;width:54px;height:470px;pointer-events:none;background:linear-gradient(270deg,#07070a 4%,rgba(7,7,10,0) 100%);z-index:2}
    .tbg-portfolio-item,.tbg-portfolio-item:nth-child(n){flex:0 0 84vw;min-width:0;height:430px;grid-column:auto;grid-row:auto;scroll-snap-align:start;scroll-snap-stop:always;border-radius:17px}
    .tbg-portfolio-copy{padding:22px}.tbg-portfolio-copy strong{font-size:1.6rem}.tbg-portfolio-copy em{max-width:90%;font-size:.7rem}.tbg-portfolio-open{opacity:1;transform:none}
    .tbg-portfolio-mobile-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 6% 14px;padding:0 2px;color:#a7a9b2;font-size:.66rem;line-height:1.35;letter-spacing:.35px}
    .tbg-portfolio-mobile-hint-copy{display:inline-flex;align-items:center;gap:7px}.tbg-portfolio-mobile-hint-copy strong{color:#8b73ff;font-size:.62rem;font-weight:900;letter-spacing:1.4px}.tbg-portfolio-mobile-hint-arrows{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.tbg-portfolio-mobile-hint-arrows i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.03);color:#fff;font-style:normal;font-size:.9rem;font-weight:700}
    .tbg-portfolio-mobile-cta{display:flex!important;justify-content:center;text-align:center;width:min(88%,420px);margin:22px auto 0!important;padding-inline:18px}

    .tbg-review-showcase{padding-top:74px;padding-bottom:70px}.tbg-review-showcase::before{top:42px;left:6%}

    .tbg-home-final-cta{display:block;padding:72px 6%;text-align:left}
    .tbg-home-final-cta::before{right:-8%;top:36%;font-size:12rem;letter-spacing:-.7rem}
    .tbg-home-final-cta h2{font-size:clamp(2.7rem,12vw,4.2rem);letter-spacing:-2px;margin-bottom:14px}.tbg-home-final-cta p{font-size:.84rem}
    .tbg-home-final-cta-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:28px}.tbg-home-final-cta-actions .tbg-btn{width:100%}
}

@media(max-width:430px){
    .tbg-features{grid-template-columns:1fr 1fr!important}
    .tbg-feature{min-height:158px;padding:16px 12px}.tbg-feature-text p{font-size:.64rem}
    .tbg-hero-meta{display:grid;grid-template-columns:1fr 1fr}.tbg-hero-meta span:last-child{grid-column:1/-1}
    .tbg-shop .tbg-product-card{min-width:79vw}
    .tbg-portfolio-item,.tbg-portfolio-item:nth-child(n){flex-basis:87vw;height:410px}
}

/* Accessibility: motion is optional, never functional. */
@media(prefers-reduced-motion:reduce){
    .tbg-home-scroll-cue i::after{animation:none;transform:none}
    .tbg-hero-content>.tbg-subtitle,
    .tbg-hero-content>.tbg-title,
    .tbg-hero-content>.tbg-description,
    .tbg-hero-content>.tbg-buttons,
    .tbg-hero-content>.tbg-hero-meta{animation:none!important;opacity:1!important;transform:none!important}
    .tbg-reveal-managed{opacity:1!important;transform:none!important;transition:none!important}
    .tbg-site-wrapper .tbg-btn,.tbg-product-img,.tbg-portfolio-media,.tbg-feature,.tbg-feature-icon{transition:none!important}
    .tbg-site-wrapper .tbg-btn::after{display:none}
}

/* =====================================================
   TBG 2.10.1 — MOBILE PERFORMANCE MODE
   Keep the full premium desktop experience while making
   touch devices immediate, native and cheap to paint.
   ===================================================== */
@media (max-width:768px), (pointer:coarse){
    /* First paint must already be the final mobile state. */
    .tbg-hero-content>.tbg-subtitle,
    .tbg-hero-content>.tbg-title,
    .tbg-hero-content>.tbg-description,
    .tbg-hero-content>.tbg-buttons,
    .tbg-hero-content>.tbg-hero-meta{
        animation:none!important;
        opacity:1!important;
        transform:none!important;
    }
    .tbg-reveal-managed{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }

    /* Blur on a sticky layer is disproportionately expensive on mobile Safari. */
    .tbg-header,
    .tbg-header.is-scrolled{
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
        background:rgba(3,3,5,.97)!important;
        transition:padding .14s ease,background-color .14s ease,border-color .14s ease!important;
    }

    /* Touch feedback should be immediate rather than decorative. */
    .tbg-site-wrapper a,
    .tbg-site-wrapper button,
    .tbg-site-wrapper .tbg-btn{
        touch-action:manipulation;
        -webkit-tap-highlight-color:rgba(118,89,255,.12);
    }
    .tbg-site-wrapper .tbg-btn{
        transition:background-color .12s ease,border-color .12s ease,color .12s ease!important;
    }
    .tbg-site-wrapper .tbg-btn::after{display:none!important}
    .tbg-site-wrapper .tbg-btn:active{transform:scale(.985)!important}

    /* Static effects are enough on touch; avoid extra compositing work. */
    .tbg-hero::after{filter:none!important}
    .tbg-feature,
    .tbg-feature-icon,
    .tbg-product-img,
    .tbg-portfolio-media,
    .tbg-review-card{
        transition:none!important;
    }

    /* Native scrolling is smoother than forcing animated JS corrections on iOS. */
    .tbg-shop-slider-container .tbg-product-track{
        scroll-behavior:auto!important;
        scroll-snap-type:x proximity!important;
    }
    .tbg-review-track{scroll-behavior:auto!important}

    /* Avoid late section activation / intrinsic-size corrections on small screens. */
    .tbg-custom-projects,
    .tbg-portfolio,
    .tbg-review-showcase,
    .tbg-home-final-cta{
        content-visibility:visible!important;
        contain-intrinsic-size:auto!important;
    }
}

/* =====================================================
   TBG 2.11.0 — PORTFOLIO MANAGER FRONTEND
   ===================================================== */
.tbg-portfolio-filterbar{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;max-width:1600px;margin:0 auto 34px;padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:#08080c}
.tbg-portfolio-type-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.tbg-portfolio-type-filters button{min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0d0d12;color:#898892;font-family:inherit;font-size:.69rem;font-weight:800;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.tbg-portfolio-type-filters button:hover{border-color:rgba(103,72,255,.38);color:#fff}
.tbg-portfolio-type-filters button.is-active{border-color:#5d39ee;background:rgba(79,45,235,.13);color:#fff}
.tbg-portfolio-select-filters{display:flex;gap:8px;flex:0 0 auto}
.tbg-portfolio-select-filters label{display:grid;gap:5px}.tbg-portfolio-select-filters label>span{color:#696872;font-size:.52rem;font-weight:900;letter-spacing:1.1px}
.tbg-portfolio-select-filters select{min-width:145px;height:40px;padding:0 34px 0 11px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0d0d12;color:#ddd;font-family:inherit;font-size:.68rem;font-weight:700;outline:none}
.tbg-portfolio-card{text-decoration:none;color:#fff}
.tbg-portfolio-card[hidden]{display:none!important}
.tbg-portfolio-card.tbg-filter-enter{animation:tbgPortfolioCardIn .26s ease}
@keyframes tbgPortfolioCardIn{from{opacity:.15;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.tbg-portfolio-card-open{display:inline-flex;align-items:center;gap:8px;margin-top:13px;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.7px;opacity:.82}.tbg-portfolio-card-open b{color:#8068ff;font-size:.8rem}
.tbg-portfolio-no-results{display:grid;place-items:center;min-height:240px;max-width:1600px;margin:0 auto;border:1px dashed rgba(255,255,255,.09);border-radius:15px;color:#777680;text-align:center}.tbg-portfolio-no-results[hidden]{display:none}.tbg-portfolio-no-results strong{color:#fff;font-size:1rem}.tbg-portfolio-no-results span{font-size:.75rem}

/* Hero gallery: automatic crossfade with full-image framing. */
.tbg-project-hero-gallery{height:62vh;min-height:520px;max-height:780px;padding:0!important;overflow:hidden;background:#050506;isolation:isolate;border-bottom:1px solid rgba(255,255,255,.07)}
.tbg-project-hero-gallery::after{content:"";position:absolute;inset:-4%;z-index:0;background-image:var(--tbg-project-bg-image);background-size:cover;background-position:center;filter:blur(34px) saturate(.78) brightness(.56);transform:scale(1.08);opacity:.92;pointer-events:none}
.tbg-project-hero-slides{position:absolute;inset:0;z-index:1;overflow:hidden;background:transparent}
.tbg-project-hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transform:none;transition:opacity 1.05s ease;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 20px 42px rgba(0,0,0,.3))}
.tbg-project-hero-slide.is-active{opacity:1;transform:none}
.tbg-project-hero-gallery::before{z-index:2;background:linear-gradient(180deg,rgba(3,3,3,.06) 0%,rgba(3,3,3,.08) 55%,rgba(3,3,3,.28) 100%)}
.tbg-project-heading{position:relative;background:linear-gradient(180deg,#070708 0%,#030303 100%);border-bottom:1px solid var(--tbg-border);padding:42px 5% 48px}
.tbg-project-heading-inner{width:100%;max-width:1400px;margin:0 auto}
.tbg-project-heading h1{max-width:1250px;margin:12px 0 0;color:#fff;font-size:clamp(2.6rem,4.8vw,5.3rem);font-weight:900;line-height:.96;letter-spacing:-2.4px;text-transform:uppercase;text-wrap:balance}
.tbg-project-back{display:inline-flex;margin-bottom:22px;color:#765cff;text-decoration:none;font-size:.72rem;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.tbg-project-back:hover{color:#a99aff}
.tbg-project-material{display:block;color:#fff!important}

@media(max-width:900px){
    .tbg-portfolio-filterbar{align-items:stretch;flex-direction:column;margin-bottom:24px;padding:12px}
    .tbg-portfolio-type-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tbg-portfolio-type-filters::-webkit-scrollbar{display:none}.tbg-portfolio-type-filters button{flex:0 0 auto;min-height:38px;font-size:.64rem}
    .tbg-portfolio-select-filters{display:grid;grid-template-columns:1fr 1fr}.tbg-portfolio-select-filters select{width:100%;min-width:0}
}
@media(max-width:768px){
    .tbg-portfolio-layout{padding:36px 5% 74px}
    .tbg-portfolio-showroom{gap:14px}
    .tbg-portfolio-card{height:350px;border-radius:13px}
    .tbg-portfolio-info{padding:24px;transform:none}.tbg-portfolio-info h3{font-size:1.5rem}.tbg-portfolio-info p{max-width:100%;opacity:1;font-size:.76rem;line-height:1.5}.tbg-portfolio-card-open{font-size:.56rem}
    .tbg-project-hero-gallery{height:48svh;min-height:350px;max-height:560px}
    .tbg-project-hero-slide,.tbg-project-hero-slide.is-active{transform:none;transition:opacity .82s ease}
    .tbg-project-heading{padding:30px 5% 34px}
    .tbg-project-heading h1{font-size:clamp(2rem,9.5vw,3.25rem);line-height:.98;letter-spacing:-1.4px}
    .tbg-project-back{margin-bottom:17px;font-size:.62rem}
}
@media(max-width:520px){.tbg-portfolio-select-filters{grid-template-columns:1fr}.tbg-portfolio-card{height:325px}.tbg-portfolio-info{padding:21px}.tbg-portfolio-info h3{font-size:1.35rem}.tbg-project-hero-gallery{height:43svh;min-height:310px}.tbg-project-heading{padding-top:25px}.tbg-project-heading h1{font-size:clamp(1.85rem,9vw,2.65rem)}}
@media(prefers-reduced-motion:reduce){.tbg-portfolio-card.tbg-filter-enter{animation:none}.tbg-project-hero-slide{transition:none!important;transform:none!important}.tbg-project-hero-slide:not(.is-active){display:none}}
@media(min-width:769px){
    .tbg-portfolio-grid.tbg-portfolio-count-1 .tbg-portfolio-item:nth-child(1){grid-column:span 12;grid-row:span 2;min-height:390px}
    .tbg-portfolio-grid.tbg-portfolio-count-2 .tbg-portfolio-item:nth-child(1),
    .tbg-portfolio-grid.tbg-portfolio-count-2 .tbg-portfolio-item:nth-child(2){grid-column:span 6;grid-row:span 2}
    .tbg-portfolio-grid.tbg-portfolio-count-3 .tbg-portfolio-item:nth-child(1){grid-column:span 7;grid-row:span 2}
    .tbg-portfolio-grid.tbg-portfolio-count-3 .tbg-portfolio-item:nth-child(2),
    .tbg-portfolio-grid.tbg-portfolio-count-3 .tbg-portfolio-item:nth-child(3){grid-column:span 5;grid-row:span 1}
}


/* TBG 2.13.8 — Footer privacy + Weblow signature */
.tbg-footer-bottom{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding-top:20px;border-top:1px solid #1f1f22;text-align:center}.tbg-footer-company{color:#666;font-size:.75rem;line-height:1.55}.tbg-footer-signature{color:#4f5059;font-size:.64rem;font-weight:800;letter-spacing:1.25px;text-transform:uppercase}.tbg-footer-signature a{color:#8972ff;text-decoration:none;font-weight:900;transition:color .2s ease,opacity .2s ease}.tbg-footer-signature a:hover{color:#b3a7ff}.tbg-footer-bottom-credit-only{margin-top:4px}
@media(max-width:768px){.tbg-footer-bottom{margin-top:4px;padding-top:18px;gap:7px}.tbg-footer-company{font-size:.68rem}.tbg-footer-signature{font-size:.59rem;letter-spacing:1.05px}}

/* =====================================================
   TBG 2.14.1 — SEO SERVICE HUB / LOCAL SEO CUNEO
   ===================================================== */
.tbg-service-page{background:#030303;color:#fff;font-family:'Montserrat',sans-serif;min-height:100vh}
.tbg-service-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;padding:150px 7% 72px;overflow:hidden;background:#050506}
.tbg-service-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(3,3,3,.2),rgba(3,3,3,.38) 48%,#030303 100%),var(--tbg-service-image);background-size:cover;background-position:center;filter:saturate(.8)}
.tbg-service-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 55%,rgba(91,57,238,.17),transparent 34%);pointer-events:none}
.tbg-service-hero-inner{position:relative;z-index:2;width:min(100%,980px)}
.tbg-service-eyebrow,.tbg-service-section-head>span{display:inline-block;color:#765cff;font-size:.7rem;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.tbg-service-hero h1{max-width:980px;margin:16px 0 18px;font-size:clamp(3.4rem,6.7vw,7.3rem);line-height:.91;letter-spacing:-3.7px;text-transform:uppercase}
.tbg-service-hero p{max-width:720px;margin:0;color:#b3b3bb;font-size:1rem;line-height:1.75}
.tbg-service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.tbg-service-actions .tbg-btn{min-width:210px;justify-content:center;text-align:center}
.tbg-service-main{padding:0 7% 90px;background:#030303}
.tbg-service-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:70px;padding:92px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tbg-service-copy h2,.tbg-service-section-head h2,.tbg-service-final-cta h2,.tbg-service-local-proof h2{margin:14px 0 20px;font-size:clamp(2.3rem,4.2vw,4.8rem);line-height:.98;letter-spacing:-2px;text-transform:uppercase}
.tbg-service-copy p,.tbg-service-local-proof p,.tbg-service-final-cta p{max-width:760px;color:#a0a0a9;font-size:.97rem;line-height:1.8}
.tbg-service-points{display:grid;gap:8px;align-self:center}.tbg-service-points>div{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:14px;min-height:62px;padding:13px 16px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#0a0a0e}.tbg-service-points b{color:#765cff;font-size:.68rem;letter-spacing:1px}.tbg-service-points span{color:#e2e2e5;font-size:.78rem;line-height:1.5}
.tbg-service-local-proof{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:54px;padding:38px;border:1px solid rgba(117,88,255,.2);border-radius:18px;background:linear-gradient(135deg,rgba(117,88,255,.11),rgba(12,12,18,.72))}.tbg-service-local-proof>div{max-width:880px}.tbg-service-local-proof .tbg-btn{flex:0 0 auto}
.tbg-service-related,.tbg-service-faq{padding:82px 0 0}.tbg-service-section-head{max-width:860px;margin-bottom:28px}
.tbg-service-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tbg-service-related-grid>a{display:flex;flex-direction:column;min-height:210px;padding:24px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:#08080c;color:#fff;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.tbg-service-related-grid>a:hover{transform:translateY(-3px);border-color:rgba(117,88,255,.42);background:#0c0b12}.tbg-service-related-grid span{color:#765cff;font-size:.58rem;font-weight:900;letter-spacing:1.3px}.tbg-service-related-grid strong{margin:16px 0 auto;font-size:1.25rem;line-height:1.18;text-transform:uppercase}.tbg-service-related-grid b{margin-top:26px;color:#9c8cff;font-size:.65rem;letter-spacing:1px}
.tbg-service-faq-list{display:grid;gap:8px;max-width:1100px}.tbg-service-faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#08080c}.tbg-service-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;cursor:pointer;list-style:none;font-size:.84rem;font-weight:800}.tbg-service-faq summary::-webkit-details-marker{display:none}.tbg-service-faq summary b{color:#765cff;font-size:1.2rem}.tbg-service-faq details[open] summary b{transform:rotate(45deg)}.tbg-service-faq details p{margin:0;padding:0 22px 22px;color:#94949d;font-size:.82rem;line-height:1.75}
.tbg-service-final-cta{margin-top:88px;padding:58px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:radial-gradient(circle at 80% 10%,rgba(111,75,255,.2),transparent 32%),#09090d}.tbg-service-final-cta>span{color:#765cff;font-size:.64rem;font-weight:900;letter-spacing:1.6px}.tbg-service-final-cta p{margin-bottom:26px}
.tbg-seo-service-strip{padding:82px 7%;background:#060609;border-top:1px solid rgba(255,255,255,.06)}.tbg-seo-service-strip-head{max-width:850px;margin-bottom:28px}.tbg-seo-service-strip-head>span{color:#765cff;font-size:.65rem;font-weight:900;letter-spacing:1.8px}.tbg-seo-service-strip-head h2{margin:10px 0 12px;font-size:clamp(2.4rem,4vw,4.8rem);line-height:.96;letter-spacing:-2px}.tbg-seo-service-strip-head p{color:#92929b;line-height:1.6}.tbg-seo-service-strip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tbg-seo-service-chip{display:flex;flex-direction:column;min-height:160px;padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:#0a0a0e;color:#fff;text-decoration:none}.tbg-seo-service-chip strong{font-size:.75rem}.tbg-seo-service-chip span{margin:10px 0 auto;color:#80808a;font-size:.7rem;line-height:1.55}.tbg-seo-service-chip b{margin-top:18px;color:#8069ff;font-size:.58rem;letter-spacing:1px}
@media(max-width:900px){.tbg-service-hero{padding:132px 6% 54px;min-height:68svh}.tbg-service-hero h1{font-size:clamp(3rem,11vw,5rem);letter-spacing:-2.4px}.tbg-service-intro{grid-template-columns:1fr;gap:36px;padding:64px 0}.tbg-service-related-grid,.tbg-seo-service-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tbg-service-local-proof{align-items:flex-start;flex-direction:column}.tbg-service-main{padding-left:6%;padding-right:6%}.tbg-seo-service-strip{padding-left:6%;padding-right:6%}}
@media(max-width:560px){.tbg-service-hero{padding:124px 5% 46px}.tbg-service-hero h1{font-size:clamp(2.65rem,12.3vw,3.8rem);letter-spacing:-1.7px}.tbg-service-hero p{font-size:.87rem}.tbg-service-actions{display:grid}.tbg-service-actions .tbg-btn{width:100%}.tbg-service-main{padding-left:5%;padding-right:5%;padding-bottom:62px}.tbg-service-copy h2,.tbg-service-section-head h2,.tbg-service-final-cta h2,.tbg-service-local-proof h2{font-size:clamp(2rem,10vw,3.1rem);letter-spacing:-1.3px}.tbg-service-related-grid,.tbg-seo-service-strip-grid{grid-template-columns:1fr}.tbg-service-related-grid>a{min-height:170px}.tbg-service-final-cta,.tbg-service-local-proof{padding:26px 22px}.tbg-seo-service-strip{padding:60px 5%}.tbg-seo-service-strip-head h2{font-size:clamp(2rem,10vw,3.2rem)}}


/* =====================================================
   TBG 2.14.2 — MOBILE PRE-LAUNCH HARDENING
   Safe responsive fixes only; no payment/order logic.
   ===================================================== */

/* Search is intentionally hidden until a real frontend search exists. */
.tbg-header-icons > span.icon-btn:first-child:not(.tbg-mobile-menu-btn){display:none}

/* Tablet client dashboard: deliberate layout between phone and desktop. */
@media (min-width:769px) and (max-width:1100px){
    .tbg-dashboard-layout{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:76px 4% 82px!important;overflow:visible!important;box-sizing:border-box!important}
    .tbg-dash-sidebar,.tbg-client-sidebar-pro.tbg-dash-sidebar{position:static!important;width:100%!important;max-width:none!important;margin:0 0 26px!important;padding:18px!important;box-sizing:border-box!important}
    .tbg-dash-nav{display:flex!important;flex-direction:row!important;gap:9px!important;overflow-x:auto!important;padding:2px 0 10px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
    .tbg-dash-nav::-webkit-scrollbar{display:none!important}
    .tbg-dash-nav a{flex:0 0 auto!important;white-space:nowrap!important;margin:0!important;padding:11px 16px!important}
    .tbg-dash-content{width:100%!important;max-width:100%!important;min-width:0!important}
    .tbg-dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .tbg-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .tbg-dash-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}

@media (max-width:768px){
    .tbg-nav{overflow:hidden;overscroll-behavior:contain}
    .tbg-nav.open{max-height:620px;max-height:min(72svh,620px);overflow-y:auto;padding:16px 5% max(20px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
    .tbg-nav a{margin:12px 0;min-height:32px;display:flex;align-items:center;justify-content:center}
    .tbg-header-icons{gap:2px!important}
    .tbg-header-icons .icon-btn{min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:50%}
    .tbg-mobile-menu-btn{width:44px!important;height:44px!important;margin-left:0!important}
    .tbg-checkout-field input,.tbg-checkout-field select,.tbg-checkout-field textarea,.tbg-portfolio-select-filters select{font-size:16px!important}
    .tbg-cart-sidebar{height:100vh;height:100dvh}
    .tbg-cart-footer{padding-bottom:max(25px,calc(18px + env(safe-area-inset-bottom)))}
    .tbg-product-lightbox{padding-bottom:max(58px,calc(42px + env(safe-area-inset-bottom)))}
    .tbg-lightbox-shell{height:calc(100vh - 84px);height:calc(100dvh - 84px)}
    .tbg-lightbox-close{top:max(14px,env(safe-area-inset-top))}
    .tbg-favorite-toast{bottom:max(18px,calc(10px + env(safe-area-inset-bottom)))}
}

/* =========================================================
   SENDCLOUD SERVICE POINT CHECKOUT V2.14.3
   ========================================================= */
.tbg-service-point-panel{
    display:grid;
    gap:14px;
    margin-bottom:16px;
    padding:18px;
    border:1px solid rgba(117,88,255,.28);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(77,36,255,.075),rgba(9,10,15,.96) 42%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.tbg-service-point-panel[hidden]{display:none!important}
.tbg-service-point-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}
.tbg-service-point-panel-head>div{min-width:0}
.tbg-service-point-panel-head span:first-child{
    display:block;
    margin-bottom:5px;
    color:#8066ff;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:1.25px;
}
.tbg-service-point-panel-head strong{
    display:block;
    color:#fff;
    font-size:.88rem;
    font-weight:900;
    line-height:1.35;
}
.tbg-service-point-panel-head small{
    display:block;
    margin-top:5px;
    color:#858a98;
    font-size:.67rem;
    line-height:1.5;
}
.tbg-service-point-secure{
    flex:0 0 auto;
    display:inline-flex!important;
    align-items:center;
    min-height:25px;
    margin:0!important;
    padding:4px 8px;
    border:1px solid rgba(97,224,169,.2);
    border-radius:999px;
    background:rgba(97,224,169,.06);
    color:#65dca9!important;
    font-size:.54rem!important;
    letter-spacing:.9px!important;
}
.tbg-service-point-empty{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px;
    border:1px dashed rgba(255,255,255,.12);
    border-radius:11px;
    background:rgba(0,0,0,.18);
}
.tbg-service-point-empty[hidden],.tbg-service-point-selected[hidden]{display:none!important}
.tbg-service-point-empty p{
    margin:0;
    color:#9297a5;
    font-size:.7rem;
    line-height:1.5;
}
.tbg-service-point-open{
    flex:0 0 auto;
    min-height:42px;
    padding:0 16px!important;
    font-size:.63rem!important;
}
.tbg-service-point-selected{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    padding:14px;
    border:1px solid rgba(97,224,169,.2);
    border-radius:11px;
    background:rgba(97,224,169,.045);
}
.tbg-service-point-selected-icon{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(97,224,169,.1);
    color:#63dfa8;
    font-size:.78rem;
    font-weight:950;
}
.tbg-service-point-selected-copy{min-width:0}
.tbg-service-point-selected-copy>span{
    display:block;
    color:#65dca9;
    font-size:.54rem;
    font-weight:900;
    letter-spacing:1px;
}
.tbg-service-point-selected-copy strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:.78rem;
    line-height:1.35;
}
.tbg-service-point-selected-copy small{
    display:block;
    margin-top:3px;
    color:#a0a4b0;
    font-size:.67rem;
    line-height:1.45;
}
.tbg-service-point-selected-copy em{
    display:block;
    margin-top:4px;
    color:#777d8b;
    font-size:.6rem;
    font-style:normal;
    text-transform:capitalize;
}
.tbg-service-point-change{
    min-height:38px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px;
    background:#111219;
    color:#fff;
    cursor:pointer;
    font-family:inherit;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.65px;
    transition:.18s ease;
}
.tbg-service-point-change:hover{border-color:#7558ff;color:#a994ff}
.tbg-service-point-error{
    display:block;
    min-height:16px;
    color:#ff7184;
    font-size:.65rem;
    line-height:1.45;
}
.tbg-delivery-option-service-point .tbg-delivery-option-icon{font-size:18px}

@media(max-width:650px){
    .tbg-service-point-panel{padding:15px;border-radius:12px}
    .tbg-service-point-panel-head{display:grid;gap:9px}
    .tbg-service-point-secure{justify-self:start}
    .tbg-service-point-empty{align-items:stretch;flex-direction:column}
    .tbg-service-point-open{width:100%;justify-content:center}
    .tbg-service-point-selected{grid-template-columns:32px minmax(0,1fr)}
    .tbg-service-point-change{grid-column:1/-1;width:100%;margin-top:2px}
}

/* =========================================================
   TBG 2.14.5 — Google OAuth login / registrazione
   ========================================================= */
.tbg-google-auth-block{margin:0 0 24px}.tbg-google-auth-form{display:grid;gap:12px}.tbg-google-btn{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 18px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#202124;font-family:'Montserrat',sans-serif;font-size:.88rem;font-weight:800;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:background .18s ease,border-color .18s ease,transform .18s ease}.tbg-google-btn:hover{background:#f8f9fa;border-color:#c7cbd1;transform:translateY(-1px)}.tbg-google-btn:active{transform:translateY(0)}.tbg-google-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;line-height:0}.tbg-google-mark svg{display:block;width:18px;height:18px}.tbg-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:#676772;font-size:.65rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.tbg-auth-divider::before,.tbg-auth-divider::after{content:"";height:1px;flex:1;background:rgba(255,255,255,.09)}.tbg-auth-divider span{flex:0 0 auto}.tbg-google-consent{margin:0!important}.tbg-google-auth-block.is-register .tbg-google-btn{margin-bottom:3px}.tbg-google-auth-block.is-register .tbg-auth-divider{margin-top:20px}
@media(max-width:768px){.tbg-google-btn{min-height:52px;font-size:.82rem}.tbg-auth-divider{font-size:.58rem;gap:9px}.tbg-google-auth-block{margin-bottom:22px}.tbg-google-auth-form .tbg-google-consent{display:flex!important;align-items:flex-start!important;gap:12px!important}.tbg-google-auth-form .tbg-google-consent input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;flex:0 0 22px!important;margin:2px 0 0!important;padding:0!important}}

/* =========================================================
   TBG 2.15.0 — Sendcloud Live Tracking
   ========================================================= */
.tbg-live-tracking{margin:0 0 22px;padding:26px;border:1px solid rgba(255,255,255,.085);border-radius:28px;background:radial-gradient(circle at 0 0,rgba(77,36,255,.18),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 24px 60px rgba(0,0,0,.26)}
.tbg-live-tracking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08)}
.tbg-live-tracking-head h3{margin:7px 0 7px;color:#fff;font-size:clamp(1.45rem,2.4vw,2.35rem);line-height:1;text-transform:uppercase;font-weight:950}.tbg-live-tracking-head p{margin:0;color:#92929d;font-size:.82rem;font-weight:700}
.tbg-live-tracking-state{min-width:235px;padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(0,0,0,.24)}.tbg-live-tracking-state>span{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:#7558ff;box-shadow:0 0 14px rgba(117,88,255,.7)}.tbg-live-tracking-state strong{color:#fff;font-size:.76rem;text-transform:uppercase;letter-spacing:.7px}.tbg-live-tracking-state small{display:block;margin-top:7px;color:#85858f;font-size:.68rem;line-height:1.45}.tbg-live-tracking-state.is-delivered>span{background:#55d98a;box-shadow:0 0 14px rgba(85,217,138,.55)}.tbg-live-tracking-state.is-delivery_issue>span{background:#ff7184;box-shadow:0 0 14px rgba(255,113,132,.5)}.tbg-live-tracking-state.is-awaiting_pickup>span,.tbg-live-tracking-state.is-out_for_delivery>span{background:#ffbf62;box-shadow:0 0 14px rgba(255,191,98,.5)}
.tbg-live-pickup{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:18px;padding:16px 18px;border:1px solid rgba(117,88,255,.25);border-radius:20px;background:rgba(77,36,255,.09)}.tbg-live-pickup.is-ready{border-color:rgba(255,191,98,.35);background:rgba(255,191,98,.08)}.tbg-live-pickup-pin{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.06);color:#a996ff;font-size:1.35rem}.tbg-live-pickup span{display:block;color:#8c76ff;font-size:.62rem;font-weight:900;letter-spacing:1px}.tbg-live-pickup strong{display:block;margin-top:3px;color:#fff;font-size:.94rem}.tbg-live-pickup p{margin:3px 0 0;color:#9898a3;font-size:.76rem}.tbg-live-pickup>b{padding:8px 10px;border-radius:10px;background:rgba(255,191,98,.13);color:#ffd18c;font-size:.63rem;letter-spacing:.7px;text-align:center}
.tbg-live-parcels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}.tbg-live-parcel{padding:17px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:rgba(0,0,0,.20)}.tbg-live-parcel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tbg-live-parcel-top span{display:block;color:#777d8a;font-size:.59rem;font-weight:900;letter-spacing:1px}.tbg-live-parcel-top strong{display:block;margin-top:5px;color:#fff;font-size:.87rem;text-transform:uppercase}.tbg-live-parcel-top i{width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:#7558ff;box-shadow:0 0 14px rgba(117,88,255,.55)}.tbg-live-parcel.is-delivered .tbg-live-parcel-top i{background:#55d98a;box-shadow:0 0 14px rgba(85,217,138,.5)}.tbg-live-parcel.is-delivery_issue .tbg-live-parcel-top i{background:#ff7184;box-shadow:0 0 14px rgba(255,113,132,.5)}.tbg-live-parcel dl{display:grid;gap:8px;margin:14px 0 0}.tbg-live-parcel dl div{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.tbg-live-parcel dt{color:#74747d;font-size:.64rem;text-transform:uppercase;font-weight:800}.tbg-live-parcel dd{margin:0;color:#d7d7df;font-size:.69rem;font-weight:800;text-align:right;word-break:break-all}.tbg-live-parcel>a{display:inline-flex;margin-top:13px;color:#9b87ff;text-decoration:none;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
.tbg-live-events{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}.tbg-live-event-list{position:relative;display:grid;gap:0;margin-top:8px}.tbg-live-event{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:0 0 21px}.tbg-live-event:not(:last-child)::before{content:"";position:absolute;left:5px;top:13px;bottom:-1px;width:1px;background:rgba(255,255,255,.10)}.tbg-live-event-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:5px;border:2px solid #8d74ff;border-radius:50%;background:#111118;box-shadow:0 0 0 5px rgba(77,36,255,.09)}.tbg-live-event time{display:block;margin-bottom:4px;color:#777d88;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.tbg-live-event strong{display:block;color:#fff;font-size:.88rem;line-height:1.4}.tbg-live-event small{display:block;margin-top:4px;color:#8f8f99;font-size:.7rem}.tbg-live-events-empty{padding:18px;border:1px dashed rgba(255,255,255,.10);border-radius:16px;background:rgba(0,0,0,.15)}.tbg-live-events-empty strong{color:#fff}.tbg-live-events-empty p{margin:5px 0 0;color:#85858f;font-size:.78rem;line-height:1.55}
@media(max-width:760px){.tbg-live-tracking{padding:18px;border-radius:22px}.tbg-live-tracking-head{display:grid}.tbg-live-tracking-state{min-width:0;width:100%}.tbg-live-pickup{grid-template-columns:40px minmax(0,1fr)}.tbg-live-pickup>b{grid-column:1/-1}.tbg-live-parcels{grid-template-columns:1fr}}

/* =====================================================
   PRODUCT EXPERIENCE 2.16.0
   Desktop cockpit + full-width technical deck + add-ons
   ===================================================== */
@media (min-width: 1001px){
    .tbg-single-product-layout{
        grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);
        gap:64px;
        padding-bottom:44px;
        max-width:1480px;
    }
    .tbg-sp-gallery{top:104px;align-self:start;}
    .tbg-sp-main-img{height:min(610px,67vh);min-height:470px;}
    .tbg-sp-info{min-width:0;}
    .tbg-product-detail-deck{
        width:100%;
        max-width:1480px;
        margin:0 auto;
        padding:0 5% 105px;
        display:grid;
        grid-template-columns:minmax(0,1.42fr) minmax(360px,.78fr);
        gap:24px;
        align-items:start;
    }
    .tbg-product-detail-deck-main,
    .tbg-product-detail-deck-side{min-width:0;}
    .tbg-product-detail-deck-main .tbg-product-warranty-box{margin-top:0;height:100%;}
    .tbg-product-detail-deck-side{display:grid;gap:16px;}
    .tbg-product-detail-deck-side .tbg-sp-compatibility-panel,
    .tbg-product-detail-deck-side .tbg-sp-specs,
    .tbg-product-detail-deck-side .tbg-sp-compat-note{margin-top:0;}
    .tbg-product-detail-deck-side .tbg-sp-specs-card{
        padding:20px 22px;
        border:1px solid #1c1e26;
        border-radius:14px;
        background:linear-gradient(180deg,rgba(16,17,22,.82),rgba(8,9,13,.76));
    }
    .tbg-product-detail-deck-side .tbg-sp-specs-card ul{border-top:0;}
}

@media (max-width: 1000px){
    .tbg-product-detail-deck{
        width:100%;
        padding:0 5% 70px;
        display:grid;
        grid-template-columns:1fr;
        gap:18px;
    }
    .tbg-product-detail-deck-main .tbg-product-warranty-box{margin-top:0;}
    .tbg-product-detail-deck-side{display:grid;gap:16px;}
    .tbg-product-detail-deck-side .tbg-sp-compatibility-panel,
    .tbg-product-detail-deck-side .tbg-sp-specs,
    .tbg-product-detail-deck-side .tbg-sp-compat-note{margin-top:0;}
    .tbg-product-detail-deck-side .tbg-sp-specs-card{
        padding:18px;
        border:1px solid #1c1e26;
        border-radius:14px;
        background:linear-gradient(180deg,rgba(16,17,22,.82),rgba(8,9,13,.76));
    }
}

/* Optional cumulativi: separati dalle varianti, leggeri e immediati. */
.tbg-product-addons{
    margin:0 0 26px;
    padding:22px;
    border:1px solid rgba(66,204,171,.20);
    border-radius:18px;
    background:radial-gradient(circle at 100% 0,rgba(40,194,164,.08),transparent 42%),#0b0c10;
}
.tbg-product-addons-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px;}
.tbg-product-addons-head>div>span{display:block;color:#6bd9c0;font-size:.68rem;font-weight:900;letter-spacing:1.4px;}
.tbg-product-addons-head h3{margin:5px 0 5px;color:#fff;font-size:1.22rem;}
.tbg-product-addons-head p{max-width:500px;margin:0;color:#7f8794;font-size:.76rem;line-height:1.5;}
.tbg-product-addons-head>strong{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(85,213,183,.15);border-radius:999px;background:rgba(85,213,183,.055);color:#9ae7d5;font-size:.68rem;white-space:nowrap;}
.tbg-product-addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.tbg-product-addon{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:#08090d;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease;}
.tbg-product-addon:hover{border-color:rgba(93,218,189,.34);transform:translateY(-1px);}
.tbg-product-addon.is-selected{border-color:#55d1b4;background:rgba(61,199,166,.065);box-shadow:0 0 0 1px rgba(85,209,180,.08) inset;}
.tbg-product-addon>input{position:absolute;opacity:0;pointer-events:none;}
.tbg-product-addon-check{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid rgba(255,255,255,.17);border-radius:7px;background:#111219;color:#6f7785;font-size:16px;font-weight:600;line-height:1;transition:.16s ease;}
.tbg-product-addon.is-selected .tbg-product-addon-check{border-color:#55d1b4;background:#55d1b4;color:#06110f;transform:rotate(45deg);}
.tbg-product-addon-copy strong{display:block;color:#fff;font-size:.88rem;line-height:1.25;}
.tbg-product-addon-copy small{display:block;margin-top:5px;color:#858b98;font-size:.74rem;line-height:1.42;}
.tbg-product-addon>em{align-self:center;color:#8ce0cc;font-size:.75rem;font-style:normal;font-weight:900;white-space:nowrap;}
.tbg-product-addons-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;margin-top:12px;padding:13px 15px;border-radius:12px;background:#07080b;}
.tbg-product-addons-summary>span{grid-column:1/-1;color:#666d7b;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;}
.tbg-product-addons-summary>strong{min-width:0;color:#fff;font-size:.86rem;line-height:1.35;}
.tbg-product-addons-summary>em{color:#fff;font-size:1rem;font-style:normal;font-weight:900;white-space:nowrap;}

/* Il totale configurato è il riferimento finale quando ci sono optional. */
#tbgConfiguredTotalPrice:before{content:'Totale ';color:#6b7280;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin-right:6px;}

/* Galleria: rimosso il ritardo artificiale, transizione appena percettibile. */
.tbg-sp-main-img > img#tbgProductMainImage{
    transition:opacity .10s ease,transform .10s ease;
    will-change:opacity,transform;
    backface-visibility:hidden;
    transform:translateZ(0);
}
.tbg-sp-main-img > img#tbgProductMainImage.is-changing{opacity:.88;transform:translateZ(0) scale(.998);}
.tbg-sp-thumb img{transform:translateZ(0);backface-visibility:hidden;}

.tbg-cart-item-addons,.tbg-cart-page-addons{display:block;margin:3px 0;color:#72cfba;font-size:.72rem;font-weight:800;line-height:1.4;}

@media(max-width:720px){
    .tbg-product-addons-head{flex-direction:column;}
    .tbg-product-addons-head>strong{white-space:normal;}
    .tbg-product-addon-grid{grid-template-columns:1fr;}
    .tbg-product-addon{grid-template-columns:28px minmax(0,1fr) auto;}
    .tbg-product-addons-summary{grid-template-columns:1fr;}
    .tbg-product-addons-summary>em{white-space:normal;}
    #tbgConfiguredTotalPrice:before{display:block;margin:0 0 3px;}
}

/* TBG 2.16.1 — configuratore varianti compatto / product-first */
.tbg-production-config-v2{
    padding:20px;
    border-color:rgba(104,76,255,.26);
    background:linear-gradient(145deg,rgba(91,55,255,.075),transparent 34%),#0a0b0f;
}
.tbg-production-config-v2 .tbg-production-config-head{margin-bottom:14px}
.tbg-production-config-intro{
    margin:7px 0 0;
    max-width:440px;
    color:#7f8794;
    font-size:.75rem;
    line-height:1.45;
}
.tbg-production-variant-grid-v2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.tbg-production-variant-v2{
    min-height:82px;
    grid-template-columns:22px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:12px 13px;
    border-radius:12px;
    transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
.tbg-production-variant-v2:hover{
    transform:none;
    border-color:rgba(112,83,255,.42);
    background:#0b0c12;
}
.tbg-production-variant-v2.is-selected{
    border-color:#7255ff;
    background:linear-gradient(135deg,rgba(100,65,255,.13),rgba(100,65,255,.045));
    box-shadow:0 0 0 1px rgba(114,85,255,.08) inset;
}
.tbg-production-variant-v2 .tbg-production-variant-check{
    width:19px;
    height:19px;
}
.tbg-production-variant-v2 .tbg-production-variant-copy{
    min-width:0;
}
.tbg-production-variant-v2 .tbg-production-variant-copy strong{
    font-size:.84rem;
    line-height:1.25;
}
.tbg-production-variant-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px 8px;
    margin-top:7px;
}
.tbg-production-variant-v2 .tbg-production-variant-meta em,
.tbg-production-variant-v2 .tbg-production-variant-meta i{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    margin:0;
    padding:3px 7px;
    border-radius:999px;
    font-size:.65rem;
    font-style:normal;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}
.tbg-production-variant-v2 .tbg-production-variant-meta em{
    background:rgba(112,83,255,.10);
    color:#a99dff;
}
.tbg-production-variant-v2 .tbg-production-variant-meta i{
    background:rgba(255,255,255,.045);
    color:#858c99;
}
.tbg-production-selected-detail{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    margin-top:11px;
    padding:14px 15px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:12px;
    background:#07080b;
}
.tbg-production-selected-copy{min-width:0}
.tbg-production-selected-copy>span,
.tbg-production-selected-price small{
    display:block;
    color:#666d7b;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.9px;
}
.tbg-production-selected-copy>strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:.88rem;
    line-height:1.3;
}
.tbg-production-selected-copy>p{
    margin:6px 0 0;
    color:#898f9b;
    font-size:.72rem;
    line-height:1.45;
}
.tbg-production-selected-copy>p[hidden]{display:none!important}
.tbg-production-selected-price{
    min-width:145px;
    text-align:right;
}
.tbg-production-selected-price>span{
    display:block;
    margin-bottom:7px;
    color:#9c90ff;
    font-size:.66rem;
    font-weight:800;
    white-space:nowrap;
}
.tbg-production-selected-price>em{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:1.08rem;
    font-style:normal;
    font-weight:900;
    white-space:nowrap;
}
@media(max-width:720px){
    .tbg-production-config-v2{padding:17px}
    .tbg-production-variant-grid-v2{grid-template-columns:1fr}
    .tbg-production-variant-v2{min-height:72px}
    .tbg-production-selected-detail{grid-template-columns:1fr;gap:12px}
    .tbg-production-selected-price{text-align:left;min-width:0}
    .tbg-production-selected-price>span{white-space:normal}
}

/* =====================================================
   TBG 2.16.2
   Product page desktop gap closure / dual-column flow
   ===================================================== */
@media (min-width: 1001px){
    .tbg-single-product-layout.tbg-single-product-layout-v4{
        grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
        gap:34px;
        padding-bottom:105px;
        max-width:1480px;
        align-items:start;
    }
    .tbg-single-product-layout-v4 .tbg-product-column{
        min-width:0;
        display:grid;
        align-content:start;
    }
    .tbg-single-product-layout-v4 .tbg-product-column-main{gap:24px;}
    .tbg-single-product-layout-v4 .tbg-product-column-side{gap:20px;}
    .tbg-single-product-layout-v4 .tbg-sp-gallery{
        position:sticky;
        top:104px;
        align-self:start;
    }
    .tbg-single-product-layout-v4 .tbg-sp-main-img{
        height:min(610px,67vh);
        min-height:470px;
    }
    .tbg-single-product-layout-v4 .tbg-sp-actions{margin-bottom:0;}
    .tbg-single-product-layout-v4 .tbg-product-side-lower{
        display:grid;
        gap:16px;
        min-width:0;
    }
    .tbg-single-product-layout-v4 .tbg-product-inline-detail-warranty.is-mobile{display:none;}
    .tbg-single-product-layout-v4 .tbg-product-inline-detail-warranty .tbg-product-warranty-box{
        margin-top:0;
        height:auto;
    }
    .tbg-single-product-layout-v4 .tbg-product-side-lower .tbg-sp-compatibility-panel,
    .tbg-single-product-layout-v4 .tbg-product-side-lower .tbg-sp-specs,
    .tbg-single-product-layout-v4 .tbg-product-side-lower .tbg-sp-compat-note{
        margin-top:0;
    }
    .tbg-single-product-layout-v4 .tbg-product-side-lower .tbg-sp-specs-card,
    .tbg-single-product-layout-v4 .tbg-product-inline-detail-warranty .tbg-product-warranty-box{
        border-radius:18px;
    }
}

@media (max-width: 1000px){
    .tbg-single-product-layout.tbg-single-product-layout-v4{
        grid-template-columns:1fr;
        gap:28px;
        padding-bottom:70px;
    }
    .tbg-single-product-layout-v4 .tbg-product-column,
    .tbg-single-product-layout-v4 .tbg-product-column-side,
    .tbg-single-product-layout-v4 .tbg-product-side-lower{
        display:grid;
        gap:18px;
    }
    .tbg-single-product-layout-v4 .tbg-product-inline-detail-warranty.is-desktop{display:none;}
    .tbg-single-product-layout-v4 .tbg-product-inline-detail-warranty .tbg-product-warranty-box{margin-top:0;}
}

/* =========================================================
   TBG 2.16.9 — Client profile long identity hardening
   Prevents long emails/display names from escaping the desktop sidebar.
   ========================================================= */
.tbg-client-profile-card{
    min-width:0;
    overflow:hidden;
}
.tbg-client-profile-card .tbg-client-avatar{
    flex:0 0 auto;
}
.tbg-client-profile-copy{
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
    overflow:hidden;
}
.tbg-client-profile-copy .tbg-client-label{
    max-width:100%;
}
.tbg-client-profile-copy h3,
.tbg-client-profile-copy p{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
@media (min-width:1101px){
    .tbg-client-profile-copy h3{
        font-size:clamp(.82rem,.78vw,.96rem)!important;
        letter-spacing:.25px!important;
    }
    .tbg-client-profile-copy p{
        font-size:.75rem!important;
    }
}

/* =========================================================
   TBG 2.16.10 — Product UX refinement
   Desktop optional disclosure + mobile feature list cleanup
   ========================================================= */

/* Desktop: keep the optional configurator compact on first view.
   The customer sees the first four choices immediately and can reveal the rest. */
.tbg-product-addons-toggle{
    display:none;
    width:100%;
    min-height:44px;
    margin-top:11px;
    padding:0 15px;
    border:1px solid rgba(85,209,180,.14);
    border-radius:12px;
    background:rgba(85,209,180,.035);
    color:#94ddcc;
    font:800 .7rem/1 Montserrat,Inter,system-ui,sans-serif;
    letter-spacing:.45px;
    cursor:pointer;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.tbg-product-addons-toggle:hover{
    border-color:rgba(85,209,180,.34);
    background:rgba(85,209,180,.065);
    color:#b5f0e2;
}
.tbg-product-addons-toggle svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    transition:transform .18s ease;
}
.tbg-product-addons-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}

@media(min-width:1001px){
    .tbg-product-addons{
        padding:20px;
    }
    .tbg-product-addon-grid{
        gap:9px;
    }
    .tbg-product-addon{
        min-height:92px;
        padding:13px;
        grid-template-columns:26px minmax(0,1fr) auto;
        gap:9px;
        align-items:start;
    }
    .tbg-product-addon-copy strong{
        font-size:.83rem;
        line-height:1.28;
    }
    .tbg-product-addon-copy small{
        margin-top:4px;
        font-size:.69rem;
        line-height:1.38;
    }
    .tbg-product-addon>em{
        padding-top:2px;
        font-size:.71rem;
    }
    .tbg-product-addon.is-desktop-extra{
        display:none;
    }
    .tbg-product-addon-grid.is-expanded .tbg-product-addon.is-desktop-extra{
        display:grid;
        animation:tbgAddonReveal .18s ease both;
    }
    .tbg-product-addons-toggle{
        display:flex;
    }
}

@keyframes tbgAddonReveal{
    from{opacity:0;transform:translateY(-4px)}
    to{opacity:1;transform:none}
}

/* Mobile: the old 2x2 feature cards became tall and text-heavy.
   Turn them into a clean single-column technical list without changing desktop. */
@media(max-width:720px){
    .tbg-sp-variants{
        margin-top:2px;
    }
    .tbg-sp-variants h4{
        margin:0 0 13px;
        color:#d9d9de;
        font-size:.76rem;
        line-height:1.35;
        letter-spacing:1.35px;
    }
    .tbg-variant-grid{
        grid-template-columns:1fr;
        gap:9px;
        margin-bottom:28px;
    }
    .tbg-variant-card{
        position:relative;
        display:grid;
        gap:4px;
        min-height:0;
        padding:14px 16px 14px 19px;
        border:1px solid rgba(255,255,255,.095);
        border-radius:13px;
        background:linear-gradient(135deg,rgba(255,255,255,.024),transparent 55%),#08090c;
        text-align:left;
        overflow:hidden;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
    }
    .tbg-variant-card::before{
        content:"";
        position:absolute;
        left:0;
        top:12px;
        bottom:12px;
        width:3px;
        border-radius:0 3px 3px 0;
        background:linear-gradient(180deg,#7658ff,#9e8aff);
        opacity:.78;
    }
    .tbg-variant-card span{
        font-size:.9rem;
        line-height:1.3;
        letter-spacing:-.01em;
    }
    .tbg-variant-card small{
        color:#8f939d;
        font-size:.76rem;
        line-height:1.45;
    }
    .tbg-spec-option-card:hover,
    .tbg-spec-option-card.selected{
        border-color:rgba(255,255,255,.095)!important;
        background:linear-gradient(135deg,rgba(255,255,255,.024),transparent 55%),#08090c!important;
    }

    /* Mobile optional cards were already working well: never collapse them. */
    .tbg-product-addon.is-desktop-extra{display:grid;}
    .tbg-product-addons-toggle{display:none!important;}
}
@media(min-width:1001px){
    /* Never hide an option the customer has already selected. */
    .tbg-product-addon.is-desktop-extra.is-selected{
        display:grid;
    }
}

/* =========================================================
   TBG 2.16.11 — PRODUCT RECOMMENDATIONS
   Amazon-style discovery, but visually aligned with TBG.
   Desktop: premium horizontal rail. Mobile: native swipe/snap.
   ========================================================= */
.tbg-related-products{
    position:relative;
    width:100%;
    padding:78px 5% 86px;
    border-top:1px solid #17171c;
    border-bottom:1px solid #17171c;
    background:
        radial-gradient(circle at 84% 4%,rgba(77,36,255,.13),transparent 31%),
        linear-gradient(180deg,#050506 0%,#08080b 54%,#040405 100%);
    overflow:hidden;
}
.tbg-related-products::before{
    content:"";
    position:absolute;
    top:0;
    left:5%;
    width:110px;
    height:2px;
    background:linear-gradient(90deg,var(--tbg-purple),rgba(141,119,255,0));
    box-shadow:0 0 22px rgba(77,36,255,.45);
}
.tbg-related-products__head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:36px;
    max-width:1500px;
    margin:0 auto 30px;
}
.tbg-related-products__heading{max-width:790px}
.tbg-related-products__eyebrow{
    display:block;
    margin-bottom:10px;
    color:#8e73ff;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:1.75px;
}
.tbg-related-products__heading h2{
    margin:0;
    color:#fff;
    font-size:clamp(2rem,3.35vw,3.85rem);
    line-height:.95;
    letter-spacing:-2px;
    font-weight:900;
}
.tbg-related-products__heading p{
    max-width:720px;
    margin:15px 0 0;
    color:#848895;
    font-size:.86rem;
    line-height:1.65;
}
.tbg-related-products__controls{
    display:flex;
    align-items:center;
    gap:9px;
    flex:0 0 auto;
}
.tbg-related-products__controls button{
    appearance:none;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid #252630;
    border-radius:50%;
    background:#0d0e13;
    color:#fff;
    cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease;
}
.tbg-related-products__controls button svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
}
.tbg-related-products__controls button:hover:not(:disabled){
    transform:translateY(-2px);
    border-color:rgba(126,95,255,.72);
    background:rgba(77,36,255,.13);
    color:#a995ff;
}
.tbg-related-products__controls button:disabled{opacity:.28;cursor:default}
.tbg-related-products:not(.is-scrollable) .tbg-related-products__controls{visibility:hidden}

.tbg-related-products__viewport{
    position:relative;
    max-width:1500px;
    margin:0 auto;
}
.tbg-related-products__track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:3px 2px 12px;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    outline:none;
}
.tbg-related-products__track::-webkit-scrollbar{display:none}
.tbg-related-products__track:focus-visible{outline:1px solid rgba(120,91,255,.55);outline-offset:7px;border-radius:14px}

.tbg-related-card{
    position:relative;
    flex:0 0 calc((100% - 54px)/4);
    min-width:0;
    scroll-snap-align:start;
    overflow:hidden;
    border:1px solid #1f2027;
    border-radius:18px;
    background:linear-gradient(180deg,#0d0e12 0%,#090a0e 100%);
    box-shadow:0 18px 48px rgba(0,0,0,.18);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.tbg-related-card:hover{
    transform:translateY(-5px);
    border-color:rgba(108,79,255,.5);
    box-shadow:0 28px 62px rgba(0,0,0,.34),0 0 0 1px rgba(86,57,226,.08);
}
.tbg-related-card__media{
    position:relative;
    height:232px;
    overflow:hidden;
    border-bottom:1px solid #1c1d24;
    background:
        radial-gradient(circle at 50% 40%,rgba(255,255,255,.055),transparent 48%),
        linear-gradient(145deg,#17181e,#0e0f13);
}
.tbg-related-card__media>a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    padding:20px;
}
.tbg-related-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    transform:scale(1);
    filter:saturate(.94) contrast(1.02);
    transition:transform .34s cubic-bezier(.2,.7,.2,1),filter .34s ease;
}
.tbg-related-card:hover .tbg-related-card__media img{transform:scale(1.035);filter:saturate(1.04) contrast(1.04)}
.tbg-related-card__reason{
    position:absolute;
    left:13px;
    top:13px;
    z-index:4;
    max-width:calc(100% - 70px);
    padding:7px 9px;
    border:1px solid rgba(145,120,255,.28);
    border-radius:999px;
    background:rgba(8,8,12,.78);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    color:#ad9cff;
    font-size:.54rem;
    font-weight:900;
    letter-spacing:.85px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.tbg-related-card__media .tbg-product-favorite-btn{
    top:12px!important;
    right:12px!important;
    width:36px!important;
    height:36px!important;
    background:rgba(6,6,9,.78);
    border-color:rgba(255,255,255,.13);
}
.tbg-related-card__media .tbg-product-favorite-btn svg{width:18px;height:18px}

.tbg-related-card__body{
    display:flex;
    flex-direction:column;
    min-height:226px;
    padding:19px 19px 18px;
    color:inherit;
    text-decoration:none;
}
.tbg-related-card__status{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:10px;
    color:#737887;
    font-size:.58rem;
    font-weight:850;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.tbg-related-card__status i{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#55dd9a;
    box-shadow:0 0 12px rgba(85,221,154,.4);
}
.tbg-related-card__status.is-on_order i{background:#9b83ff;box-shadow:0 0 12px rgba(155,131,255,.42)}
.tbg-related-card__status.is-unavailable i{background:#6d7079;box-shadow:none}
.tbg-related-card__body h3{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.55em;
    margin:0;
    color:#fff;
    font-size:.98rem;
    font-weight:900;
    line-height:1.28;
    letter-spacing:-.2px;
    text-transform:uppercase;
}
.tbg-related-card__body>p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.8em;
    margin:9px 0 18px;
    color:#747986;
    font-size:.72rem;
    line-height:1.45;
}
.tbg-related-card__footer{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #1c1d23;
}
.tbg-related-card__footer>strong{
    min-width:0;
    color:#9a83ff;
    font-size:1.02rem;
    line-height:1.1;
}
.tbg-related-card__footer .tbg-price-stack{display:inline-flex!important;gap:6px!important;flex-wrap:wrap!important}
.tbg-related-card__footer .tbg-price-stack del{font-size:.68em!important;color:#666b78!important}
.tbg-related-card__footer .tbg-price-stack ins{font-size:1em!important;color:#9a83ff!important}
.tbg-related-card__footer>span{
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
    color:#fff;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.9px;
}
.tbg-related-card__footer>span svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:#957cff;
    stroke-width:1.8;
    transition:transform .2s ease;
}
.tbg-related-card:hover .tbg-related-card__footer>span svg{transform:translateX(3px)}
.tbg-related-products__mobile-hint{display:none}

@media(max-width:1240px){
    .tbg-related-card{flex-basis:calc((100% - 36px)/3)}
}

@media(max-width:900px){
    .tbg-related-products{padding:64px 4% 72px}
    .tbg-related-products__head{align-items:flex-start}
    .tbg-related-card{flex-basis:calc((100% - 18px)/2)}
}

@media(max-width:620px){
    .tbg-related-products{
        padding:54px 0 60px;
        background:
            radial-gradient(circle at 100% 0%,rgba(77,36,255,.13),transparent 36%),
            linear-gradient(180deg,#050506,#08080a 58%,#040405);
    }
    .tbg-related-products::before{left:6vw;width:76px}
    .tbg-related-products__head{
        display:block;
        margin:0 0 22px;
        padding:0 6vw;
    }
    .tbg-related-products__heading h2{font-size:2rem;line-height:.98;letter-spacing:-1.35px}
    .tbg-related-products__heading p{margin-top:12px;font-size:.77rem;line-height:1.58}
    .tbg-related-products__controls{display:none}
    .tbg-related-products__viewport{max-width:none}
    .tbg-related-products__track{
        gap:13px;
        padding:2px 6vw 10px;
        scroll-padding-left:6vw;
    }
    .tbg-related-card{
        flex:0 0 82vw;
        max-width:345px;
        border-radius:17px;
        box-shadow:0 18px 40px rgba(0,0,0,.25);
    }
    .tbg-related-card:hover{transform:none}
    .tbg-related-card__media{height:205px}
    .tbg-related-card__media>a{padding:18px}
    .tbg-related-card__reason{left:11px;top:11px;font-size:.51rem;padding:7px 8px}
    .tbg-related-card__media .tbg-product-favorite-btn{top:10px!important;right:10px!important;width:36px!important;height:36px!important}
    .tbg-related-card__body{min-height:210px;padding:17px 16px 16px}
    .tbg-related-card__body h3{font-size:.94rem;min-height:auto}
    .tbg-related-card__body>p{font-size:.7rem;margin:8px 0 15px;min-height:auto}
    .tbg-related-card__footer{padding-top:13px}
    .tbg-related-card__footer>strong{font-size:1rem}
    .tbg-related-card__footer>span{font-size:.55rem}
    .tbg-related-products__mobile-hint{
        display:flex;
        align-items:center;
        gap:9px;
        margin:10px 0 0;
        padding:0 6vw;
        color:#656a76;
        font-size:.62rem;
        font-weight:800;
        letter-spacing:.45px;
    }
    .tbg-related-products__mobile-hint i{color:#8d76ff;font-style:normal;font-size:1rem}
}


/* =====================================================
   CUSTOM PROJECT 2.17.3 - SCREENING SCANSIONE / LOCALITÀ
   ===================================================== */
.tbg-form-helper{display:block;margin-top:-3px;color:#747b8b;font-size:.7rem;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:600}
.tbg-custom-step-kicker{display:inline-block;margin-bottom:9px;color:#9177ff;font-size:.66rem;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.tbg-custom-location-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(140px,.55fr) minmax(170px,.7fr);gap:16px}
.tbg-custom-location-help{margin:12px 0 0!important;color:#73798a!important;font-size:.72rem!important;line-height:1.55!important}
.tbg-custom-scan-precheck{margin-top:28px;border:1px solid rgba(114,79,255,.25);border-radius:18px;overflow:hidden;background:linear-gradient(145deg,rgba(91,52,255,.085),rgba(255,255,255,.018))}
.tbg-custom-scan-precheck-head{padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.tbg-custom-scan-precheck-head>span{display:block;margin-bottom:7px;color:#9c86ff;font-size:.64rem;font-weight:950;letter-spacing:1px;text-transform:uppercase}
.tbg-custom-scan-precheck-head>strong{display:block;color:#fff;font-size:1.02rem;line-height:1.35}
.tbg-custom-scan-precheck-head>p{margin:8px 0 0!important;color:#a3a8b7!important;font-size:.78rem!important;line-height:1.65!important}
.tbg-scan-choice-fieldset{margin:0;padding:20px 22px 22px;border:0;min-width:0}
.tbg-scan-choice-fieldset legend{display:block;width:100%;padding:0;margin:0 0 14px;color:#e7e8ed;font-size:.82rem;font-weight:800;line-height:1.55}
.tbg-scan-choice-fieldset legend b{color:#8d70ff}
.tbg-scan-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tbg-scan-choice-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#0a0b10;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.tbg-scan-choice-card:hover{transform:translateY(-1px);border-color:rgba(139,111,255,.42)}
.tbg-scan-choice-card input{position:absolute;opacity:0;pointer-events:none}
.tbg-scan-choice-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);color:#73798a;font-size:1.1rem;font-weight:950}
.tbg-scan-choice-copy strong{display:block;color:#fff;font-size:.82rem;line-height:1.35}
.tbg-scan-choice-copy small{display:block;margin-top:5px;color:#777e90;font-size:.68rem;line-height:1.5}
.tbg-scan-choice-card.is-selected{border-color:rgba(96,216,153,.42);background:rgba(61,188,126,.075)}
.tbg-scan-choice-card.is-selected .tbg-scan-choice-mark{border-color:rgba(96,216,153,.38);background:rgba(61,188,126,.12);color:#6ee2a8}
.tbg-scan-choice-card.is-selected.is-negative{border-color:rgba(255,92,111,.42);background:rgba(255,82,105,.065)}
.tbg-scan-choice-card.is-selected.is-negative .tbg-scan-choice-mark{border-color:rgba(255,92,111,.36);background:rgba(255,82,105,.11);color:#ff7889}
.tbg-scan-availability-feedback{display:none;margin-top:14px;padding:13px 14px;border-radius:12px;font-size:.72rem;line-height:1.55}
.tbg-scan-availability-feedback.is-positive,.tbg-scan-availability-feedback.is-negative{display:block}
.tbg-scan-availability-feedback.is-positive{border:1px solid rgba(66,205,137,.25);background:rgba(66,205,137,.06);color:#a8d8be}
.tbg-scan-availability-feedback.is-negative{border:1px solid rgba(255,91,111,.28);background:rgba(255,91,111,.065);color:#efb0b8}
.tbg-scan-availability-feedback strong,.tbg-scan-availability-feedback b{color:#fff}
.tbg-custom-feasibility-notice{margin:0 0 18px;padding:14px 15px;border:1px solid rgba(255,91,111,.28);border-radius:13px;background:rgba(255,91,111,.065);color:#efb0b8;font-size:.72rem;line-height:1.55}
.tbg-custom-feasibility-notice[hidden]{display:none!important}
.tbg-custom-feasibility-notice strong{display:block;margin-bottom:4px;color:#fff;font-size:.78rem}
.tbg-custom-feasibility-notice span{display:block}
@media(max-width:760px){
  .tbg-custom-location-grid,.tbg-scan-choice-grid{grid-template-columns:1fr}
  .tbg-custom-scan-precheck-head,.tbg-scan-choice-fieldset{padding-left:16px;padding-right:16px}
  .tbg-scan-choice-card{grid-template-columns:38px minmax(0,1fr);padding:14px}
  .tbg-scan-choice-mark{width:38px;height:38px}
}


/* =====================================================
   CUSTOM PROJECT 2.17.4 - DESKTOP FIELD ALIGNMENT
   -----------------------------------------------------
   Le label possono andare su due righe (es. modello preciso
   e CAP/codice postale). Su desktop riserviamo la stessa
   altezza alla label così tutti gli input partono sulla
   stessa linea. Il layout mobile resta invariato.
   ===================================================== */
@media (min-width:761px){
  #customProjectForm #step-1 .tbg-form-grid > .tbg-form-group > label,
  #customProjectForm #step-4 .tbg-custom-location-grid > .tbg-form-group > label{
    display:flex;
    align-items:flex-end;
    min-height:2.8em;
    line-height:1.4;
    margin:0;
  }

  #customProjectForm #step-1 .tbg-form-grid,
  #customProjectForm #step-4 .tbg-custom-location-grid{
    align-items:start;
  }

  #customProjectForm #step-1 .tbg-form-group > input,
  #customProjectForm #step-4 .tbg-custom-location-grid .tbg-form-group > input{
    width:100%;
    box-sizing:border-box;
  }
}

@media (min-width:761px) and (max-width:980px){
  #customProjectForm #step-1 .tbg-form-grid > .tbg-form-group > label{
    min-height:4.2em;
  }
}

/* =====================================================
   CUSTOM PROJECT 2.17.5 - GARAGE SCAN INTELLIGENCE
   ===================================================== */
.tbg-vehicle-autocomplete-field{position:relative;min-width:0}
.tbg-vehicle-autocomplete-control{position:relative;width:100%}
.tbg-vehicle-autocomplete-control>input[type="text"]{width:100%;box-sizing:border-box}
.tbg-vehicle-suggestions{
    position:absolute;z-index:90;top:calc(100% + 7px);left:0;right:0;display:none;
    max-height:330px;overflow:auto;padding:7px;border:1px solid #2b2e39;border-radius:13px;
    background:#0b0c11;box-shadow:0 20px 55px rgba(0,0,0,.48);scrollbar-width:thin;scrollbar-color:#393d4b transparent
}
.tbg-vehicle-suggestions.is-open{display:block}
.tbg-vehicle-suggestion{
    width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
    padding:12px 13px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;cursor:pointer;
    font-family:var(--tbg-font);transition:background .16s ease,transform .16s ease
}
.tbg-vehicle-suggestion:hover,.tbg-vehicle-suggestion.is-active{background:rgba(95,61,255,.13);transform:translateX(1px)}
.tbg-vehicle-suggestion span{min-width:0}
.tbg-vehicle-suggestion strong{display:block;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:.78rem;font-weight:900;line-height:1.3;white-space:nowrap}
.tbg-vehicle-suggestion small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:#777f91;font-size:.62rem;font-weight:700;line-height:1.35;white-space:nowrap}
.tbg-vehicle-suggestion em{padding:5px 7px;border:1px solid rgba(92,215,151,.22);border-radius:999px;background:rgba(92,215,151,.06);color:#69dca2;font-size:.52rem;font-style:normal;font-weight:950;letter-spacing:.55px;white-space:nowrap}
.tbg-vehicle-suggestion:not(:last-child){border-bottom:1px solid rgba(255,255,255,.045)}
.tbg-vehicle-match-hint{min-height:1.45em}
.tbg-vehicle-match-hint.is-positive{color:#71d9a7}
.tbg-vehicle-match-hint.is-warning{color:#d3ad62}
.tbg-vehicle-match-hint strong{color:inherit;font-weight:900}
.tbg-custom-scan-precheck{transition:border-color .2s ease,background .2s ease}
.tbg-custom-scan-precheck.is-scan-known{border-color:rgba(67,211,139,.34);background:linear-gradient(145deg,rgba(50,192,120,.09),rgba(255,255,255,.018))}
.tbg-custom-scan-precheck.is-scan-known .tbg-custom-scan-precheck-head{border-bottom:0}
.tbg-custom-scan-precheck.is-scan-known .tbg-custom-scan-precheck-head>span{color:#72dfa8}
.tbg-scan-catalog-match-badge{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;margin:0 22px 22px;padding:14px 15px;border:1px solid rgba(67,211,139,.24);border-radius:13px;background:rgba(67,211,139,.06)}
.tbg-scan-catalog-match-badge[hidden]{display:none!important}
.tbg-scan-catalog-match-badge>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:rgba(67,211,139,.12);color:#72dfa8;font-size:1rem;font-weight:950}
.tbg-scan-catalog-match-badge strong{display:block;color:#fff;font-size:.75rem;font-weight:900;line-height:1.35;text-transform:uppercase;letter-spacing:.45px}
.tbg-scan-catalog-match-badge small{display:block;margin-top:4px;color:#91bfa8;font-size:.68rem;line-height:1.45}
#tbgScanChoiceFieldset[hidden]{display:none!important}
@media(max-width:760px){
    .tbg-vehicle-suggestions{max-height:280px;border-radius:11px}
    .tbg-vehicle-suggestion{padding:11px 10px;gap:8px}
    .tbg-vehicle-suggestion strong{font-size:.73rem}
    .tbg-vehicle-suggestion em{font-size:.47rem;padding:4px 6px}
    .tbg-scan-catalog-match-badge{margin:0 16px 16px}
}

/* Le due prime righe del form ora contengono un wrapper autocomplete. */
@media(min-width:761px){
    #customProjectForm #step-1 .tbg-vehicle-autocomplete-control{width:100%}
    #customProjectForm #step-1 .tbg-vehicle-autocomplete-field>label{min-height:2.8em}
}
.tbg-vehicle-suggestion-skip{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:5px;padding:11px 12px;border:1px dashed rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.02);color:#a7adba;font-family:var(--tbg-font);text-align:left;cursor:pointer}
.tbg-vehicle-suggestion-skip:hover{border-color:rgba(245,182,66,.28);background:rgba(245,182,66,.045);color:#e1c47f}
.tbg-vehicle-suggestion-skip span{font-size:.68rem;font-weight:850;line-height:1.35}
.tbg-vehicle-suggestion-skip small{color:#747b8b;font-size:.58rem;line-height:1.35}
