/* ===============================
   PRIMASHOPPING - CSS OTTIMIZZATO FINALE
   Font: Poppins (body) + Montserrat (titoli)
   =============================== */

/* 0) FONT & VARIABILI */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Poppins:wght@400;500;600;700&display=swap');

@font-face{
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  src:
    url('/files/fonts/material-symbols-outlined.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/materialsymbolsoutlined/v303/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2') format('woff2');
  font-display: swap;
}
.material-symbols-outlined{
  font-family:'Material Symbols Outlined' !important;
  font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  font-feature-settings:'liga' 1;
  font-variant-ligatures: common-ligatures discretionary-ligatures contextual;
  line-height: 1; display: inline-block; -webkit-font-smoothing: antialiased;
}

:root{
  --brand-orange:#f26522;
  --font-body:'Poppins', Arial, sans-serif;
  --font-accent:'Montserrat', Arial, sans-serif;
  --header-blue:#073a67;
  --search-yellow:#ffbf00;
  --search-max:630px;
  --promo-top:#2fe26e; --promo-bottom:#13983a; --promo-border:#0b7c2c;
  --nov-top:#ff5248; --nov-bottom:#c81f19; --nov-border:#9f1914;
  --header-icon-size: 26px;
  --header-icon-grow: 1.10;
}

/* TIPOGRAFIA GLOBALE */
:where(body, input, textarea, select, button, table, p, li, a, span, small){
  font-family: var(--font-body) !important;
}
:where(h1,h2,h3,h4,h5,h6, .boxTitle, .boxTitle span, .title,
       .bigBox .boxColumns .title a, ul > li[id^="webArea_"] > a){
  font-family: var(--font-accent) !important;
  font-weight:700;
}

/* 1) GLOBAL / PRODOTTI */
html, body{
  font-weight: 400;
  font-size: 14px; line-height: 1.5; color:#222;
}

/* Menu principale forti */
ul > li[id^="webArea_"] > a{
  font-family: var(--font-accent) !important;
  font-weight:800;
  text-transform:uppercase; letter-spacing:.03em;
}

/* Titoli prodotto */
.bigBox .boxColumns .title a,
.secondDownBox .title a,
ul.products .title a,
li.product .title a{
  font-family: var(--font-accent) !important;
  font-weight:700;
}

/* PREZZO - Montserrat bold */
.mainPrice{
  display:flex; align-items:baseline; gap:.15em;
  margin:0;
  font-family:var(--font-accent) !important;
  font-weight:800 !important;
}
.mainPriceCurrency{ font-size:16px; line-height:1; }
.mainPriceAmount{ font-size:27px; line-height:1; color:#e10000; letter-spacing:.15px; }
.sIva, .priceMessage{ font-size:12px; color:#888; font-family:var(--font-body) !important; }

@media (max-width:600px){
  .mainPriceCurrency{ font-size:14px; }
  .mainPriceAmount{ font-size:25px; }
}

/* 2) BARRA ALTA */
.barra-alta{
  background-color:#003366;
  color:#fff;
  font-family: Arial, sans-serif;
  font-size:13px;
  padding:6px 10px;
  border-bottom:3px solid var(--brand-orange);
  display:flex; justify-content:center;
}
.barra-sinistra,.barra-centrale{ display:flex; align-items:center; flex-wrap:wrap; }
.barra-alta ul.icone{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; }
.barra-alta ul.icone li{ display:flex; align-items:center; margin-right:20px; gap:6px; white-space:nowrap; }

.barra-alta .material-symbols-outlined{
  font-weight: normal; font-style: normal; font-size:18px; line-height:1;
  -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; 
  font-feature-settings:'liga' 1;
  font-variant-ligatures: common-ligatures discretionary-ligatures contextual;
  vertical-align:middle;
}

@media (max-width:768px){
  .barra-alta{ flex-direction:column; text-align:center; }
  .barra-sinistra,.barra-centrale{ justify-content:center; margin:5px 0; }
  .barra-alta ul.icone{ justify-content:center; }
}

/* 3) SLIDER */
#w_1 li.sy-slide img{
  object-fit: cover !important;
  object-position: center center !important;
}
.sy-box .sy-filler{ padding-top:0 !important; height:420px !important; }
.sy-box,
.sy-box .sy-slides-wrap,
.sy-box .sy-slides-crop,
.sy-box .sy-list,
.sy-box li.sy-slide,
.sy-box li.sy-slide a{ height:420px !important; }
.sy-box li.sy-slide img{
  width:100% !important; height:100% !important;
  object-fit: contain !important;
  object-position:center center !important;
  background:linear-gradient(90deg, rgba(0,0,0,.35), rgba(0,0,0,0) 40%) #f6f6f6;
  display:block;
}
@media (max-width:1024px){
  .sy-box .sy-filler,
  .sy-box, .sy-box .sy-slides-wrap, .sy-box .sy-slides-crop,
  .sy-box .sy-list, .sy-box li.sy-slide, .sy-box li.sy-slide a{ height:340px !important; }
}
@media (max-width:768px){
  .sy-box .sy-filler,
  .sy-box, .sy-box .sy-slides-wrap, .sy-box .sy-slides-crop,
  .sy-box .sy-list, .sy-box li.sy-slide, .sy-box li.sy-slide a{ height:240px !important; }
}

/* 4) HOME: prezzo + bottone carrello (unificato per entrambi i caroselli) */
#firstDownBox .details,
#mostImportantProducts .details{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  background: #f8f8f8 !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
}
#firstDownBox .details .mainPrice,
#mostImportantProducts .details .mainPrice{
  all: unset !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  font-family: var(--font-accent) !important;
  font-weight: 800 !important;
  flex: 1 !important;
  justify-content: center !important;
  box-sizing: border-box;
}
#firstDownBox .details .mainPriceCurrency,
#mostImportantProducts .details .mainPriceCurrency{
  font-size: 16px !important; line-height: 1 !important; color: #e10000 !important;
}
#firstDownBox .details .mainPriceAmount,
#mostImportantProducts .details .mainPriceAmount{
  font-size: 27px !important; line-height: 1 !important; color: #e10000 !important; letter-spacing: 0.15px !important;
}
#firstDownBox .details .sIva,
#firstDownBox .details .priceMessage,
#mostImportantProducts .details .sIva,
#mostImportantProducts .details .priceMessage{
  font-size: 11px !important; color: #888 !important;
  font-family: var(--font-body) !important; margin: 0 !important; white-space: nowrap !important;
}

