/* ===============================
   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');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');

@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;
}

/* Fallback: se Material Symbols non viene caricato, sostituiamo il testo-ligatura con vere icone */
.barra-alta .material-symbols-outlined,
#top_login_button > a,
#top_cart_button > a,
:is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .material-symbols-outlined{
  font-size:0 !important;
}

.barra-alta .material-symbols-outlined::before,
:is(#rassicurazioni, #rassicurazioni-1, #rassicurazioni-2) .material-symbols-outlined::before{
  font-family:'Font Awesome 6 Free' !important;
  font-weight:900 !important;
  font-size:18px !important;
  line-height:1 !important;
  display:inline-block;
  vertical-align:middle;
  color:currentColor;
  content:"\f059";
}

: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;
}

/* 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;
}

.barra-alta ul.icone li:nth-child(1) .material-symbols-outlined::before{ content:"\f48b"; } /* truck-fast */
.barra-alta ul.icone li:nth-child(2) .material-symbols-outlined::before{ content:"\f058"; } /* circle-check */
.barra-alta ul.icone li:nth-child(3) .material-symbols-outlined::before{ content:"\f09d"; } /* lock */
.barra-alta ul.icone li:nth-child(4) .material-symbols-outlined::before{ content:"\f466"; } /* boxes-stacked */
.barra-alta ul.icone li:nth-child(5) .material-symbols-outlined::before{ content:"\f4ad"; } /* comment-dots */
.barra-alta ul.icone li:nth-child(6) .material-symbols-outlined::before{ content:"\f0e0"; } /* envelope */

@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; }
}

