.elementor-widget-slides .elementor-slide-heading{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-slides .elementor-slide-description{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-slides .elementor-slide-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-9629 .elementor-element.elementor-element-bf05b63 .elementor-repeater-item-9abe181 .swiper-slide-bg{background-color:#1B2A22;background-image:url(https://www.teslagames.it/wp-content/uploads/2026/10/wireless-homepage.png);background-size:cover;}.elementor-9629 .elementor-element.elementor-element-bf05b63 .elementor-repeater-item-de12603 .swiper-slide-bg{background-color:#24160F;background-image:url(https://www.teslagames.it/wp-content/uploads/2026/10/tower-of-sifnos-homepage.png);background-size:cover;}.elementor-9629 .elementor-element.elementor-element-bf05b63 .elementor-repeater-item-acd279b .swiper-slide-bg{background-color:#0E2A33;background-image:url(https://www.teslagames.it/wp-content/uploads/2026/10/great-library-homepage.png);background-size:cover;}.elementor-9629 .elementor-element.elementor-element-bf05b63 .swiper-slide{transition-duration:calc(5000ms*1.2);height:600px;}.elementor-9629 .elementor-element.elementor-element-bf05b63 .swiper-slide-contents{max-width:66%;}.elementor-9629 .elementor-element.elementor-element-bf05b63 .swiper-slide-inner{text-align:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-categories .woocommerce .woocommerce-loop-category__title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-categories .woocommerce-loop-category__title .count{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-9629 .elementor-element.elementor-element-d6b33ce.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-9629 .elementor-element.elementor-element-9aebd85 .gallery-item .gallery-caption{text-align:center;}/* Start custom CSS *//* =========================================================
   TESLA GAMES — HOMEPAGE
   Classi sulle Sezioni:
     tg-hero     → Slides
     tg-perks    → i 4 vantaggi (4 colonne con Editor di testo)
     tg-hprod    → "In preordine" e "Le nostre novità" (Titolo + Prodotti)
     tg-hcat     → Categorie (Titolo + Categorie Prodotto)
     tg-hbanner  → i due banner
     tg-partner  → I nostri Partner (Titolo + Galleria di base)
   Classi sulle Colonne dei banner:
     tg-vip-card, tg-proj-card
   Rosso brand #C4161C
   ========================================================= */

/* ---------- Titoli di sezione con barretta rossa ---------- */
.tg-hprod .elementor-widget.elementor-widget-heading,
.tg-hcat .elementor-widget.elementor-widget-heading,
.tg-partner .elementor-widget.elementor-widget-heading{margin-bottom:22px !important}
.tg-hprod .elementor-widget-heading .elementor-heading-title,
.tg-hcat .elementor-widget-heading .elementor-heading-title,
.tg-partner .elementor-widget-heading .elementor-heading-title{
  display:flex; align-items:center; gap:12px;
  font:600 26px/1.2 'Oswald',sans-serif !important;
  text-transform:uppercase; letter-spacing:.01em;
  color:#1D1D1F !important; margin:0 !important;
}
.tg-hprod .elementor-widget-heading .elementor-heading-title::before,
.tg-hcat .elementor-widget-heading .elementor-heading-title::before,
.tg-partner .elementor-widget-heading .elementor-heading-title::before{
  content:""; flex:none; width:6px; height:24px; border-radius:2px; background:#C4161C;
}

/* Spazi tra le sezioni */
.tg-hprod, .tg-hcat, .tg-hbanner, .tg-partner{padding:28px 0 !important}
.tg-hprod .elementor-widget, .tg-hcat .elementor-widget, .tg-partner .elementor-widget,
.tg-perks .elementor-widget, .tg-hero .elementor-widget{margin-bottom:0 !important}

/* ---------- 1. Hero (Slides) ---------- */
/* In ogni slide: Sfondo → Colore SCURO + Immagine della scatola (PNG trasparente, alta almeno 900px).
   L'immagine viene usata due volte: sfocata come alone colorato e nitida a destra, con ombra. */
.tg-hero{padding:0 !important}
.tg-hero .elementor-widget{margin-bottom:0 !important}
.tg-hero .swiper-slide{overflow:hidden}

/* L'immagine originale si nasconde: la usano i due livelli qui sotto */
.tg-hero .swiper-slide-bg{background-size:0 0 !important}

/* 1) Alone: la scatola enorme e sfocata colora la metà destra */
.tg-hero .swiper-slide-bg::before{
  content:""; position:absolute; inset:-15% -10% -15% 35%;
  background-image:inherit; background-repeat:no-repeat; background-position:center; background-size:cover;
  filter:blur(60px) saturate(1.4); opacity:.75;
  -webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);
          mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);
}
/* 2) La scatola nitida a destra, con ombra e un leggero galleggiamento */
.tg-hero .swiper-slide-bg::after{
  content:""; position:absolute; top:9%; bottom:9%;
  right:max(24px, calc((100% - 1120px) / 2)); width:46%;
  background-image:inherit; background-repeat:no-repeat;
  background-position:right center; background-size:contain;
  filter:drop-shadow(0 34px 38px rgba(0,0,0,.5));
  animation:tgFloat 6s ease-in-out infinite;
}
@keyframes tgFloat{
  0%,100%{transform:translateY(0) rotate(-1.5deg)}
  50%{transform:translateY(-10px) rotate(-.5deg)}
}
@media (prefers-reduced-motion:reduce){
  .tg-hero .swiper-slide-bg::after{animation:none}
}
/* 3) Vignettatura: lato sinistro e bordi più scuri, per far leggere il testo */
.tg-hero .swiper-slide::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 55%),
    radial-gradient(120% 90% at 50% 50%, transparent 60%, rgba(0,0,0,.35) 100%);
}