/* Bottone carrello rotondo unificato */
#firstDownBox .details .cart_form,
#mostImportantProducts .details .cart_form{
  all: unset !important;
  display: flex !important; flex-shrink: 0 !important;
  justify-content: center !important; align-items: center !important;
  box-sizing: border-box;
}
#firstDownBox .details .cart_form_quantity,
#mostImportantProducts .details .cart_form_quantity{ 
  display: none !important; 
}
#firstDownBox .details .cart_form input[type="submit"],
#mostImportantProducts .details .cart_form input[type="submit"]{
  all: unset !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 58px !important; height: 58px !important; border-radius: 50% !important;
  cursor: pointer !important; box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
  background-color: #ffd700 !important; border: 1px solid #e6c200 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23333' d='M7 18c-.83 0-1.5.67-1.5 1.5S6.17 21 7 21s1.5-.67 1.5-1.5S7.83 18 7 18zm10 0c-.83 0-1.5.67-1.5 1.5S16.17 21 17 21s1.5-.67 1.5-1.5S17.83 18 17 18zM7.16 14h9.45c.75 0 1.4-.41 1.74-1.03l3.58-6.49A1 1 0 0 0 21.1 5H6.21l-.94-2H1v2h2l3.6 7.59-1.35 2.44C4.52 15.37 5.48 17 7 17h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12L7.16 14z'/></svg>") !important;
  background-repeat: no-repeat !important; background-position: center !important; background-size: 30px !important;
  -webkit-appearance: none; appearance: none;
  font-size: 0 !important; color: transparent !important; text-indent: -9999px !important; overflow: hidden !important;
}
#firstDownBox .details .cart_form input[type="submit"]:hover,
#mostImportantProducts .details .cart_form input[type="submit"]:hover{
  background-color: #e6c200 !important; transform: scale(1.05) !important;
}
#firstDownBox .details .cart_form input[type="submit"]:focus-visible,
#mostImportantProducts .details .cart_form input[type="submit"]:focus-visible{
  outline: 2px solid rgba(0,0,0,.6); outline-offset: 2px;
}

@media (max-width:600px){
  #firstDownBox .details .cart_form input[type="submit"],
  #mostImportantProducts .details .cart_form input[type="submit"]{
    width: 50px !important; height: 50px !important; background-size: 26px !important;
  }
}

/* 5) HEADER: barra di ricerca */
#top_buttons_wrapper{ background:var(--header-blue); }

#top_buttons_wrapper > .top_buttons{
  display:flex !important; align-items:center !important; gap:16px !important;
}