/* 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; }
}


/* 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; }
#top_buttons_wrapper .box_search .box_text_search:has(.txt_search:not(:placeholder-shown))::before{ opacity:0; pointer-events:none; }
#top_buttons_wrapper .box_search .box_text_search.has-val::before{ opacity:0 !important; pointer-events:none; }

/* 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: "\f007";
  font-family:'Font Awesome 6 Free' !important;
  font-weight:900 !important;
  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: "\f290";
  font-family:'Font Awesome 6 Free' !important;
  font-weight:900 !important;
  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; }

/* 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: Font Awesome 6 solid */
#categories > ul > li > a{
  display:flex; align-items:center; gap:12px;
  padding:10px 8px;
}
#categories > ul > li > a::before{
  font-family:'Font Awesome 6 Free' !important;
  font-weight:900;
  font-style:normal;
  content:"\f0c9"; /* hamburger fallback */
  font-size:18px; line-height:1;
  color: var(--brand-orange);
  width:1.4em; text-align:center; flex:0 0 1.4em;
  transition: transform .2s ease;
}
#categories > ul > li > a:hover::before{ transform: scale(1.15); }

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ INFORMATICA & PC ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="informatica"]::before        { content:"\f108"; } /* desktop */
#categories > ul > li > a[href*="notebook"]::before           { content:"\f109"; } /* laptop */
#categories > ul > li > a[href*="tablet"]::before             { content:"\f10a"; } /* tablet */
#categories > ul > li > a[href*="monitor"]::before            { content:"\f26c"; } /* tv/monitor */
#categories > ul > li > a[href*="componenti"]::before         { content:"\f2db"; } /* microchip */
#categories > ul > li > a[href*="periferiche"]::before        { content:"\f11c"; } /* keyboard */
#categories > ul > li > a[href*="network"]::before            { content:"\f6ff"; } /* network-wired */
#categories > ul > li > a[href*="workstation"]::before        { content:"\f108"; } /* desktop */
#categories > ul > li > a[href*="gaming"]::before             { content:"\f11b"; } /* gamepad */
#categories > ul > li > a[href*="mouse"]::before              { content:"\f6b0"; } /* computer-mouse */
#categories > ul > li > a[href*="tastier"]::before            { content:"\f11c"; } /* keyboard */
#categories > ul > li > a[href*="cavi"]::before               { content:"\f0c1"; } /* link/cable */
#categories > ul > li > a[href*="ebook"]::before              { content:"\f02d"; } /* book */
#categories > ul > li > a[href*="accessori"]::before          { content:"\f5c7"; } /* puzzle-piece */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ STORAGE & MEMORIE ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="hard-disk"]::before          { content:"\f0a0"; } /* hdd */
#categories > ul > li > a[href*="ssd"]::before                { content:"\f0a0"; } /* hdd */
#categories > ul > li > a[href*="pen-drive"]::before          { content:"\f287"; } /* usb */
#categories > ul > li > a[href*="pendrive"]::before           { content:"\f287"; } /* usb */
#categories > ul > li > a[href*="ram"]::before                { content:"\f538"; } /* memory */
#categories > ul > li > a[href*="memorie"]::before            { content:"\f538"; } /* memory */
#categories > ul > li > a[href*="memory"]::before             { content:"\f538"; } /* memory */
#categories > ul > li > a[href*="backup"]::before             { content:"\f0c7"; } /* floppy/save */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ STAMPA & UFFICIO ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="consumabili"]::before        { content:"\f02f"; } /* print */
#categories > ul > li > a[href*="cartucce"]::before           { content:"\f02f"; } /* print */
#categories > ul > li > a[href*="toner"]::before              { content:"\f02f"; } /* print */
#categories > ul > li > a[href*="scanner"]::before            { content:"\f02f"; } /* print */
#categories > ul > li > a[href*="stampant"]::before           { content:"\f02f"; } /* print */
#categories > ul > li > a[href*="fax"]::before                { content:"\f1ac"; } /* fax */
#categories > ul > li > a[href*="cancelleria"]::before        { content:"\f304"; } /* pen */
#categories > ul > li > a[href*="distruggi"]::before          { content:"\f0c4"; } /* scissors */
#categories > ul > li > a[href*="laminat"]::before            { content:"\f15c"; } /* file */
#categories > ul > li > a[href*="carta"]::before              { content:"\f15c"; } /* file */
#categories > ul > li > a[href*="etichettat"]::before         { content:"\f02b"; } /* tag */
#categories > ul > li > a[href*="ufficio"]::before            { content:"\f0b1"; } /* briefcase */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ AUDIO / VIDEO / FOTO ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="audio"]::before              { content:"\f025"; } /* headphones */
#categories > ul > li > a[href*="audioregistr"]::before       { content:"\f130"; } /* microphone */
#categories > ul > li > a[href*="video"]::before              { content:"\f03d"; } /* video-camera */
#categories > ul > li > a[href*="fotografi"]::before          { content:"\f030"; } /* camera */
#categories > ul > li > a[href*="foto"]::before               { content:"\f030"; } /* camera */
#categories > ul > li > a[href*="cars"]::before               { content:"\f1b9"; } /* car */
#categories > ul > li > a[href*="auto"]::before               { content:"\f1b9"; } /* car */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ TELEFONIA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="telefonia"]::before          { content:"\f3ce"; } /* mobile */
#categories > ul > li > a[href*="smartphone"]::before         { content:"\f3ce"; } /* mobile */
#categories > ul > li > a[href*="gps"]::before                { content:"\f5a0"; } /* location-dot */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ ELETTRODOMESTICI ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="elettrodomestici"]::before   { content:"\f517"; } /* blender */
#categories > ul > li > a[href*="cucina"]::before             { content:"\f2e7"; } /* utensils */
#categories > ul > li > a[href*="preparazione"]::before       { content:"\f2e7"; } /* utensils */
#categories > ul > li > a[href*="conservazione"]::before      { content:"\f2e7"; } /* utensils */
#categories > ul > li > a[href*="forni"]::before              { content:"\f7de"; } /* blender (approx) */
#categories > ul > li > a[href*="fornelli"]::before           { content:"\f7de"; } /* blender */
#categories > ul > li > a[href*="griglie"]::before            { content:"\f7de"; } /* blender */
#categories > ul > li > a[href*="pulizia"]::before            { content:"\f51a"; } /* broom */
#categories > ul > li > a[href*="stiro"]::before              { content:"\f51a"; } /* broom */
#categories > ul > li > a[href*="cura-persona"]::before       { content:"\f553"; } /* spa */
#categories > ul > li > a[href*="persona"]::before            { content:"\f553"; } /* spa */
#categories > ul > li > a[href*="gasator"]::before            { content:"\f0fc"; } /* mug */
#categories > ul > li > a[href*="gelatier"]::before           { content:"\f0fc"; } /* mug */
#categories > ul > li > a[href*="yogurtier"]::before          { content:"\f0fc"; } /* mug */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ HOBBY / SPORT / OUTDOOR ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="hobby"]::before              { content:"\f11b"; } /* gamepad */
#categories > ul > li > a[href*="sport"]::before              { content:"\f44e"; } /* football */
#categories > ul > li > a[href*="outdoor"]::before            { content:"\f4b8"; } /* campground */
#categories > ul > li > a[href*="drone"]::before              { content:"\e206"; } /* drone */
#categories > ul > li > a[href*="toy"]::before                { content:"\f1ae"; } /* child */
#categories > ul > li > a[href*="giocattol"]::before          { content:"\f1ae"; } /* child */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ UTENSILI / ATTREZZATURA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="utensili"]::before           { content:"\f0ad"; } /* wrench */
#categories > ul > li > a[href*="elettroutensili"]::before    { content:"\f0e7"; } /* bolt */
#categories > ul > li > a[href*="attrezzatura"]::before       { content:"\f807"; } /* hard-hat */
#categories > ul > li > a[href*="costruzion"]::before         { content:"\f807"; } /* hard-hat */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ CASA & GIARDINO ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="casa"]::before               { content:"\f015"; } /* house */
#categories > ul > li > a[href*="giardino"]::before           { content:"\f06c"; } /* leaf */
#categories > ul > li > a[href*="giardinaggio"]::before       { content:"\f06c"; } /* leaf */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ GARANZIA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
#categories > ul > li > a[href*="garanzia"]::before           { content:"\e24b"; } /* shield-halved */