/* Testo a sinistra, allineato al bordo del contenuto della pagina */
.tg-hero .swiper-slide-inner{
  z-index:2;
  display:flex !important; align-items:center !important; justify-content:flex-start !important;
  padding:0 max(24px, calc((100% - 1120px) / 2)) !important;
  text-align:left !important;
}
.tg-hero .swiper-slide-contents{max-width:min(500px, 46%) !important; margin:0 !important; text-align:left !important}

.tg-hero .elementor-slide-heading{
  font:600 72px/.95 'Oswald',sans-serif !important;
  text-transform:uppercase; letter-spacing:.005em;
  color:#fff !important; margin-bottom:18px !important;
}
.tg-hero .elementor-slide-description{
  font:400 16.5px/1.65 'Inter',sans-serif !important;
  color:rgba(255,255,255,.8) !important; margin-bottom:30px !important;
}
/* Etichetta facoltativa: prima riga della descrizione in <strong> */
.tg-hero .elementor-slide-description strong{
  display:inline-block; margin-bottom:16px; padding:6px 12px; border-radius:20px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  font:600 11.5px/1 'Inter',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#fff;
}
.tg-hero .elementor-slide-button{
  display:inline-flex !important; align-items:center; gap:8px;
  height:54px; padding:0 30px !important;
  background:#C4161C !important; color:#fff !important;
  border:0 !important; border-radius:12px !important;
  box-shadow:0 10px 30px rgba(196,22,28,.35);
  font:600 15px/1 'Inter',sans-serif !important; text-transform:none !important;
  transition:background .15s, transform .15s;
}
.tg-hero .elementor-slide-button::after{content:"→"; transition:transform .15s}
.tg-hero .elementor-slide-button:hover{background:#9E1015 !important; transform:translateY(-1px)}
.tg-hero .elementor-slide-button:hover::after{transform:translateX(3px)}

/* Frecce e pallini */
.tg-hero .elementor-swiper-button{
  z-index:3; width:44px; height:44px; border-radius:50%;
  display:grid !important; place-items:center;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25);
  color:#fff !important; font-size:18px !important;
  backdrop-filter:blur(6px); transition:background .15s;
}
.tg-hero .elementor-swiper-button svg{fill:#fff !important; width:16px; height:16px}
.tg-hero .elementor-swiper-button:hover{background:rgba(255,255,255,.26)}
.tg-hero .swiper-pagination{z-index:3}
.tg-hero .swiper-pagination-bullet{background:#fff !important; opacity:.45}
.tg-hero .swiper-pagination-bullet-active{opacity:1; width:22px; border-radius:4px}

@media (max-width:1024px){
  .tg-hero .elementor-slide-heading{font-size:54px !important}
  .tg-hero .swiper-slide-contents{max-width:50% !important}
}
@media (max-width:767px){
  /* Scatola in alto, testo in basso */
  .tg-hero .swiper-slide-bg::before{inset:-10% -10% 35% -10%}
  .tg-hero .swiper-slide-bg::after{
    top:6%; bottom:auto; height:42%; left:0; right:0; width:auto;
    background-position:center;
  }
  .tg-hero .swiper-slide::after{
    background:linear-gradient(0deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 60%);
  }
  .tg-hero .swiper-slide-inner{align-items:flex-end !important; padding:0 22px 48px !important}
  .tg-hero .swiper-slide-contents{max-width:100% !important}
  .tg-hero .elementor-slide-heading{font-size:36px !important; margin-bottom:10px !important}
  .tg-hero .elementor-slide-description{font-size:14.5px !important; margin-bottom:20px !important}
  .tg-hero .elementor-swiper-button{display:none !important}
}

/* ---------- 2. Vantaggi: 4 riquadri separati ---------- */
/* Ogni Editor di testo: prima riga in grassetto (titolo), poi Maiusc+Invio e la riga piccola */
.tg-perks{padding:24px 0 8px !important}
.tg-perks > .elementor-container{max-width:1120px !important; gap:16px}
.tg-perks .elementor-column{width:calc(25% - 12px) !important}
.tg-perks .elementor-column > .elementor-widget-wrap{
  height:100%; box-sizing:border-box;
  padding:24px 18px 22px !important;
  background:#F7F5F2; border-radius:14px;
  align-content:flex-start;
  transition:background .2s;
}
.tg-perks .elementor-column > .elementor-widget-wrap:hover{background:#F2EEE9}
.tg-perks .elementor-widget{margin:0 !important; width:100% !important}
.tg-perks .elementor-widget-container{
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.tg-perks .elementor-widget-container::before{
  content:""; width:52px; height:52px; border-radius:50%; margin-bottom:14px;
  background:#fff var(--tg-ico) center/24px no-repeat;
  box-shadow:0 0 0 1px #E7E4DF;
}
.tg-perks .elementor-widget-container br{display:none}
.tg-perks, .tg-perks p{
  font:400 13px/1.45 'Inter',sans-serif !important; color:#6B6B70 !important;
  text-align:center !important;
}
.tg-perks p{margin:0 !important}
.tg-perks strong, .tg-perks b{
  display:block; margin-bottom:4px;
  font:600 16px/1.25 'Oswald',sans-serif;
  text-transform:uppercase; letter-spacing:.03em;
  color:#1D1D1F;
}
/* Icone: camion, lucchetto, reso, dado (in ordine di colonna) */
.tg-perks .elementor-column:nth-child(1){--tg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7z'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E")}
.tg-perks .elementor-column:nth-child(2){--tg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}
.tg-perks .elementor-column:nth-child(3){--tg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 0 11H11'/%3E%3C/svg%3E")}
.tg-perks .elementor-column:nth-child(4){--tg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Ccircle cx='8' cy='8' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='16' cy='8' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='8' cy='16' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='16' cy='16' r='1.2' fill='%23C4161C'/%3E%3C/svg%3E")}

@media (max-width:1024px){
  .tg-perks > .elementor-container{flex-wrap:wrap !important}
  .tg-perks .elementor-column{width:calc(50% - 8px) !important}
}
@media (max-width:767px){
  .tg-perks > .elementor-container{gap:10px}
  .tg-perks .elementor-column{width:calc(50% - 5px) !important}
  .tg-perks .elementor-column > .elementor-widget-wrap{padding:18px 12px 16px !important}
  .tg-perks .elementor-widget-container::before{width:42px; height:42px; background-size:20px; margin-bottom:10px}
  .tg-perks, .tg-perks p{font-size:12px !important}
  .tg-perks strong, .tg-perks b{font-size:14.5px}
}

/* ---------- 3–4. In preordine / Novità ---------- */
/* Titolo a sinistra, "Vedi tutti →" (widget Pulsante) a destra */
.tg-hprod .elementor-widget-heading{width:auto !important; flex:1 1 auto}
.tg-hprod .elementor-widget.elementor-widget-button{
  width:auto !important; flex:0 0 auto; align-self:center;
  margin-bottom:22px !important;
}
.tg-hprod .elementor-widget-button .elementor-button{
  display:inline-flex !important; align-items:center; gap:6px;
  padding:6px 0 !important; height:auto;
  background:transparent !important; color:#C4161C !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  font:600 14px/1 'Inter',sans-serif !important; text-transform:none !important;
}
.tg-hprod .elementor-widget-button .elementor-button-content-wrapper::after{
  content:"→"; margin-left:6px; transition:transform .15s;
}
.tg-hprod .elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(3px)}
.tg-hprod .elementor-widget-button .elementor-button:hover{color:#9E1015 !important}
.tg-hprod .elementor-widget-shortcode,
.tg-hprod .elementor-widget-woocommerce-products{width:100% !important}

.tg-hprod .woocommerce-pagination,
.tg-hprod .woocommerce-result-count,
.tg-hprod .woocommerce-ordering{display:none !important}

/* ---------- Card prodotto (stesse dell'archivio) ---------- */
.tg-hprod ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:28px 24px !important; margin:0 !important; padding:0 !important;
}
.tg-hprod ul.products::before,
.tg-hprod ul.products::after{display:none !important}
.tg-hprod ul.products li.product{
  position:relative; display:flex !important; flex-direction:column;
  width:auto !important; float:none !important; margin:0 !important;
  padding:0 0 16px !important;
  background:#fff; border:1px solid #E7E4DF; border-radius:12px; overflow:hidden;
  text-align:left !important;
  transition:box-shadow .2s, transform .2s;
}
.tg-hprod ul.products li.product *{text-align:left !important}
.tg-hprod ul.products li.product::before{
  content:""; position:absolute; top:0; left:0;
  width:100%; aspect-ratio:1/1; background:#F7F5F2;
}
.tg-hprod ul.products li.product:hover{
  box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-2px);
}
.tg-hprod li.product a.woocommerce-LoopProduct-link{
  position:relative; display:flex; flex-direction:column; flex:1;
  text-decoration:none; color:#1D1D1F;
}
.tg-hprod li.product a img{
  display:block; box-sizing:border-box;
  width:100% !important; height:auto !important; aspect-ratio:1/1;
  object-fit:contain; padding:9%; mix-blend-mode:multiply;
  margin:0 0 14px !important; border-radius:0 !important;
}
/* Categoria sopra il titolo (se lo snippet la stampa anche qui) */
.tg-hprod li.product .tg-tag{
  display:block; padding:0 16px; margin:0 0 4px;
  font:600 11px/1.4 'Inter',sans-serif;
  text-transform:uppercase; letter-spacing:.08em; color:#C4161C;
}
.tg-hprod li.product .woocommerce-loop-product__title{
  font:600 15px/1.4 'Inter',sans-serif !important; color:#1D1D1F !important;
  padding:0 16px !important; margin:0 0 10px !important; flex:1;
}
.tg-hprod li.product .price{
  display:flex !important; flex-direction:column; justify-content:center; align-items:flex-start; gap:2px;
  min-height:42px; margin:auto 0 0 !important; padding:0 66px 0 16px;
  font:600 20px/1.1 'Oswald',sans-serif !important; color:#1D1D1F !important;
}
/* Gli importi prendono il colore del contenitore (il tema li colora di azzurro) */
.tg-hprod li.product .price .woocommerce-Price-amount,
.tg-hprod li.product .price bdi{color:inherit !important}
/* Prezzo scontato: vecchio piccolo e barrato sopra, nuovo rosso sotto */
.tg-hprod li.product .price del{
  display:block; opacity:1;
  font:400 13px/1.2 'Inter',sans-serif !important; color:#9A9A9F !important;
}
.tg-hprod li.product .price ins{
  display:block; text-decoration:none;
  font:600 20px/1.1 'Oswald',sans-serif !important; color:#C4161C !important;
}
.tg-hprod li.product .price .tg-b2b-vat{
  font:500 12px/1 'Inter',sans-serif !important; color:#6B6B70 !important; margin-left:2px;
}

/* Tasto carrello: quadrato rosso con icona */
html body .tg-hprod.tg-hprod ul.products li.product a.button{
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:absolute !important; z-index:3 !important;
  top:auto !important; left:auto !important; right:16px !important; bottom:16px !important;
  transform:none !important;
  width:42px !important; height:42px !important; min-width:0 !important; min-height:0 !important;
  padding:0 !important; margin:0 !important;
  border:0 !important; border-radius:10px !important; box-shadow:none !important;
  background-color:#C4161C !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11L21 7H6.2'/%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3C/svg%3E") !important;
  background-position:center !important; background-size:20px 20px !important; background-repeat:no-repeat !important;
  font-size:0 !important; line-height:0 !important; text-indent:-9999px !important;
  color:transparent !important; overflow:hidden !important;
  transition:background-color .15s;
}
html body .tg-hprod.tg-hprod ul.products li.product a.button:hover{background-color:#9E1015 !important}
html body .tg-hprod.tg-hprod ul.products li.product a.button.loading{opacity:.6 !important}
html body .tg-hprod.tg-hprod ul.products li.product a.button.added{
  background-color:#2E7D32 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important;
}
html body .tg-hprod.tg-hprod ul.products li.product a.button img,
html body .tg-hprod.tg-hprod ul.products li.product a.button::before,
html body .tg-hprod.tg-hprod ul.products li.product a.button::after{display:none !important}
.tg-hprod li.product .added_to_cart{display:none !important}

/* Prodotti esauriti: etichetta, foto sbiadita, tasto grigio con freccia */
.tg-hprod ul.products li.product.outofstock a img{opacity:.55}
.tg-hprod ul.products li.product.outofstock::after{
  content:"Esaurito";
  position:absolute; top:12px; left:12px; z-index:2;
  padding:4px 10px; border-radius:6px;
  background:#1D1D1F; color:#fff;
  font:600 11px/1.4 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.08em;
}
html body .tg-hprod.tg-hprod ul.products li.product.outofstock a.button{
  background-color:#E7E4DF !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
  background-size:18px 18px !important;
}
html body .tg-hprod.tg-hprod ul.products li.product.outofstock a.button:hover{background-color:#D6D2CB !important}

/* Preordini (tag "preordine"): etichetta in alto a destra */
/* Se è esaurito vince il badge ESAURITO */
.tg-hprod ul.products li.product.product_tag-preordine:not(.outofstock)::after{
  content:"Preordine";
  position:absolute; top:12px; right:12px; left:auto; z-index:2;
  padding:4px 10px; border-radius:6px;
  border:1px solid #C4161C; background:#fff; color:#C4161C;
  font:600 11px/1.4 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.08em;
}
.tg-hprod ul.products li.product.product_tag-preordine:not(.outofstock) a img{opacity:1}

/* Badge "In offerta" */
.tg-hprod li.product .onsale{
  position:absolute; top:12px; left:12px; right:auto; z-index:2;
  min-width:0; min-height:0; margin:0; padding:4px 10px;
  background:#C4161C; color:#fff; border-radius:6px;
  font:600 11px/1.4 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.08em;
}

/* ---------- 5. Categorie: riquadri con icona (senza immagini) ---------- */
.tg-hcat ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important; margin:0 !important; padding:0 !important;
}
.tg-hcat ul.products::before,
.tg-hcat ul.products::after{display:none !important}
.tg-hcat ul.products li.product-category{
  width:auto !important; float:none !important; margin:0 !important; padding:0 !important;
  background:#F7F5F2; border:1px solid #F7F5F2; border-radius:12px; overflow:hidden;
  transition:background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.tg-hcat ul.products li.product-category:hover{
  background:#fff; border-color:#C4161C;
  transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.tg-hcat li.product-category a{
  display:flex; flex-direction:column; gap:28px;
  padding:22px 20px 20px; text-decoration:none !important;
  /* icona generica (categorie nuove) */
  --tg-cat-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='7' height='7' rx='1.5'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1.5'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1.5'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1.5'/%3E%3C/svg%3E");
}
.tg-hcat li.product-category a::before{
  content:""; width:52px; height:52px; border-radius:50%;
  background:#fff var(--tg-cat-ico) center/26px no-repeat;
  box-shadow:0 0 0 1px #E7E4DF;
}
/* Icone per categoria, riconosciute dal link */
.tg-hcat li.product-category a[href*="giochi-da-tavolo"]{
  --tg-cat-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Ccircle cx='8' cy='8' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='16' cy='8' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='8' cy='16' r='1.2' fill='%23C4161C'/%3E%3Ccircle cx='16' cy='16' r='1.2' fill='%23C4161C'/%3E%3C/svg%3E");
}
.tg-hcat li.product-category a[href*="promo"]{
  --tg-cat-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2'/%3E%3Cpath d='M12 8l1.2 2.5 2.8.4-2 1.9.5 2.7-2.5-1.3-2.5 1.3.5-2.7-2-1.9 2.8-.4z'/%3E%3C/svg%3E");
}
.tg-hcat li.product-category a[href*="accessori"]{
  --tg-cat-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='6' rx='7' ry='3'/%3E%3Cpath d='M5 6v6c0 1.7 3.1 3 7 3s7-1.3 7-3V6'/%3E%3Cpath d='M5 12v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/%3E%3C/svg%3E");
}
.tg-hcat li.product-category a[href*="sapphire"]{
  --tg-cat-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4161C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
/* Niente immagini e niente conteggio */
.tg-hcat li.product-category img{display:none !important}
.tg-hcat li.product-category .count{display:none !important}
.tg-hcat li.product-category .woocommerce-loop-category__title{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  margin:0 !important; padding:0 !important;
  font:600 19px/1.15 'Oswald',sans-serif !important;
  text-transform:uppercase; letter-spacing:.02em; text-align:left !important;
  color:#1D1D1F !important;
}
.tg-hcat li.product-category .woocommerce-loop-category__title::after{
  content:"→"; flex:none; color:#C4161C; font:600 18px/1 'Inter',sans-serif;
  transition:transform .15s;
}
.tg-hcat li.product-category:hover .woocommerce-loop-category__title::after{transform:translateX(3px)}

/* ---------- 6. Banner VIP / Progetti futuri ---------- */
/* Card bianca con fascia colorata a sinistra e icona grande */
.tg-hbanner > .elementor-container{max-width:1120px !important; gap:24px}
.tg-hbanner .elementor-column{width:calc(50% - 12px) !important}
.tg-hbanner .elementor-column > .elementor-widget-wrap{
  position:relative; overflow:hidden;
  display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important;
  align-items:flex-start !important;
  height:100%; min-height:260px; box-sizing:border-box;
  padding:38px 40px 38px 190px !important;
  background:#fff !important;
  border:1px solid #E7E4DF; border-radius:16px;
  transition:box-shadow .2s, transform .2s;
}
.tg-hbanner .elementor-column > .elementor-widget-wrap:hover{
  box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-2px);
}
/* Fascia colorata */
.tg-hbanner .elementor-column > .elementor-widget-wrap::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:150px;
}
.tg-vip-card > .elementor-widget-wrap::before{background:linear-gradient(160deg,#D11A21 0%,#9E1015 100%)}
.tg-proj-card > .elementor-widget-wrap::before{background:linear-gradient(160deg,#2B2B2B 0%,#0E0E0E 100%)}
/* Icona grande nella fascia */
.tg-hbanner .elementor-column > .elementor-widget-wrap::after{
  content:""; position:absolute; left:43px; top:50%; width:64px; height:64px; margin-top:-32px;
  background:#fff;
  -webkit-mask:var(--tg-ico) center/contain no-repeat; mask:var(--tg-ico) center/contain no-repeat;
}
.tg-vip-card{--tg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.8 1.2 6.9-6.2-3.2-6.2 3.2 1.2-6.9-5-4.8 6.9-1z'/%3E%3C/svg%3E")}
.tg-proj-card{--tg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7V16h8v-1.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E")}

.tg-hbanner .elementor-widget{margin:0 !important; width:100% !important; position:relative}

/* Etichetta (Editor di testo prima del Titolo) */
.tg-hbanner .elementor-widget.elementor-widget-text-editor:has(+ .elementor-widget-heading){margin-bottom:10px !important}
.tg-hbanner .elementor-widget-text-editor:has(+ .elementor-widget-heading),
.tg-hbanner .elementor-widget-text-editor:has(+ .elementor-widget-heading) p{
  font:600 12px/1.3 'Inter',sans-serif !important;
  text-transform:uppercase; letter-spacing:.1em;
  color:#C4161C !important; margin:0 !important;
}
.tg-proj-card .elementor-widget-text-editor:has(+ .elementor-widget-heading),
.tg-proj-card .elementor-widget-text-editor:has(+ .elementor-widget-heading) p{color:#6B6B70 !important}

/* Titolo */
.tg-hbanner .elementor-widget.elementor-widget-heading{margin-bottom:14px !important}
.tg-hbanner .elementor-widget-heading .elementor-heading-title{
  font:600 26px/1.15 'Oswald',sans-serif !important;
  text-transform:uppercase; letter-spacing:.01em;
  color:#1D1D1F !important; margin:0 !important;
}

/* Testo (Editor di testo dopo il Titolo) */
.tg-hbanner .elementor-widget.elementor-widget-heading + .elementor-widget-text-editor{margin-bottom:28px !important}
.tg-hbanner .elementor-widget-heading + .elementor-widget-text-editor,
.tg-hbanner .elementor-widget-heading + .elementor-widget-text-editor p{
  font:400 14.5px/1.6 'Inter',sans-serif !important;
  color:#6B6B70 !important; margin:0 !important;
}

/* Pulsante pieno, allineato in basso nelle due card */
.tg-hbanner .elementor-widget.elementor-widget-button{margin-top:auto !important; width:auto !important}
.tg-hbanner .elementor-button{
  display:inline-flex !important; align-items:center;
  height:44px; padding:0 20px !important;
  border:0 !important; border-radius:10px !important; box-shadow:none !important;
  font:600 14.5px/1 'Inter',sans-serif !important; text-transform:none !important;
  color:#fff !important;
  transition:background .15s;
}
.tg-vip-card .elementor-button{background:#C4161C !important}
.tg-vip-card .elementor-button:hover{background:#9E1015 !important}
.tg-proj-card .elementor-button{background:#1D1D1F !important}
.tg-proj-card .elementor-button:hover{background:#000 !important}
.tg-hbanner .elementor-button-content-wrapper::after{content:"→"; margin-left:8px; transition:transform .15s}
.tg-hbanner .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(3px)}

@media (max-width:1024px){
  .tg-hbanner .elementor-column > .elementor-widget-wrap{padding:30px 28px 30px 140px !important}
  .tg-hbanner .elementor-column > .elementor-widget-wrap::before{width:112px}
  .tg-hbanner .elementor-column > .elementor-widget-wrap::after{left:30px; width:52px; height:52px; margin-top:-26px}
}
@media (max-width:767px){
  .tg-hbanner > .elementor-container{gap:16px; flex-wrap:wrap !important}
  .tg-hbanner .elementor-column{width:100% !important}
  /* Fascia in alto invece che a sinistra */
  .tg-hbanner .elementor-column > .elementor-widget-wrap{padding:112px 22px 24px !important; min-height:0}
  .tg-hbanner .elementor-column > .elementor-widget-wrap::before{width:auto; right:0; bottom:auto; height:88px}
  .tg-hbanner .elementor-column > .elementor-widget-wrap::after{left:22px; top:20px; margin-top:0; width:48px; height:48px}
  .tg-hbanner .elementor-widget-heading .elementor-heading-title{font-size:22px !important}
}

/* ---------- 7. Partner ---------- */
.tg-partner .gallery{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:16px !important; margin:0 !important;
}
.tg-partner .gallery br{display:none !important}
.tg-partner .gallery-item{
  width:auto !important; max-width:none !important; margin:0 !important;
  display:grid !important; place-items:center;
  aspect-ratio:3/2; padding:14px !important; box-sizing:border-box;
  background:#fff; border:1px solid #E7E4DF; border-radius:12px;
}
.tg-partner .gallery-icon, .tg-partner .gallery-icon a{display:contents}
.tg-partner .gallery-item img{
  width:auto !important; height:auto !important;
  max-width:100% !important; max-height:64px !important; object-fit:contain;
  border:0 !important; margin:0 !important;
  filter:grayscale(1); opacity:.7; transition:filter .2s, opacity .2s;
}
.tg-partner .gallery-item:hover img{filter:none; opacity:1}
.tg-partner .gallery-caption{display:none !important}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .tg-hprod ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .tg-hcat ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .tg-partner .gallery{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}

/* ---------- Telefono ---------- */
@media (max-width:767px){
  .tg-hprod ul.products{gap:14px 12px !important}
  .tg-hprod li.product .woocommerce-loop-product__title{font-size:13.5px !important; padding:0 12px !important}
  .tg-hprod li.product .price{font-size:17px !important; padding:0 56px 0 12px; min-height:38px}
  .tg-hprod li.product .price ins{font-size:17px !important}
  html body .tg-hprod.tg-hprod ul.products li.product a.button{
    width:38px !important; height:38px !important; right:12px !important; bottom:12px !important;
  }
  .tg-partner .gallery{grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important}
}/* End custom CSS */