#top_buttons_wrapper .box_search{
  flex: 1 1 auto !important;
  min-width: 0;
  display:flex !important; justify-content:center !important; align-items:center !important;
  gap:16px !important;
}

#top_buttons_wrapper .box_search .headForm{
  width:100% !important; max-width:var(--search-max) !important; min-width:420px !important;
}

#top_buttons_wrapper .box_search .box_text_search{
  position:relative; display:flex; align-items:center;
  background:#fff; border-radius:16px; padding:8px;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

#top_buttons_wrapper .box_search .txt_search{
  width:100%; height:58px; border:0; outline:0; border-radius:12px;
  padding:0 96px 0 18px; font-size:18px; color:#222;
}

#top_buttons_wrapper .box_search .btn_search.main_butt{ display:none !important; }
#top_buttons_wrapper .box_search .btn_search.responsive_butt{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:84px; height:48px; border:0; border-radius:12px;
  background:var(--search-yellow);
  cursor:pointer; text-indent:-9999px; box-shadow:0 10px 22px rgba(0,0,0,.22);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/></svg>");
  background-repeat:no-repeat; background-position:center; background-size:28px;
}

/* Placeholder personalizzato */
#top_buttons_wrapper .box_search .txt_search::placeholder{ color:transparent; }
#top_buttons_wrapper .box_search .box_text_search::before{
  content:"Che cosa stai cercando?";
  position:absolute; left:18px; top:50%; transform:translateY(-50%);
  color:#8f9aa6; font-size:18px; pointer-events:none; white-space:nowrap;
  transition:opacity .15s ease;
}
#top_buttons_wrapper .box_search .box_text_search:focus-within::before{ opacity:0; }

/* Login + Carrello: icone Material +10% */
#top_login_button > a,
#top_cart_button  > a{
  position: relative;
  line-height: 1;
  background: none !important;
  overflow: visible;
}
#top_login_button > a::after{
  content: "person";
  font-family: 'Material Symbols Outlined' !important;
  font-variation-settings: 'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  color:#fff;
  position:absolute; inset:0; display:grid; place-items:center;
  font-size: calc(var(--header-icon-size) * var(--header-icon-grow));
  pointer-events:none;
}
#top_cart_button  > a::after{
  content: "shopping_bag";
  font-family: 'Material Symbols Outlined' !important;
  font-variation-settings: 'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  color:#fff;
  position:absolute; inset:0; display:grid; place-items:center;
  font-size: calc(var(--header-icon-size) * var(--header-icon-grow));
  pointer-events:none;
}
#top_cart_button  > a > span{ padding-left: 0.4rem; }

/* ================================
   6) CATEGORIE HOMEPAGE - SISTEMA UNIFICATO
   ================================ */

/* HOME - Categorie grandi con immagine (usando il selettore super-specifico) */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc{
  clear: both !important;
  float: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
  justify-content: center !important;
  list-style: none;
  margin: 0; 
  padding: 10px 0;
  width: 100% !important;
  max-width: 100% !important;
}

body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li{
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  display: block !important;
}

body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li > a.folder{
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.10) !important;
  background: #111;
}

@supports not (aspect-ratio: 16/9){
  body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li > a.folder{
    height: 0 !important;
    padding-top: 56.25% !important;
  }
}

body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li > a.folder > img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .45s ease, filter .45s ease !important;
}
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li > a.folder:hover > img{
  transform: scale(1.05) !important;
  filter: saturate(1.06) !important;
}

/* Gradiente lettura rimosso per lasciare solo il pulsante arancione */

/* Badge "SCOPRI DI +" in alto a sinistra */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc a.folder::after{
  content:"SCOPRI DI +";
  position:absolute; top:14px; left:14px;
  background: var(--header-blue); color:#fff;
  font: 700 13px/1 var(--font-accent, Montserrat), Arial, sans-serif;
  padding:8px 12px; border-radius:10px;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}

/* Titolo su banner arancione in basso */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .boxTitle{
  position:absolute; left:14px; right:14px; bottom:14px;
  margin:0; padding:0;
  z-index:1;
}
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .boxTitle > span{
  display:inline-block;
  background: var(--brand-orange);
  color:#fff; padding:12px 16px; border-radius:10px;
  font: 800 20px/1.1 var(--font-accent, Montserrat), Arial, sans-serif;
  letter-spacing:.02em; text-transform:uppercase;
  box-shadow: 0 8px 18px rgba(242,101,34,.35);
}

body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc a.folder:focus-visible{
  outline:3px solid rgba(7,58,103,.8); outline-offset:3px;
}