/* Nessuna icona ai livelli successivi (lista annidata) */
#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;
}

/* ===== 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; }
}

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

@media (max-width:768px){
  /* 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:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li{ 
    min-width: 46% !important; 
  }
}

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; }


/* 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;
}

/* ORDINI CLIENTE: stato ordine visuale, solo CSS.
   Nota: il CSS non puo' calcolare i giorni trascorsi dalla data ordine. */

tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="spedizione" i]{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  padding:5px 10px !important;
  border-radius:8px !important;
  background:#eef6ff !important;
  color:#0b4a7a !important;
  border:1px solid #9bc8ef !important;
  font-size:0 !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  vertical-align:middle !important;
  white-space:normal !important;
}

tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="spedizione" i]::after{
  content:"In transito per la logistica\A Clicca su dettagli documento \A Richiedi il PDF dell'ordine per vedere la data massima del rilascio del tracking.";
  display:block !important;
  font-size:13px !important;
  white-space:pre-line !important;
}

tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="evadere" i],
tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="DA EVADERE" i],
tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="caricato correttamente" i],
tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="approvvigion" i]{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  padding:4px 10px !important;
  border-radius:8px !important;
  background:#fff7df !important;
  color:#7a4b00 !important;
  border:1px solid #f3cf72 !important;
  font-size:0 !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  vertical-align:middle !important;
}

tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="evadere" i]::after,
tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="caricato correttamente" i]::after,
tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="preparazione" i]::after{
  content:"Ordine caricato correttamente - merce in preparazione";
  font-size:13px !important;
  text-transform:uppercase !important;
}

tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="approvvigion" i]{
  background:#f3f0ff !important;
  color:#49328a !important;
  border-color:#c5b8ff !important;
}

tr.bkg1 td:has(> strong:first-child) > strong:first-child + span.help[title*="approvvigion" i]::after{
  content:"Merce in approvvigionamento";
  font-size:13px !important;
  text-transform:uppercase !important;
}

/* Caso "DA EVADERE" stampato come testo semplice, senza span/help.
   Il CSS non legge il testo, quindi intercettiamo la riga Stato per posizione. */
tr.head + tr.bkg1 + tr.bkg1 > td[colspan="2"]:not(:has(span.help)){
  font-size:0 !important;
}

tr.head + tr.bkg1 + tr.bkg1 > td[colspan="2"]:not(:has(span.help))::before{
  content:"Stato: ";
  font-size:14px !important;
  font-weight:700 !important;
  color:#111 !important;
}

tr.head + tr.bkg1 + tr.bkg1 > td[colspan="2"]:not(:has(span.help))::after{
  content:"Ordine caricato correttamente - merce in preparazione";
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  margin-left:4px !important;
  padding:5px 10px !important;
  border-radius:8px !important;
  background:#fff7df !important;
  color:#7a4b00 !important;
  border:1px solid #f3cf72 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
  vertical-align:middle !important;
}

/* Fallback senza :has(): alcuni template/browser non applicano i selettori sopra */
td[colspan="2"] > strong + span.help[title*="caricato correttamente"],
td[colspan="2"] > strong + span.help[title*="DA EVADERE"],
td[colspan="2"] > strong + span.help[title*="evadere"]{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  padding:5px 10px !important;
  border-radius:8px !important;
  background:#fff7df !important;
  color:#7a4b00 !important;
  border:1px solid #f3cf72 !important;
  font-size:0 !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  vertical-align:middle !important;
}

td[colspan="2"] > strong + span.help[title*="caricato correttamente"]::after,
td[colspan="2"] > strong + span.help[title*="DA EVADERE"]::after,
td[colspan="2"] > strong + span.help[title*="evadere"]::after{
  content:"Ordine caricato correttamente - merce in preparazione";
  font-size:13px !important;
  text-transform:uppercase !important;
}

td[colspan="2"] > strong + span.help[title*="spedizione"]{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  padding:5px 10px !important;
  border-radius:8px !important;
  background:#eef6ff !important;
  color:#0b4a7a !important;
  border:1px solid #9bc8ef !important;
  font-size:0 !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  vertical-align:middle !important;
  white-space:normal !important;
}

td[colspan="2"] > strong + span.help[title*="spedizione"]::after{
  content:"In transito per la logistica\A Clicca su dettagli documento\A Richiedi il PDF dell'ordine per vedere la data massima del rilascio del tracking.";
  display:block !important;
  font-size:13px !important;
  white-space:pre-line !important;
}

/* ===============================
   GEO SCHEDA PRODOTTO
   =============================== */

.geo-scheda {
  font-family: var(--font-body);
  color: #222;
  line-height: 1.6;
  width: 100%;
}

.geo-scheda h2 {
  font-family: var(--font-accent);
  font-size: 1.35em;
  font-weight: 800;
  color: var(--header-blue);
  margin: 0 0 .7em;
  padding-bottom: .4em;
  border-bottom: 3px solid var(--brand-orange);
}

.geo-scheda h3 {
  font-family: var(--font-accent);
  font-size: 1.05em;
  font-weight: 700;
  color: var(--header-blue);
  margin: 1.6em 0 .5em;
  padding-bottom: 3px;
  border-bottom: 1px solid #ddd;
}

.geo-scheda p {
  margin: .4em 0 .8em;
  font-size: .95em;
}

.geo-scheda table {
  width: 100%;
  border-collapse: collapse;
  margin: .5em 0 1em;
  font-size: .9em;
}

.geo-scheda th {
  background: var(--header-blue);
  color: #fff;
  text-align: left;
  padding: 8px 12px;
  font-weight: 600;
}

.geo-scheda td {
  padding: 7px 12px;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: top;
}

.geo-scheda tr:nth-child(even) td {
  background: #f7fafd;
}

.geo-scheda td:first-child {
  font-weight: 600;
  color: #444;
  width: 42%;
}

.geo-scheda .faq-q {
  font-weight: 700;
  color: var(--header-blue);
  margin: 1em 0 .2em;
}

.geo-scheda ul {
  padding-left: 1.3em;
  margin: .4em 0;
}

.geo-scheda ul li {
  margin-bottom: .35em;
  font-size: .92em;
}

.geo-scheda a {
  color: var(--brand-orange);
  text-decoration: none;
}

.geo-scheda a:hover {
  text-decoration: underline;
}

/* ===============================
   POWERTOOLS - SCHEDA TECNICA SEMANTICA
   =============================== */

.ps-sheet{
  position:relative;
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:38px 38px 34px;
  border:1px solid #dde7f1;
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(242,101,34,.16), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f5f9fd 100%);
  box-shadow:
    0 28px 64px rgba(7,58,103,.10),
    0 8px 22px rgba(7,58,103,.06);
  color:#1f3347;
  font-family:var(--font-body);
  overflow:hidden;
}

.ps-sheet::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:linear-gradient(180deg, var(--brand-orange) 0%, #ff9b65 60%, #ffd2b9 100%);
}

.ps-sheet::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-110px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(242,101,34,.12) 0%, rgba(242,101,34,0) 68%);
  pointer-events:none;
}

.ps-title{
  margin:0 0 14px;
  padding:0 0 18px;
  border-bottom:1px solid #e6eef6;
  font-family:var(--font-accent) !important;
  font-size:clamp(30px, 3.2vw, 42px);
  font-weight:800;
  line-height:1.08;
  color:#082b49;
  letter-spacing:-.02em;
}