/* ALTRE PAGINE - Pulsanti al posto delle card (usa :has() per rilevare #mainSearchFormBox) */
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 15px !important;
  padding: 20px !important;
  grid-template-columns: none !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 280px !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: unset !important;
  padding: 16px 20px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
  border: 2px solid #e9ecef !important;
  box-shadow: 
    0 4px 12px rgba(0,0,0,0.08),
    0 2px 4px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: visible !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover {
  transform: translateY(-3px) !important;
  background: linear-gradient(135deg, #fff 0%, #f1f3f4 100%) !important;
  border-color: var(--brand-orange) !important;
  box-shadow: 
    0 8px 24px rgba(0,0,0,0.12),
    0 4px 8px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,1),
    0 0 0 3px rgba(242,101,34,0.1) !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a::before,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a::after {
  display: none !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc img {
  display: none !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .wrap_desc {
  display: none !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle {
  position: static !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle > span {
  display: inline-block !important;
  color: var(--header-blue) !important;
  font: 700 15px/1.3 var(--font-accent, Montserrat), Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color 0.3s ease !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover .boxTitle > span {
  color: var(--brand-orange) !important;
}

/* 7) CATEGORIE NAVIGATION: icone Material primo livello */
#categories{
  --cat-ico-size: 22px;
  --cat-ico-color:#333;
  --cat-ico-hover: var(--brand-orange);
  --cat-ico-fill: 1;
  --cat-ico-wght: 600;
  --cat-ico-opsz: 40;
}
#categories > ul > li > a{
  display:flex; align-items:center; gap:10px;
  padding:10px 8px;
}
#categories > ul > li > a::before{
  content:"category";
  font-family:'Material Symbols Outlined' !important;
  font-variation-settings:
    'FILL' var(--cat-ico-fill),
    'wght' var(--cat-ico-wght),
    'GRAD' 0,
    'opsz' var(--cat-ico-opsz);
  font-feature-settings:'liga' 1;
  font-variant-ligatures: common-ligatures discretionary-ligatures contextual;
  font-size: calc(var(--cat-ico-size) * 1.15);
  line-height:1; color:var(--cat-ico-color);
  width:1.6em; text-align:center; flex:0 0 1.6em;
}
#categories > ul > li > a:hover::before{ color:var(--cat-ico-hover); }

/* Mappature specifiche per categoria */
#categories > ul > li > a[href*="informatica."]::before{ content:"desktop_windows"; }
#categories > ul > li > a[href*="notebook-tablet"]::before{ content:"laptop"; }
#categories > ul > li > a[href*="consumabili-toner-cartucce"]::before{ content:"print"; }
#categories > ul > li > a[href*="monitor-lcd."]::before{ content:"monitor"; }
#categories > ul > li > a[href*="scanner-stampanti"]::before{ content:"print"; }
#categories > ul > li > a[href*="elettrodomestici"]::before{ content:"blender"; }
#categories > ul > li > a[href*="ufficio."]::before{ content:"work"; }
#categories > ul > li > a[href*="telefonia-gps"]::before{ content:"smartphone"; }
#categories > ul > li > a[href*="hobby."]::before{ content:"sports_esports"; }
#categories > ul > li > a[href*="elettroutensili"]::before{ content:"handyman"; }
#categories > ul > li > a[href*="utensili."]::before{ content:"build"; }
#categories > ul > li > a[href*="casa-e-giardino"]::before{ content:"yard"; }
#categories > ul > li > a[href*="attrezzatura."]::before{ content:"engineering"; }
#categories > ul > li > a[href*="estensione-di-garanzia"]::before{ content:"verified_user"; }

/* Nessuna icona ai livelli successivi */
#categories ul ul a::before{ content:none !important; }

/* 8) BADGE Promo / Novita - pill 3D lucide */
:root :is(span,a,div,strong,i,em,b,button)[class*="promo" i][class],
:root :is(span,a,div,strong,i,em,b,button)[class*="novit" i][class]{
  position:relative;
  display:inline-flex !important; align-items:center; justify-content:center;
  gap:.45em; vertical-align:middle;
  padding:8px 16px !important;
  border-radius:999px !important;
  font:700 13.5px/1 var(--font-accent, Montserrat) !important;
  letter-spacing:.02em;
  color:#fff !important; text-decoration:none !important; white-space:nowrap;
  border:1px solid transparent !important;
  box-shadow:
    0 10px 18px rgba(0,0,0,.15),
    0 2px 0 rgba(0,0,0,.2),
    inset 0 1.5px 0 rgba(255,255,255,.35),
    inset 0 -1.5px 0 rgba(0,0,0,.15) !important;
  background-image:none !important;
}

:root :is(span,a,div,strong,i,em,b,button)[class*="promo" i][class]{
  background:linear-gradient(180deg, var(--promo-top), var(--promo-bottom)) !important;
  border-color:var(--promo-border) !important;
}
:root :is(span,a,div,strong,i,em,b,button)[class*="novit" i][class]{
  background:linear-gradient(180deg, var(--nov-top), var(--nov-bottom)) !important;
  border-color:var(--nov-border) !important;
}

/* Effetto lucido */
:root :is(span,a,div,strong,i,em,b,button)[class*="promo" i][class]::before,
:root :is(span,a,div,strong,i,em,b,button)[class*="novit" i][class]::before{
  content:""; position:absolute; left:2px; right:2px; top:2px; height:48%;
  border-radius:999px; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.25));
}

/* Icone Material Symbols */
:root :is(span,a,div,strong,i,em,b,button)[class*="promo" i][class]::after,
:root :is(span,a,div,strong,i,em,b,button)[class*="novit" i][class]::after{
  font-family:'Material Symbols Outlined' !important;
  font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  font-size:16px; line-height:1; margin-left:.35em;
}
:root :is(span,a,div,strong,i,em,b,button)[class*="promo" i][class]::after{ content:"sell"; }
:root :is(span,a,div,strong,i,em,b,button)[class*="novit" i][class]::after{ content:"new_releases"; }

/* Micro-interazioni */
:root :is(span,a,div,strong,i,em,b,button)[class*="promo" i][class]:hover,
:root :is(span,a,div,strong,i,em,b,button)[class*="novit" i][class]:hover{
  transform:translateY(-1px);
  box-shadow:
    0 12px 22px rgba(0,0,0,.18),
    0 3px 0 rgba(0,0,0,.22),
    inset 0 1.5px 0 rgba(255,255,255,.38),
    inset 0 -1.5px 0 rgba(0,0,0,.16) !important;
}

/* 9) RASSICURAZIONI */
:is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2){ padding:14px 0; }
:is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .rassi-list{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:36px;
}
:is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .rassi-item{
  display:flex; align-items:center; gap:12px;
  font-weight:800; font-size:20px; color:#111; white-space:nowrap;
}
:is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .material-symbols-outlined{
  font-style:normal; font-weight:normal; font-size:34px; line-height:1;
  font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
}