.ps-intro{
  margin:0 0 28px;
  max-width:1050px;
  padding:18px 20px 18px 24px;
  border:1px solid #e3edf7;
  border-radius:20px;
  background:
    linear-gradient(90deg, rgba(242,101,34,.10) 0 6px, transparent 6px),
    linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  font-size:18px;
  line-height:1.75;
  color:#436074;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 8px 22px rgba(7,58,103,.04);
}

.ps-section{
  position:relative;
  margin:0 0 22px;
  padding:26px 28px 24px;
  border:1px solid #e3ebf4;
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow:0 14px 34px rgba(15,35,60,.055);
}

.ps-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(90deg, var(--brand-orange) 0%, #ffb38d 100%);
}

.ps-section:last-child{
  margin-bottom:0;
}

.ps-section-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 20px;
  padding:0 0 14px;
  border-bottom:1px solid #ebf1f7;
  font-family:var(--font-accent) !important;
  font-size:28px;
  font-weight:800;
  line-height:1.2;
  color:#073a67;
}

.ps-section-title::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:999px;
  flex:0 0 12px;
  background:linear-gradient(135deg, var(--brand-orange) 0%, #ffb48d 100%);
  box-shadow:0 0 0 6px rgba(242,101,34,.12);
}

.ps-section-body{
  color:#243b53;
}

.ps-desc{
  margin:0 0 16px;
  font-size:17px;
  line-height:1.92;
  color:#365066;
}

.ps-desc:last-child{
  margin-bottom:0;
}

.ps-list{
  list-style:none !important;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}

.ps-list li{
  display:block !important;
  list-style:none !important;
  position:relative;
  margin:0;
  padding:15px 18px 15px 52px;
  border:1px solid #e6edf5;
  border-radius:16px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  font-size:15px;
  line-height:1.68;
  color:#243b53;
  box-shadow:0 4px 12px rgba(15,35,60,.035);
}

.ps-list li::marker{
  content:"";
}

.ps-list li::before{
  content:"\f00c";
  position:absolute;
  left:18px;
  top:17px;
  width:18px;
  height:18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:'Font Awesome 6 Free' !important;
  font-weight:900 !important;
  font-size:10px;
  color:#fff;
  background:linear-gradient(135deg, var(--brand-orange) 0%, #ffb287 100%);
  box-shadow:0 0 0 6px rgba(242,101,34,.12);
}

.ps-section:nth-of-type(2) .ps-list{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.ps-spec-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #d7e3ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 24px rgba(7,58,103,.04);
}

.ps-spec-row:nth-child(odd) .ps-spec-key,
.ps-spec-row:nth-child(odd) .ps-spec-value{
  background:#fcfdff;
}

.ps-spec-row:nth-child(even) .ps-spec-key,
.ps-spec-row:nth-child(even) .ps-spec-value{
  background:#f5f9fd;
}

.ps-spec-key,
.ps-spec-value{
  padding:15px 20px;
  border-bottom:1px solid #e3ebf4;
  vertical-align:top;
  font-size:15px;
  line-height:1.6;
}

.ps-spec-row:last-child .ps-spec-key,
.ps-spec-row:last-child .ps-spec-value{
  border-bottom:0;
}

.ps-spec-key{
  width:36%;
  font-family:var(--font-accent) !important;
  font-weight:700;
  color:#0d2f4f;
  background:
    linear-gradient(180deg, rgba(7,58,103,.035) 0%, rgba(7,58,103,.055) 100%) !important;
}

.ps-spec-value{
  color:#3c556b;
}

@media (max-width:900px){
  .ps-sheet{
    padding:24px 20px;
    border-radius:22px;
  }

  .ps-section{
    padding:20px 18px;
    border-radius:18px;
  }

  .ps-title{
    font-size:clamp(24px, 6vw, 32px);
  }

  .ps-intro,
  .ps-desc,
  .ps-spec-key,
  .ps-spec-value,
  .ps-list li{
    font-size:15px;
  }

  .ps-section:nth-of-type(2) .ps-list{
    grid-template-columns:1fr;
  }

  .ps-spec-key,
  .ps-spec-value{
    display:block;
    width:100%;
  }

  .ps-spec-row{
    display:block;
  }

  .ps-spec-row + .ps-spec-row .ps-spec-key{
    border-top:1px solid #e2eaf2;
  }
}

@media (max-width:600px){
  .ps-sheet{
    padding:20px 14px 18px;
  }

  .ps-title{
    margin-bottom:10px;
    padding-bottom:12px;
  }

  .ps-intro{
    margin-bottom:20px;
    line-height:1.7;
    padding:14px;
  }

  .ps-section{
    margin-bottom:16px;
    padding:16px 14px;
  }

  .ps-section-title{
    font-size:22px;
    margin-bottom:12px;
    padding-bottom:10px;
  }

  .ps-list li{
    padding:12px 14px 12px 42px;
  }

  .ps-list li::before{
    left:14px;
    top:15px;
    width:13px;
    height:13px;
    font-size:8px;
  }

  .ps-spec-key,
  .ps-spec-value{
    padding:12px 14px;
  }
}

/* ===============================
   RICERCA AVANZATA / PAGINE CATEGORIA
   =============================== */
body:has(#mainSearchFormBox){
  background:#f6f8fb;
}

body:has(#mainSearchFormBox) #mainSearchFormBox{
  margin:0 0 30px !important;
  padding:24px 28px 22px !important;
  border:1px solid #b9d0e3 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, #ffffff 0%, #f1f7fc 100%) !important;
  box-shadow:0 14px 30px rgba(7,58,103,.13) !important;
}

body:has(#mainSearchFormBox) #mainSearchFormBox > :first-child{
  margin-top:0 !important;
}

body:has(#mainSearchFormBox) #mainSearchFormBox :is(h1,h2,h3,.boxTitle){
  margin:0 0 20px !important;
  padding:0 0 13px !important;
  border-bottom:3px solid var(--brand-orange) !important;
  color:var(--header-blue) !important;
  font-family:var(--font-accent) !important;
  font-size:25px !important;
  font-weight:800 !important;
  text-align:left !important;
}

body:has(#mainSearchFormBox) #mainSearchFormBox input:not([type="checkbox"]):not([type="radio"]),
body:has(#mainSearchFormBox) #mainSearchFormBox select{
  min-height:42px !important;
  border:1px solid #cbd8e4 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#17344f !important;
  box-shadow:inset 0 1px 2px rgba(7,58,103,.04) !important;
}

body:has(#mainSearchFormBox) #mainSearchFormBox input:focus,
body:has(#mainSearchFormBox) #mainSearchFormBox select:focus{
  border-color:var(--brand-orange) !important;
  outline:3px solid rgba(242,101,34,.16) !important;
  outline-offset:0 !important;
}

body:has(#mainSearchFormBox) #mainSearchFormBox input[type="submit"],
body:has(#mainSearchFormBox) #mainSearchFormBox button{
  min-width:150px !important;
  min-height:42px !important;
  padding:0 22px !important;
  border:0 !important;
  border-radius:8px !important;
  background:linear-gradient(180deg, #0a4b80 0%, var(--header-blue) 100%) !important;
  color:#fff !important;
  font-family:var(--font-accent) !important;
  font-weight:800 !important;
  box-shadow:0 6px 14px rgba(7,58,103,.20) !important;
  cursor:pointer;
}

body:has(#mainSearchFormBox) #mainSearchFormBox input[type="submit"]:hover,
body:has(#mainSearchFormBox) #mainSearchFormBox button:hover{
  background:linear-gradient(180deg, #f77a3d 0%, var(--brand-orange) 100%) !important;
  transform:translateY(-1px);
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc{
  gap:16px !important;
  padding:8px 0 4px !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a{
  min-height:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px 18px !important;
  border:1px solid #b9cad9 !important;
  border-radius:12px !important;
  background:linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%) !important;
  box-shadow:0 6px 14px rgba(7,58,103,.13) !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle > span,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc .boxTitle *{
  color:var(--header-blue) !important;
  font-weight:800 !important;
  opacity:1 !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:focus-visible{
  border-color:var(--brand-orange) !important;
  background:#fff7f2 !important;
  box-shadow:0 10px 20px rgba(242,101,34,.16) !important;
}

body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover .boxTitle,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:focus-visible .boxTitle,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:hover .boxTitle > span,
body:has(#mainSearchFormBox) #categoriesBoxes.withDesc > li > a:focus-visible .boxTitle > span{
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--brand-orange) !important;
}

/* Macrocategorie: non contengono #mainSearchFormBox, quindi richiedono un layout dedicato. */
body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes > ul{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
  margin:18px 0 0 !important;
  padding:0 !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes > ul > li,
body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes.withDesc > li{
  min-width:0 !important;
  margin:0 !important;
  padding:19px 20px !important;
  border:1px solid #c5d5e3 !important;
  border-left:5px solid var(--brand-orange) !important;
  border-radius:12px !important;
  background:linear-gradient(135deg, #ffffff 0%, #f1f7fc 100%) !important;
  box-shadow:0 7px 16px rgba(7,58,103,.10) !important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes > ul > li:hover,
body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes.withDesc > li:hover{
  transform:translateY(-3px) !important;
  border-color:var(--header-blue) !important;
  box-shadow:0 13px 24px rgba(7,58,103,.17) !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes :is(.boxTitle,h2,h3){
  display:block !important;
  margin:0 0 11px !important;
  color:var(--header-blue) !important;
  font-family:var(--font-accent) !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes :is(.boxTitle,h2,h3) *,
body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes :is(.boxTitle,h2,h3) a{
  color:inherit !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes .wrap_desc{
  display:block !important;
  margin:0 !important;
  color:#35536f !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes .wrap_desc a{
  color:#35536f !important;
  text-decoration:none !important;
}

body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes .wrap_desc a:hover{
  color:var(--brand-orange) !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
}

@media (max-width:768px){
  body:has(#mainSearchFormBox) #mainSearchFormBox{
    padding:18px 14px !important;
    border-radius:12px !important;
  }

  body:has(#mainSearchFormBox) #mainSearchFormBox :is(h1,h2,h3,.boxTitle){
    font-size:21px !important;
  }

  body:not(#body_home):not(:has(#mainSearchFormBox)) #categoriesBoxes > ul{
    grid-template-columns:1fr !important;
  }
}

/* DATA DI SPEDIZIONE: testo inserito dallo script condiviso shipping-delivery.js */
.delivery-dup{
  display:block;
  margin-top:6px;
  color:#118a35;
  font:700 11px/1.35 var(--font-body) !important;
  text-transform:uppercase;
}

.shippingDetails .delivery-inline,
[data-prima-delivery],
.prima-delivery-output{
  display:inline-block;
  margin-left:8px;
  color:#118a35;
  font:700 16px/1.3 var(--font-body) !important;
}

[data-prima-delivery-target]{
  display:none !important;
}

/* La data è mostrata nei box sotto titolo e prezzo: nasconde il vecchio testo sotto le spese. */
.shippingDetails .delivery-inline{
  display:none !important;
}

/* Avvisi di consegna visibili nella scheda prodotto: titolo e prezzo. */
.product-delivery-notice{
  position:relative;
  display:grid;
  gap:2px;
  max-width:460px;
  margin:10px 0 14px;
  padding:10px 14px 10px 42px;
  border:1px solid #9ad7ad;
  border-radius:10px;
  background:linear-gradient(135deg, #effbf2 0%, #ffffff 100%);
  color:#126b2e;
  box-shadow:0 5px 12px rgba(19,152,58,.10);
}

.product-delivery-notice::before{
  content:"\f0d1";
  position:absolute;
  left:14px;
  top:14px;
  font-family:'Font Awesome 6 Free' !important;
  font-weight:900;
  font-size:18px;
  color:#13983a;
}

.product-delivery-label{
  font-family:var(--font-accent) !important;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.product-delivery-date{
  font-family:var(--font-accent) !important;
  font-size:16px;
  font-weight:800;
  line-height:1.25;
  color:#0b7c2c;
}

.product-delivery-tracking{
  color:#466652;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}

/* Box sotto il titolo: è una consegna stimata, non una copia dell'avviso prezzo. */
.delivery-title-notice{
  display:flex;
  align-items:center;
  border-color:#b7d2e8;
  background:linear-gradient(135deg, #f0f8ff 0%, #fff 100%);
  color:var(--header-blue);
  box-shadow:0 5px 12px rgba(7,58,103,.10);
}

.delivery-title-notice::before{
  top:50%;
  transform:translateY(-50%);
  color:var(--header-blue);
}

.delivery-title-notice .product-delivery-label{
  display:none;
}

.delivery-title-notice .product-delivery-label,
.delivery-title-notice .product-delivery-date{
  color:var(--header-blue);
}

/* Importo del trasporto ben visibile, senza alterare il testo "A partire da". */
.ps-shipping-price{
  margin-left:3px;
  color:#e10000 !important;
  font-family:var(--font-accent) !important;
  font-size:21px;
  font-weight:900;
  line-height:1;
}

.delivery-price-notice{
  margin:8px 0 6px;
}

/* Il messaggio verde viene mostrato subito sotto al pulsante Aggiungi. */
#sheetAddToCartRow td.bkg1 .delivery-price-notice{
  box-sizing:border-box;
  width:100%;
  max-width:420px;
  margin:10px 0 0;
}

@media (max-width:600px){
  .product-delivery-notice{
    margin:8px 0 12px;
    padding:9px 12px 9px 38px;
  }

  .product-delivery-notice::before{
    left:12px;
    top:13px;
    font-size:16px;
  }
}

/* SCHEDA PRODOTTO: dati tecnici accanto ai servizi, sotto "Aggiungi". */
#productSheet + .ps-product-extra-layout,
.ps-product-extra-layout{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  width:100%;
  align-items:start;
  gap:18px;
  margin:28px 0 24px;
  padding:22px 0;
  border-top:2px solid #edf1f4;
  border-bottom:2px solid #edf1f4;
}

.ps-product-extra-layout .ps-product-meta-panel{
  overflow:hidden;
  border:1px solid #d5e3ee;
  border-radius:14px;
  background:linear-gradient(180deg, #f8fbfe 0%, #fff 100%);
  box-shadow:0 6px 16px rgba(7,58,103,.07);
}

.ps-product-extra-layout .ps-native-services-panel{
  padding:12px 14px;
  border:1px solid #d5e3ee;
  border-radius:14px;
  background:linear-gradient(180deg, #f8fbfe 0%, #fff 100%);
  box-shadow:0 6px 16px rgba(7,58,103,.07);
}

.ps-product-extra-layout .ps-native-services-title{
  margin:0 0 8px;
  padding:0 0 8px;
  border-bottom:1px solid #dce8f1;
  color:var(--header-blue);
  font:800 14px/1.2 var(--font-accent) !important;
  text-transform:uppercase;
}

.ps-product-extra-layout .ps-native-services-panel a{
  display:flex !important;
  align-items:center;
  gap:8px;
  min-height:29px;
  color:#35536f !important;
  font-size:14px;
  text-decoration:none !important;
}

.ps-product-extra-layout .ps-native-services-panel a:hover{
  color:var(--brand-orange) !important;
}

.ps-product-extra-layout .ps-product-meta-title{
  margin:0;
  padding:11px 14px;
  border-bottom:1px solid #dce8f1;
  background:#edf5fb;
  color:var(--header-blue);
  font:800 14px/1.2 var(--font-accent) !important;
  text-transform:uppercase;
}

.ps-product-extra-layout .ps-product-meta-line{
  display:grid;
  grid-template-columns:minmax(82px, .72fr) minmax(0, 1.28fr);
  gap:10px;
  padding:8px 12px;
  border-bottom:1px solid #e7eef4;
  font-size:13px;
  line-height:1.35;
}

.ps-product-extra-layout .ps-product-meta-line:last-child{
  border-bottom:0;
}

.ps-product-extra-layout .ps-product-meta-label{
  color:#17344f;
  font-weight:800;
}

.ps-product-extra-layout .ps-product-meta-value{
  min-width:0;
  color:#334f68;
  overflow-wrap:anywhere;
}

.ps-product-extra-layout .ps-service-under-cart{
  min-width:0;
  margin:0 !important;
}

/* "Tempi di spedizione" viene estratto dalle card e posto sotto le spese. */
.shippingDetails + .ps-shipping-service{
  display:none !important;
}

.shippingDetails + .ps-shipping-service .ps-item{
  display:flex;
  align-items:center;
  gap:8px;
  color:#17344f;
}

.shippingDetails + .ps-shipping-service .material-symbols-outlined{
  font-size:22px;
}

.shippingDetails + .ps-shipping-service .ps-text{
  font-size:13px;
  font-weight:800;
}

.shippingDetails + .ps-shipping-service .ps-sub{
  font-size:12px;
}

.ps-product-extra-layout .ps-service-bar{
  margin:0 !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  padding:14px !important;
}

.ps-product-extra-layout .ps-item{
  gap:9px;
}

.ps-product-extra-layout .ps-item .material-symbols-outlined{
  font-size:27px;
}

.ps-product-extra-layout .ps-text{
  font-size:14px;
}

.ps-product-extra-layout .ps-sub{
  font-size:12px;
}

@media (max-width:900px){
  .ps-product-extra-layout{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ps-product-extra-layout .ps-service-under-cart{
    grid-column:1 / -1;
  }
}

@media (max-width:600px){
  .ps-product-extra-layout{
    grid-template-columns:1fr;
  }
}