/* 10) WHATSAPP FAB */
.wa-fab{
  position: fixed;
  left: 18px; bottom: 18px;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25D366;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.22), 0 2px 6px rgba(0,0,0,.18);
  z-index: 9999;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wa-fab:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(0,0,0,.26), 0 4px 10px rgba(0,0,0,.2);
  background:#1ebe5b;
}
.wa-fab:active{ transform: translateY(0); }
.wa-fab svg{ pointer-events:none; }

/* ===== SEZIONE "DICONO DI NOI" - RECENSIONI ===== */
/* Titolo principale "Dicono di noi" con font del sito */
h2:has(font[face="Impact"]),
h2 font[face="Impact"]{
  font-family: var(--font-accent, Montserrat) !important;
  font-weight: 800 !important;
  font-size: 32px !important;
  color: var(--header-blue) !important;
  text-align: center !important;
  margin: 30px 0 15px 0 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  background: linear-gradient(135deg, var(--header-blue) 0%, var(--brand-orange) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Sottotitolo descrittivo */
p:has(font[face="Impact"]),
p font[face="Impact"]{
  font-family: var(--font-body, Poppins) !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: var(--promo-top, #2fe26e) !important;
  text-align: center !important;
  margin: 0 0 25px 0 !important;
  line-height: 1.6 !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* Miglioramento generale per contenuti con font Impact */
font[face="Impact"]{
  font-family: var(--font-accent, Montserrat) !important;
  font-weight: 800 !important;
}

/* Container generale per migliorare la presentazione */
h2[style*="center"] + p[style*="center"]{
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  padding: 30px 20px;
  border-radius: 12px;
  margin: 20px auto;
  max-width: 800px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  border: 1px solid rgba(242,101,34,0.1);
}

/* ===== FOOTER CONTATTI - PRIMA SRLS (consolidato) ===== */
.contact-title{
  display:flex; align-items:center; gap:10px;
  margin:0 0 14px 0;
  font-family: var(--font-accent, Montserrat), Arial, sans-serif;
  font-weight:800; font-size:22px; letter-spacing:.02em;
  color: #fff;
}

/* ICONA GIALLA nel titolo */
.contact-title .material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 40;
  font-size:28px; 
  color: var(--search-yellow) !important;
}

.contact-cols{
  display:grid; gap:18px;
  grid-template-columns: 1fr;   /* mobile */
}

.contact-col{ 
  display:grid; gap:14px; 
}

.contact-line{
  display:grid; grid-template-columns: 28px 1fr; column-gap:12px;
  align-items:start;
}

/* ICONE GIALLE nelle righe di contatto */
.contact-line .material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  font-size:26px; line-height:1; 
  color: var(--search-yellow) !important;
}

.contact-text{
  margin:0; font-size:15px; line-height:1.5;
  font-family: var(--font-body, Poppins), Arial, sans-serif;
  color: rgba(255,255,255,.9);
}

.contact-text a{ 
  color:#fff; 
  text-decoration:underline; 
  text-underline-offset:2px; 
}
.contact-text a:hover{ 
  color: #ffe7d6; 
}

/* Desktop: due colonne */
@media (min-width: 800px){
  .contact-cols{ grid-template-columns: 1fr 1fr; gap:24px 28px; }
}

/* ===== FOOTER CONTATTI: Stili consolidati ===== */
.contact-card,
.footer-contacts,
#contatti-azienda,
.footer-info,
.company-contacts{
  background: var(--brand-orange) !important;
  color: #ffffff !important;
  padding: 20px;
  border-radius: 8px;
}

/* Tutti gli elementi del footer consolidati */
.contact-card h2, .footer-contacts h2, #contatti-azienda h2, .footer-info h2, .company-contacts h2,
.contact-card h3, .footer-contacts h3, #contatti-azienda h3, .footer-info h3, .company-contacts h3,
.contact-card strong, .footer-contacts strong, #contatti-azienda strong, .footer-info strong, .company-contacts strong{
  color: #ffffff !important;
  font-family: var(--font-accent) !important;
}

.contact-card p, .footer-contacts p, #contatti-azienda p, .footer-info p, .company-contacts p,
.contact-card li, .footer-contacts li, #contatti-azienda li, .footer-info li, .company-contacts li{
  color: rgba(255,255,255,.9) !important;
}

.contact-card a, .footer-contacts a, #contatti-azienda a, .footer-info a, .company-contacts a{
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contact-card a:hover, .footer-contacts a:hover, #contatti-azienda a:hover, .footer-info a:hover, .company-contacts a:hover{
  color: #ffe7d6 !important;
}

/* ICONE GIALLE del footer - selettori consolidati */
.contact-card .material-symbols-outlined,
.footer-contacts .material-symbols-outlined,
#contatti-azienda .material-symbols-outlined,
.footer-info .material-symbols-outlined,
.company-contacts .material-symbols-outlined,
footer .material-symbols-outlined,
.footer .material-symbols-outlined,
div[style*="background"] .material-symbols-outlined,
div[style*="#f26522"] .material-symbols-outlined,
div[style*="orange"] .material-symbols-outlined,
*[style*="#f26522"] .material-symbols-outlined,
*[style*="background-color: rgb(242, 101, 34)"] .material-symbols-outlined,
*[style*="background: #f26522"] .material-symbols-outlined{
  color: var(--search-yellow) !important;
  font-variation-settings: 'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  font-size: 24px !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.2));
}

/* ===== FOOTER WIDGETS - LAYOUT DIFFERENZIATO ===== */
/* Widget nella parte CENTRALE della pagina - layout verticale centrato */
main .widget-feedaty,
#content .widget-feedaty,
.widget-feedaty:nth-of-type(1),
.widget-feedaty:nth-of-type(2) {
  display: block !important;
  text-align: center !important;
  margin: 20px auto !important;
  padding: 20px !important;
  max-width: 1200px !important;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
  border: 1px solid rgba(242,101,34,0.1) !important;
}

/* Widget nella parte FINALE della pagina - layout orizzontale */
body > .widget-feedaty:last-of-type,
body > div:last-of-type .widget-feedaty,
.widget-feedaty:nth-last-of-type(1),
.widget-feedaty:nth-last-of-type(2) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  padding: 20px !important;
  margin: 20px auto !important;
  max-width: 1200px !important;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
  border: 1px solid rgba(242,101,34,0.1) !important;
  text-align: center !important;
}

/* Widget individuali - comportamento diverso per posizione */
main .feedaty_widget,
#content .feedaty_widget {
  display: block !important;
  margin: 10px auto !important;
}

body > .widget-feedaty:last-of-type .feedaty_widget,
.widget-feedaty:nth-last-of-type(1) .feedaty_widget,
.widget-feedaty:nth-last-of-type(2) .feedaty_widget {
  display: inline-block !important;
  vertical-align: top !important;
  margin: 10px 15px !important;
}

/* Iframe sempre responsive */
iframe[src*="trovaprezzi"],
iframe[src*="feedaty"],
iframe[src*="reviews"]{
  max-width: none !important;
  width: auto !important;
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
}

/* Sistemazione loghi partner - container centrato (solo footer) */
body > p[align="left"]:has(a[title*="Top Negozi"]),
body > p[align="left"]:has(img[alt*="ShopMania"]){
  text-align: center !important;
  margin: 20px auto !important;
  padding: 15px 20px !important;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
  max-width: 1000px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

/* Loghi partner - dimensioni uniformi */
body > p[align="left"] a img{
  max-height: 45px !important;
  width: auto !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
  filter: grayscale(0.2) opacity(0.9) !important;
}

body > p[align="left"] a img:hover{
  transform: scale(1.05) !important;
  filter: grayscale(0) opacity(1) !important;
}

/* Rimozione spazi e padding inutili */
body > p[align="center"]:empty,
body > p[align="right"]:empty,
body > div[align="left"]:empty{
  display: none !important;
}

/* Scripts nascosti */
script{
  display: none !important;
}

/* Footer generale - tutto centrato */
body > p[align],
body > div[align]{
  text-align: center !important;
  margin: 0 auto !important;
}

/* 11) RESPONSIVE */
@media (max-width:1200px){
  #top_buttons_wrapper .box_search .headForm{ min-width:360px !important; }
  body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width:900px){
  #top_buttons_wrapper .box_search .headForm{ min-width:280px !important; }
}

@media (max-width:768px){
  :is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2){ display:none; }
  
  /* Responsive per sezione recensioni */
  h2 font[face="Impact"]{
    font-size: 28px !important;
  }
  
  p font[face="Impact"]{
    font-size: 16px !important;
  }
  
  h2[style*="center"] + p[style*="center"]{
    padding: 20px 15px;
    margin: 15px auto;
  }
  
  /* Footer responsive */
  body > p[align="left"]:has(a[title*="Top Negozi"]){
    flex-direction: column !important;
    gap: 15px !important;
    padding: 15px !important;
  }
  
  body > p[align="left"] a img{
    max-height: 40px !important;
  }
  
  /* Widget mobile - tutti verticali su mobile */
  .widget-feedaty {
    flex-direction: column !important;
    padding: 20px 15px !important;
  }
  
  .feedaty_widget,
  iframe[src*="trovaprezzi"]{
    display: block !important;
    margin: 10px auto !important;
  }
}

@media (max-width:640px){
  body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  
  body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li{ 
    min-width: 46% !important; 
  }
}

/* MOBILE: torna al layout originale per homepage */
@media (max-width:1024px){
  #firstDownBox .details,
  #mostImportantProducts .details{
    display:block !important;
    background:transparent !important;
    padding:0 !important;
    border-radius:0 !important;
  }
  
  #firstDownBox .details .mainPrice,
  #mostImportantProducts .details .mainPrice{
    all: revert !important;
  }
  
  #firstDownBox .details .cart_form,
  #mostImportantProducts .details .cart_form{
    all: revert !important;
    display:inline-block !important;
  }
  #firstDownBox .details .cart_form_quantity,
  #mostImportantProducts .details .cart_form_quantity{
    display: revert !important;
  }
  
  #firstDownBox .details .cart_form input[type="submit"],
  #mostImportantProducts .details .cart_form input[type="submit"]{
    all: revert !important;
    background:none !important;
    background-image:none !important;
    width:auto !important;
    height:auto !important;
    border-radius:0 !important;
    box-shadow:none !important;
    text-indent:0 !important;
    font-size:inherit !important;
    color:inherit !important;
  }
  
  :is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .rassi-list{ gap:24px; }
  :is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .rassi-item{ font-size:18px; }
}

/* ========================================================================
Categorie: rimuovi la barra nera dietro al titolo */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li > a.folder{
  background: transparent !important;
}

/* spegne ogni overlay/desc dentro la card, tranne il titolo */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc > li > a.folder > *:not(img):not(.boxTitle){
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

*/
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .wrap_desc,
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc [class*="overlay" i],
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc [class*="desc" i]{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .wrap_desc::before,
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .wrap_desc::after{
  content: none !important;
}

/* il contenitore del titolo resta trasparente */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .boxTitle{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .boxTitle::before,
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .boxTitle::after{
  content: none !important;
}

/* rimettiamo intenzionalmente SOLO il pill arancione */
body#body_home.index.wID_37.webAreaID_37 #categoriesBoxes.withDesc .boxTitle > span{
  display:inline-block !important;
  background: var(--brand-orange) !important;
  color:#fff !important;
  padding:12px 16px !important;
  border-radius:10px !important;
  box-shadow: 0 8px 18px rgba(242,101,34,.35) !important;
  position: relative; z-index: 2;   /* sopra a eventuali residui */
}
 */
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle > span,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle *,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle font{
  background: transparent !important;          /* elimina bande grigie */
  background-image: none !important;
  box-shadow: none !important;
  color: var(--header-blue) !important;        /* testo ben leggibile */
  text-shadow: none !important;
}

/* pill in hover/focus */
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover .boxTitle > span,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:focus-visible .boxTitle > span,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover .boxTitle,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:focus-visible .boxTitle{
  background: var(--brand-orange) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  box-shadow: 0 8px 18px rgba(242,101,34,.25) !important;
}

/* assicura che tutti i figli diventino bianchi in hover */
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover .boxTitle *,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:focus-visible .boxTitle *{
  color:#fff !important;
}

/* micro-interazione */
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover{
  transform: translateY(-3px) !important;
}
/* Scheda prodotto  titolo arancioni */
.descriptionBox [bgcolor="#1565C0" i],
.descriptionBox [bgcolor="#1976D2" i],
.descriptionBox [bgcolor="#1E88E5" i],
.descriptionBox [style*="#1565C0" i]{
  background: var(--brand-orange) !important;
  border-color: var(--brand-orange) !important;
}

/* Testo delle barre: bianco + forte */
.descriptionBox [bgcolor="#1565C0" i] *,
.descriptionBox [bgcolor="#1976D2" i] *,
.descriptionBox [bgcolor="#1E88E5" i] *,
.descriptionBox [style*="#1565C0" i] *{
  color:#fff !important;
  font-family: var(--font-accent) !important;
  font-weight: 800 !important;
}

/* angoli e respiro (opzionale, ma carino) */
.descriptionBox table[width="100%"] tr:first-child td[bgcolor],
.descriptionBox table[width="100%"] tr:first-child td[style*="#1565C0" i]{
  border-radius:10px !important;
}
/* Scheda prodotto dentro .descriptionBox 
/* Barra servizi */
.ps-service-bar{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:18px;
  align-items:center;
  background:#fff;
  border:1px solid #eee;
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  font-family: var(--font-body,'Poppins',Arial,sans-serif);
  margin:16px 0;
}

.ps-item{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:#111;
  text-decoration:none; /* per i <a> */
}

.ps-item .material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 40;
  font-size:34px; line-height:1; color:#111;
}

.ps-text{ font-weight:800; font-size:18px; line-height:1.2; }
.ps-sub { font-weight:600; font-size:14px; color:#666; margin-top:2px; }

/* WhatsApp badge */
.ps-wa-badge{
  display:inline-block;
  background:#1FA463; color:#fff;
  font-weight:800; font-size:14px;
  padding:6px 10px; border-radius:10px;
  box-shadow:0 6px 12px rgba(31,164,99,.25);
  margin-top:2px;
}

/* Note compatte */
.ps-notes{
  list-style:none; margin:10px 0 0; padding:0;
  font:600 13px/1.5 var(--font-body,'Poppins',Arial,sans-serif);
  color:#444;
}
.ps-notes li{ margin:4px 0; }
.ps-notes a{ color:#0b7c2c; text-decoration:underline; }

/* Responsive */
@media (max-width: 900px){
  .ps-service-bar{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .ps-service-bar{ grid-template-columns: 1fr; }
  .ps-item .material-symbols-outlined{ font-size:30px; }
  .ps-text{ font-size:16px; }
}
/* LISTA/CATEGORY: titoli prodotto in maiuscolo */
.item h2.title,
.item h2.title a {
  text-transform: uppercase;        /* tutto maiuscolo */
  letter-spacing: .02em;            /* leggero tracking: opzionale */
}

/* SCHEDA PRODOTTO: H1 in maiuscolo */
.col.col1 h1.boxTitle,
.col.col1 h1.boxTitle span {
  text-transform: uppercase;
}

/* (facoltativo) Evita che altre parti prendano il maiuscolo */
.sIva,
.mainPrice,
.breadcrumbs,
.product-badges { 
  text-transform: none;
}
/* LISTA/CATEGORY: titoli H2 */
.productsWrapper .resultBox .content h2.title,
.productsWrapper .resultBox .content h2.title a{
  text-transform: uppercase !important;
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;     /* mobile/base */
  line-height: 1.25 !important;
  letter-spacing: .02em;
}