/* === Reset CSS leggero con box-sizing === */
html {
      box-sizing: border-box;
      font-size: 100%;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, Helvetica, sans-serif;
      line-height: 1.5;
      scroll-behavior: smooth;
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
      color-scheme: light;
}
*, *::before, *::after {box-sizing: inherit;}
body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark,
audio, video {margin: 0; padding: 0; border: 0; vertical-align: baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
img, svg {max-width: 100%; height: auto;object-fit: contain;}
b, strong {font-weight: 500;}
section.product-section[hidden] {display: none;}
:focus-visible {outline: 3px solid #005B8A;outline-offset: 2px;}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {animation-duration: 0.01ms !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important;}
}
/* --- EFFETTO DISSOLVENZA TAB --- */
section.product-section.active-content {display: block;animation: fadeInTab 0.8s ease-out;}
@keyframes fadeInTab {
    from {opacity: 0; transform: translateY(0.625rem);}
    to   {opacity: 1; transform: translateY(0);}
}
h1, h2, h3 { 
  text-align: center; 
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em; 
}
h1 {font-size: 1.5rem;} 
h2 {font-size: 1.3rem;}  
h3 {font-size: 1.15rem; color: #005B8A; padding-bottom: 0.625rem;margin-bottom: 0.3rem;}
h4 {
    font-size: 1rem;
    text-align: left;
    font-weight: 500;
    color: #008267;
    padding-bottom: 0.3125rem;
    margin-bottom: 0.18rem;
    text-shadow: 0.025rem 0 0 currentColor;
}
body {
    line-height: 1.6;
    font-size: 1rem;
    background-color: white;
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    color: #333333;
    padding-top: 3.75rem; /* altezza mobile-header default 60px */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.no-scroll {overflow: hidden;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
table {border-collapse: collapse; border-spacing: 0;}
/* === HEADER DESKTOP: nascosto su mobile === */
header {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #005B8A;
    box-sizing: border-box;
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
header .logo {display: flex;align-items: center;line-height: 0;flex-shrink: 0;}
header .logo img {width: auto;}
header .navbar {color: #fff;display: flex;align-items: center;flex-grow: 1;justify-content: center;}
header .nav-links {list-style: none;padding: 0;margin: 0;display: flex;align-items: center;}
header .nav-links li {position: relative;}
header .nav-links li:first-child {margin-left: 0;}
header .nav-links a {color: #fff;text-decoration: none;display: block;font-weight: bold;white-space: nowrap;}
header .nav-links a:hover {background-color: #0056b3; color: #fff;}
header .dropdown-content {
    display: none;
    position: absolute;
    background-color: #005B8A;
    width: max-content;
    box-shadow: 0 0.5rem 1rem 0 rgba(0,0,0,0.2);
    z-index: 1;
    list-style: none;
    padding: 0;
    margin: 0;
    top: 100%;
    left: 0;
    overflow: hidden;
}
header .dropdown:hover .dropdown-content {display: block;}
header .dropdown:focus-within .dropdown-content,
header .nav-links .dropdown a[aria-expanded="true"] + .dropdown-content {display: block;opacity: 1;visibility: visible;}
header .nav-links .dropdown a[aria-expanded="true"] {background-color: #0056b3; color: white;}
header .nav-links a:focus-visible {outline: 3px solid #ffffff;outline-offset: 2px;border-radius: 2px;}
header .nav-links .dropdown-content li {padding-left: 0;margin-left: 0;}
header .nav-links .dropdown-content li a {display: flex;align-items: center;justify-content: flex-start;
padding: 0.5rem 0.9375rem;line-height: normal;height: auto;margin-left: 0;}
header .nav-links .dropdown-content li a:hover {background-color: #0056b3; color: #fff;}
header .cart {display: none;padding-right: 0;align-items: center;height: 100%;}
header .cart a {color: #fff;text-decoration: none;font-weight: bold;display: flex;align-items: center;height: 100%;}
header .cart a:hover {background-color: #0056b3; color: #fff;}
.cart-icon {width: 1.5rem; height: 1.5rem;}
.cart-count-badge {
    background-color: #d32f2f;
    color: white;
    border-radius: 50%;
    width: 1.5625rem;
    height: 1.5625rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9rem;
    font-weight: bold;
    position: static;
    transform: none;
    margin-left: 0.3125rem;
    border: 2px solid white;
}
/* MOBILE HEADER COMPLETO: Blindatura in Pixel (Safe per 320px) */
.mobile-header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #005B8A;
    height: 60px; /* Altezza bloccata */
    padding: 0 15px; /* 0.9375rem -> 15px */
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    z-index: 9999;
}
/* 1. LOGO: Stabile e proporzionato */
.mobile-header .mobile-logo {
    display: flex;
    align-items: center;
    line-height: 0;
    flex-shrink: 0;
    width: 153px; /* Larghezza di sicurezza */
}
.mobile-header .mobile-logo img {height: 50px;width: auto;display: block;object-fit: contain;}
/* 2. CARRELLO CENTRALE */
.mobile-cart-center {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-width: 0;
}
.mobile-cart-center a {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    height: 100%;
    padding: 0 10px; /* 0.625rem -> 10px */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    white-space: nowrap;
}
.mobile-cart-center a:hover {background-color: #0056b3; color: #ffffff;}
.mobile-cart-center .cart-flex-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    gap: 6px; 
    padding: 0 8px;
}
.mobile-cart-center .cart-flex-wrapper img.cart-icon {
    height: 24px; /* 1.5rem -> 24px */
    width: auto;
    max-width: none;
    margin-right: 0;
    vertical-align: middle;
}
.mobile-cart-center .cart-flex-wrapper .cart-count-badge {
    width: 25px; /* 1.6rem -> 25px */
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    background-color: #d32f2f; /* coerente con badge desktop */
    color: #fff;
    font-size: 14px; /* 0.9rem -> 14px */
    font-weight: bold;
    border-radius: 50%;
    vertical-align: middle;
    border: 2px solid white;
}
/* 3. CONTROLLI HAMBURGER */
.mobile-header .mobile-controls {
    display: flex;
    align-items: center;
    height: 100%;
    flex-shrink: 0;
    width: 50px;
    justify-content: flex-end;
}
.mobile-header .menu-icon,
.mobile-header .close-icon {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px; /* 0.75rem -> 12px */
    height: 100%;
}
.mobile-header .close-icon { display: none; }
/* Scambio Hamburger / X */
body.mobile-menu-open .mobile-header div.menu-icon { display: none; }
body.mobile-menu-open .mobile-header div.close-icon { display: flex; }
/* === LINKS === */
.mobile-links {
    display: none;
    position: fixed;
    flex-direction: column;
    align-items: stretch;
    top: 60px; /* Coincide con altezza header */
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #ededed;
    list-style: none;
    padding: 0 0 8rem 0; /* 8rem -> 128px */
    margin: 0;
    max-height: calc(100vh - 60px);
    max-height: calc(100dvh - 60px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.mobile-links.open { display: flex; }
.mobile-links li {border-bottom: 1px solid #708090; width: 100%; box-sizing: border-box;}
.mobile-links li a {
    color: #005b8a;
    text-decoration: none;
    padding-left: 1.1rem; /* 1.1rem -> 18px */
    padding-top: 1rem; /* 1rem -> 16px */
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.125rem; /* 1.133rem -> 18px */
    font-weight: 600;
    width: 100%;
    box-sizing: border-box;
}
.mobile-links > li:hover { background-color: #fff; }
/* Link specifico Carrello nella Sidebar */
.mobile-links li a.cart-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px; /* 0.3125rem -> 5px */
    padding-left: 18px;
}
/* === DROPDOWN MOBILE === */
.mobile-dropdown-content {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #003366;
    min-width: 100%; /* 17.5rem -> 280px */
}
.mobile-dropdown-content.open { display: block; }
.mobile-dropdown-content li {
    transition: background-color 0.2s ease;
}
.mobile-dropdown-content li:hover {
    background-color: #004488; /* Blu intermedio tra il fondo e l'azzurro */
}
.mobile-links .mobile-dropdown-content li a:hover {
    color: #ffffff;
}
.mobile-dropdown-content li a {
    color: #edffff;
    padding-top: 0.9rem; /* 0.9rem -> 14px */
    padding-bottom: 0.9rem;
    padding-left: 1.875rem; /* 1.9rem -> 30px */
    font-size: 1.125rem;
    font-weight: 600;
}
.mobile-dropdown .dropdown-arrow,
.mobile-dropdown .close-dropdown-icon {
    font-size: 18px;
    margin-left: 5px;
    vertical-align: middle;
    cursor: pointer;
}
/* === LAYOUT PRINCIPALE: mobile-first === */
main {
    width:100%;
    padding-top: 1.3333rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem;
    overflow: visible;
    box-sizing: border-box;
}
.container {
    width: 99.9%;
    margin: 0 auto;
    padding: 0 0.3333rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.main-content {
    width: 100%;
    padding-right: 0;
    margin-bottom: 1.3333rem;
    box-sizing: border-box;
}
.main-content p { font-size: 1rem; line-height: 1.6; margin-bottom: 0.9375rem; margin-left: auto; margin-right: auto; }
.sidebar {
    display: none; /* nascosta su mobile, visibile da 768px */
    flex-shrink: 0;
    background-color: #f9f9f9;
    border: 1px solid #eee;
    box-sizing: border-box;
    position: sticky;
    align-self: flex-start;
    height: fit-content;
    z-index: 10;
}
.sidebar ul {padding-left: 1.25rem;}
.sidebar li {margin-bottom: 0.625rem;}
.sidebar a {color: #007bff; text-decoration: none;}
.sidebar a:hover {text-decoration: underline;}
.sidebar .image-with-caption {text-align: center;}
.sidebar .image-with-caption img {max-width: 100%; height: auto; border-radius: 0.3125rem;}
.sidebar p, .sidebar li { font-size: 0.9375rem; line-height: 1.5; text-align: left;}
figcaption {margin-bottom: 0.3125rem; font-weight: 500; font-size: 1rem; line-height: 1.5;}
/* Immagine Azienda */
.immagineazienda {
    background-image: url(fondo-azienda-23.jpg);
    background-repeat: no-repeat;
    background-position: top;
    border-radius: 1.0625rem;
}
/*** Torna-su ***/
#top {
    position: fixed;
    bottom: 0.625rem;
    right: 0.625rem;
    z-index: 2000;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #005B8A;
    color: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 0.3125rem;
    font-weight: 700;
    font-size: 1.25rem;
    text-decoration: none;
    cursor: pointer;
}
.clear {clear: both; height: 0; line-height: 0; visibility: hidden; overflow: hidden;}
.hide  {display: none;}
.nomepagina {
    font-style: oblique;
    font-weight: bold;
    color: #fff;
    text-align: center;
    font-size: 1.0625rem;
    background-color: #005B8A;
    display: inline-block;
}
.titolo-pagina {margin: 0; padding: 0; background-color: #005B8A; display: inline-block;}
.sezione {display: flex;flex-direction: column;align-items: center;padding: 0 0.125rem;gap: 0.625rem;margin-top:1.25rem;}
.sezione p {margin: 0;font-style: oblique;font-weight: bold;color: #008267;font-size:1.0625rem;}
.riga-div {display: flex;justify-content: center;gap: clamp(0.375rem, 0.375rem + 4vw, 6rem);flex-wrap: wrap;}
.card {min-width: max-content;display: flex;align-items: center;justify-content: center;flex: 1 1 auto;}
.card a {
  background: #0853BA;
  color: #fff;
  text-decoration: none;
  padding: 0.8rem 0.5rem;
  text-align: center;
  border-radius: 8px;
  box-sizing: border-box;
}
.modelli2  {width:100%; margin:0 auto; padding:0; text-align:center;}
.modelli-fondo {background-color:#e6f0ff; border-radius:5px;}
.modelli-fondo-prezzo {background-color:#e6f0ff; border-radius:5px; color:#004d99;}
.modelli-fondo-prezzo2 {background-color:#ffffff; border-radius:5px; color:#0066cc;}
.italia {text-align:right;width: 100%; padding-top: 0; border-top: 1px solid #005B8A; border-right: 1px solid #005B8A; margin-top: 0;}
.italia img {width:6.25rem;height:auto;padding-top:0.3125rem;padding-right: 0.4375rem;}
.europa-sidebar {width: 100%; padding-left: 0.4375rem; padding-bottom: 0; border-bottom: 1px solid #005B8A; border-left: 1px solid #005B8A; margin-bottom: 1.5625rem;}
/*** Bottone ***/
.btn, a.btn {
    display: inline-block;
    background: #0853BA;
    color: #fff;
    text-decoration: none;
    padding: 0.4375rem 0.625rem;
    text-align: left;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    transition: all 0.2s ease;
}
.ombra-laterale {
    box-shadow: 0 0 1.25rem 0.125rem #ADADAD;
    width: 94%;
    max-width: 100%;
    text-align: center;
    border: 0 solid #adadad;
    padding: 0.625rem;
    margin: 1.875rem auto 0 auto;
    background: #fff;
    border-radius: 0.5625rem;
    box-sizing: border-box;
}

.fade-container {
  position: relative;
  width: 100%;
  max-width: 590px;
  aspect-ratio: 590 / 115;
  margin: 1rem auto;
  overflow: hidden;
  background-color: transparent; /* Assicura che non ci sia sfondo visibile */
}
.fade-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  /* Ciclo totale di 15 secondi (5s per immagine) */
  animation: crossFade 15s infinite ease-in-out;
}
/* Ritardi scaglionati */
.fade-container img:nth-child(1) { animation-delay: 0s; }
.fade-container img:nth-child(2) { animation-delay: 5s; }
.fade-container img:nth-child(3) { animation-delay: 10s; }
@keyframes crossFade {
  0% { opacity: 0; }
  /* Entra in 2 secondi (2/15 = 13%) */
  13% { opacity: 1; }
  /* Rimane visibile per 1.5 secondi (fino a 3.5s totali -> 23%) */
  23% { opacity: 1; }
  /* Inizia a sparire e finisce dopo altri 2 secondi (fino a 5.5s -> 36%) */
  36% { opacity: 0; }
  100% { opacity: 0; }
}
/* Input */
 input {font-size: 15px;font-style: normal;background: #efefef;font-weight: 400;padding: 3px; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
 input.tipo1 {color: #fff;background: #008ec6;padding: 3px;}
 input.tipo2 {width: 50%;}
 button.tipo1 {padding: 3px; font-size: 15px;color: #fff;font-style: normal;background: #008ec6;font-weight: 400;border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
 .selettore {padding: 3px;font-size: 15px;color: #fff;font-style: normal;background: #008ec6;font-weight: 500;border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
 textarea.tipo2 {width: 80%;font-weight: 400;border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}
.title  {text-align: center; color: #010177;}
.title2 {text-align: center; color: #005B8A; vertical-align: middle;letter-spacing: -0.015em;}
.title3 {color: #005B8A; font-style: oblique;}
.title4 {padding: 0 1.25rem 0 0; color: #0d8f37; text-align: right; font-style: oblique;}
.title5 {padding: 0 0 0 1.25rem; color: #008267; text-align: left; font-style: oblique;}
.title6 {margin: 0 auto; padding: 0 0.3125rem; width: 94%; text-align: center; font-size: 0.9375rem;}
.title7 {margin: 0 auto; padding: 0.625rem 0.9375rem; text-align: left; font-size: 0.9375rem;}
.title8 {font-size: 1.0625rem; text-align: center; color: #005B8A;}
.title9 {padding: 0 0 0.3125rem 0; text-align: center; margin: 0 auto; color: #008267; font-size: 1.125rem;}
.title10 {font-size: 1.125rem; text-align: center; color: #005B8A;}
.testobianco a {font-weight: bold; color: #fff; font-size: 0.9375rem; text-decoration: none;}
.testorosso4 {font-weight: bold; color: #cc0000; font-size: 0.9375rem;}
.testorosso5 {font-weight: bold; color: #cc0000; font-size: 1.3125rem;}
.testoverde5 {font-weight: bold; color: #0d8f37; font-size: 1.3125rem;}
.testoverde13 {font-weight: bold; color: #008267; font-size: 0.9333rem;}
.testoverde17 {font-weight: bold; color: #008267; font-size: 1.0625rem; text-align: center;}
.testoverde18 {font-weight: bold; color: #0d8f37; font-size: 1.0625rem;}
.testonero12 {color: #5e5e5e;}
.testoazzurro15 {font-weight: bold; color: #005B8A; font-size: 0.9375rem;}
.testoazzurro14 {font-weight: 600; color: #005B8A; font-size: 1.0625rem;}
.testoazzurro30 {font-weight: 600; color: #005B8A; font-size: 1.25rem;}
.testoarancio14 {font-weight: bold; color: #ff8040; font-size: 0.875rem; text-decoration: underline; text-align: center; margin: 0 auto;}
.testoarancio16 {font-weight: bold; color: #ff8040; font-size: 1rem; text-decoration: underline; text-align: center; margin: 0 auto;}
.testoarancio18 {font-weight: bold; color: #ff8040; font-size: 1.125rem; text-decoration: underline; text-align: center; margin: 0 auto;}
.testoarancio20 {font-weight: bold; color: #ff8040; font-size: 1.25rem; text-decoration: underline; text-align: center; margin: 0 auto;}
.testoarancio {color: #fa8f00; text-align: center; margin: 0 auto;}
/* Post, meta, entry */
.post1 {margin-top: 0.625rem; margin-bottom: 0; padding: 0 0.4375rem; box-sizing: border-box; width: 100%;}
.post1 .title a {text-decoration: none; text-transform: capitalize; font-size: 1.875rem; color: #0d8f37;}
.post1 .meta1 {margin: 0 auto; padding: 0; text-align: center;}
.post1 .meta1 a {text-decoration: none;}
.post1 .entry1 {padding: 1.875rem 0 0;}
.post2 {margin-top: 18%;}
.post3 {width: 95%;}
.post4 {width: 85%;}
.post5 {margin:0.625rem auto; padding:0 0.625rem;text-align:center;width:auto;}
/* Modulo */
 .modulo {margin:0 auto; padding:0px; text-align:center; width:95%;}
 .modulosx {margin:0 auto; padding:0px; float:left; text-align:center; width:50%;}
 .modulodx {margin:0 auto; padding:0px; float:right; text-align:center; width:50%;}

.meta2 {margin: 0 auto; padding: 0.625rem; text-align: center;}
.meta3 {margin: 0 auto; padding: 0 0.625rem 0 1.25rem;}
.meta4 {margin: 0 auto; padding: 0; text-align: center;}
.meta5, .meta5 a {margin: 1.875rem auto 0.375rem auto; padding: 0; text-align: center;text-decoration: none;color: #008267;font-weight:500;}
 .imgsx {float:left; width:65%;} 
 .imgdx {float:right; width:35%;}
 .imgsx0 {float:left; text-align:center; margin:0 auto; width:30%;} 
 .imgsx1 {float:left; padding:10px 10px 0 10px; margin:0 auto;} 
 .imgdx1 {float:right; padding:10px 10px 0 10px; margin:0 auto;}
 .imgsx2 {float:left; padding:0; text-align:left; margin:0 auto;}
 .imgdx2 {float:right; padding:0; text-align:right; margin:0 auto;}
 .imgsx3 {float:left; text-align:right; width:45%;} 
 .imgdx3 {float:right; text-align:left; width:45%;}
 .imgsx4 {float:left; text-align:center; border:1px solid #dedede;margin:0.625rem auto;height:auto;padding:0.625rem 0.625rem;width:100%;}
 .imgdx4 {float:left; text-align:center; border:1px solid #dedede;margin:0.625rem auto;height:auto;padding:0.625rem 0.625rem;width:100%;}
 .imgsx5 {float:left; text-align:left; width:49%; display:inline;margin:0 auto;} 
 .imgdx5 {float:right; text-align:right; width:49%; display:inline;margin:0 auto;}
 div.totale {float:left; background-color:#fff; width:0px; margin:0 auto; display:none;}
 /* Tabella */
 .tabella1 {border:1px solid #008ec6; width:80%; margin:0 auto;}
 .cella1 {border:1px solid #008ec6; margin-left:10px; padding-left:5px; width:65%; text-align:left;}
 .cella2 {border:1px solid #008ec6; margin-right:10px; padding-right:5px; width:35%; text-align:right;}
/* Linea */
.linea {
    width: 85%;
    height: 0.25rem;
    margin: 1.5rem auto 1.5rem auto;
    border-top: 1px solid #005b8a;
    border-bottom: 1px solid #005b8a;
    background-color: #dedede;
}
.linea-piccola {width: 80%; border-top: 1px solid #005b8a; margin: 1.5625rem auto;}
.cornerbox1 {
    position: relative;
    width: 96%;
    background-color: #E6F0FF;
    margin: 0 auto;
    border-radius: 0.5625rem;
    box-shadow: 0 0 1.25rem 0.125rem #ADADAD;
}
/* Lista */
.lista {margin: 0 auto; text-align: left;}
.lista ul {padding-left: 0.9375rem; list-style-type: square;}
.lista1 {margin: 0 auto; text-align: left;}
.lista1 ul {list-style-type: square;}
.lista2 {margin: 0 auto; text-align: left;}
.lista2 ul {list-style-type: square;}
.lista3 {margin: 0 auto; width:60%; float:right;}
.lista3 ul {list-style-type: square;text-align: left;}
.lista-acc {margin: 0 auto; padding: 0.9375rem; width: 70%; background-color: #fff; text-align: center;}
.lista-acc ul {padding: 0.9375rem 0.625rem; list-style-type: square; text-align: left;}
.lista-fondo {margin: 0 auto; text-align: left; padding: 0.9375rem;}
.lista-fondo ul {list-style-type: square; color: #0D547D;}
/*** Link-speciali ***/
.grande  {display: block;}
.piccolo {display: none;}
.ancora-sezioni {
    display: block;
    visibility: hidden;
    position: relative;
    /* Mobile: 60px header + 20px respiro */
    padding-top: 5rem;
    margin-top: -5rem;
}
/* === SEZIONE CONFRONTO TECNICO === */
.ancora-dinamica {display: block;position: relative;visibility: hidden;top: -4rem; /* mobile */}
details.confronto-tecnico {
    width: 100%;
    margin: 0.625rem 0 0 0;
    background-color: #fff;
    border: 0.0625rem solid #ddd;
    border-radius: 0.625rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.05);
    overflow: visible;
}
details.confronto-tecnico summary {
    list-style: none;
    cursor: pointer;
    padding: 0.8rem 1rem;
    text-align: center;
    transition: background-color 0.3s ease;
    border-radius: 0.625rem;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
details.confronto-tecnico summary::-webkit-details-marker {display: none;}
details.confronto-tecnico summary:focus-visible {background-color: #f0f7ff;outline: 3px solid #0853BA;outline-offset: 2px;border-radius: 0.625rem;}
/* Nasconde il ring di default solo per click mouse (non tastiera) */
details.confronto-tecnico summary:focus:not(:focus-visible) {outline: none; box-shadow: none;}
.btn-confronto-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}
/* Fallback gap per browser senza supporto */
@supports not (gap: 0.75rem) {
    .btn-confronto-container > * {margin: 0 0.375rem;}
}
.simbolo-toggle {font-size: 1.8rem;font-weight: bold;color: #0853BA;line-height: 1;width: 1.25rem;}
details.confronto-tecnico[open] .simbolo-toggle::before {content: '-';}
details.confronto-tecnico:not([open]) .simbolo-toggle::before {content: '+';}
details.confronto-tecnico[open] summary {background-color: #f0f7ff;border-bottom: 0.0625rem solid #eee;border-radius: 0.625rem 0.625rem 0 0;}
/* === TABELLA COMPARATIVA: mobile-first === */
.tabella-scroll-wrapper {
    max-width: 100vw;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    border-radius: 0 0 0.625rem 0.625rem;
    max-height: 80vh;
    max-height: 80dvh;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}
.tabella-scroll-wrapper:focus-visible {outline: 3px solid #0853BA; outline-offset: 2px;}
.tabella-comparativa {width:100%;border-collapse:separate;border-spacing:0;background-color:#ffffff;table-layout:fixed;font-variant-numeric:tabular-nums;}
.tabella-comparativa th,
.tabella-comparativa td {
    padding: 0.4rem 0.133rem;
    border: 0.0625rem solid #eee;
    text-align: center;
    font-size: 0.933rem;
    min-width: 6.5rem;
    line-height: 1.2;
    vertical-align: middle;
}
.tabella-comparativa thead th {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: #005B8A;
    color: white;
    font-size: 0.933rem;
    padding: 0.4rem 0.133rem;
}
.tabella-comparativa thead th.col-voci {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 110;
    background-color: #f2f2f2;
    color: #333;
    font-weight: 800;
    text-align: center;
    font-size: 0.867rem;
}
.tabella-comparativa .col-voci {
    background-color: #f8f9fa;
    font-weight: bold;
    position: sticky;
    left: 0;
    z-index: 50;
    border-right: 0.125rem solid #005B8A;
    width: 8rem;
    min-width: 8rem;
    text-align: left;
    padding-left: 0.5rem;
    font-size: 0.8rem;
    word-break: break-word;
}
.tabella-comparativa thead th:not(.col-voci) {width: 6.666rem;}
.tabella-comparativa tbody tr:nth-child(even) {background-color: #fafafa;}
.tabella-comparativa tbody tr:hover td,
.tabella-comparativa tbody tr:hover th {background-color: #eef7ff;}
.tabella-comparativa tbody th,
.tabella-comparativa tbody td {font-size: 0.933rem;padding: 0.4rem 0.133rem;vertical-align: middle;}
.punto-si {
    display: inline-block;
    width: 0.375rem;
    height: 0.75rem;
    border: solid #28a745;
    border-width: 0 0.125rem 0.125rem 0;
    transform: rotate(45deg);
    margin-right: 4px;
}
.punto-no {
    display: inline-block;
    width: 0.625rem;
    height: 0.125rem;
    background-color: #ccc;
    vertical-align: middle;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
/* --- Stili Pagine Prodotto --- */
.product-section {padding-bottom: 0.625rem; text-align: left;}
.product-section:last-of-type {border-bottom: none; margin-bottom: 0; padding-bottom: 0;}
.product-title {font-size: 1.3rem; color: #005B8A; margin-bottom: 1rem; text-align: center;}
.product-image-container {
    width: 100%;
    margin: 0 auto 1.5625rem auto;
    text-align: center;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 0.6666rem;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.3125rem rgba(0,0,0,0.1);
}
.product-image {max-width: 100%; height: auto; border-radius: 0.3125rem; margin-bottom: 0.625rem;}
.product-caption {font-style: italic; color: #666; font-size: 0.95em;}
.price-info {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    margin-top: auto;
    margin-bottom: 0.6rem;
    gap: 0.625rem;
}
.price-info span[style*="font-size:0.75rem"],
.price-info br + span {
    flex-basis: 100%;
    text-align: center;
    margin-top: 0;
}
.old-price {text-decoration: line-through; color: #777; font-size: 1.1em; margin: 0;}
.new-price {
    padding: 0 0.3125rem;
    font-size: 1.2133em;
    font-weight: bold;
    background-color: #e6f0ff;
    border-radius: 0.3125rem;
    color: #004d99;
    margin: 0;
}
.add-to-cart {
    background-color: #007bff;
    color: #fff;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 0.3125rem;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    display: block;
    width: fit-content;
    margin: 0.9375rem auto;
    text-align: center;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 0.125rem 0.3125rem rgba(0,0,0,0.2);
    /* min target 44px per WCAG 2.5.5 — verifica nel HTML che l'area cliccabile sia adeguata */
    min-height: 2.75rem;
}
.add-to-cart:hover {background-color: #0056b3; transform: translateY(-0.125rem);}
.add-to-cart:active {background-color: #004085; transform: translateY(0);}
.add-to-cart:focus-visible {outline: 3px solid #003d7a; outline-offset: 3px;}
.product-description h2,
.tech-specs h2,
.accessories-section h2 {
    font-size: 1.3rem;
    color: #005B8A;
    margin-top: 1.6666rem;
    margin-bottom: 1rem;
    text-align: center;
    position: relative;
}
.product-description h2::after,
.tech-specs h2::after,
.accessories-section h2::after {
    content: '';
    display: block;
    width: 3.75rem;
    height: 0.1875rem;
    background-color: #005B8A;
    margin: 0.625rem auto 0;
    border-radius: 0.125rem;
}
.tech-specs-container {
    margin-bottom: 1.875rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: #fcfcfc;
    border: 1px solid #e0e0e0;
    border-radius: 0.3125rem;
    box-shadow: 0 0.0625rem 0.1875rem rgba(0,0,0,0.05);
    padding: 0.9375rem;
}
/* Mobile: colonne impilate al 100% */
.tech-specs-list-left,
.tech-specs-list-right {
    flex-basis: 100%;
    box-sizing: border-box;
    text-align: left;
    margin-right: 0;
    margin-bottom: 1.3333rem;
}
.tech-specs-list-right:last-child {margin-bottom: 0;}
.tech-specs-list-left ul,
.tech-specs-list-right ul {list-style: none; padding: 0; margin: 0;}
.tech-specs-list-left ul li,
.tech-specs-list-right ul li {position: relative; padding-left: 1.5625rem; margin-bottom: 0.625rem; font-size: 1em; line-height: 1.4;}
.tech-specs-list-left ul li::before,
.tech-specs-list-right ul li::before {
    content: "\25A0";
    color: #005B8A;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 0.8em;
    line-height: inherit;
}
/* ACCESSORI IN DOTAZIONE */
.accessories-grid-dotazione {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch; /* Fa sì che le schede sulla stessa riga abbiano la stessa altezza */
    width: 100%;
    padding: 1.333rem 0.6rem; 
    gap: 0.933rem; /* Spazio fisso tra le schede */
    box-sizing: border-box;
}
/* LA SCHEDA (IL FIGLIO): calcolata per stare sempre a 2 a 2 su mobile */
.accessory-item-dotazione {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fefefe;
    padding: 0.533rem 0;
    box-sizing: border-box;
    /* Logica matematica: 50% della riga meno metà del gap */
    flex: 1 1 calc(50% - 0.4665rem);
    min-width: calc(50% - 0.4665rem);
    min-height: 13.866rem;
    margin: 0; /* Reset esplicito dei margini per non sballare il calc */
}
/* BOX IMMAGINE: mantiene le proporzioni e centra l'oggetto */
.accessory-item-dotazione-immagine {
    min-height: 7.466rem;
    width: 100%;
    max-width: 9.466rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.666rem;
    flex-shrink: 0;
}
.accessory-item-dotazione-immagine img {
    max-width: 100%;
    max-height: 7.466rem;
    height: auto;
    width: auto;
    object-fit: contain;
}
/* BOX TESTO: centra i contenuti verticalmente con gap interno */
.accessory-item-dotazione-testo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    width: 100%;
    padding: 0 0.4rem;
    gap: 0.266rem; /* Spazio tra titolo, descrizione e prezzo */
}
/* Reset mirato per i testi all'interno del box */
.accessory-item-dotazione-testo > * {margin-top: 0;margin-bottom: 0;}
.accessory-item-dotazione-testo p {
    font-size: 0.8666rem;
    line-height: 1.3;
    text-align: center;
    color: #005b8a;
    word-wrap: break-word;
    width: 100%;
}
.accessories-grid {display: flex;flex-wrap: wrap;margin: -0.625rem;justify-content: center;align-items: stretch;}
.flex-title {flex-basis: 100%;text-align: center;margin: 1.25rem 0;}
.accessory-item {
    box-sizing: border-box;
    margin: 0.625rem;
    border: 1px solid #ddd;
    text-align: center;
    border-radius: 0.5rem;
    background-color: #fefefe;
    box-shadow: 0 0.125rem 0.3125rem rgba(0,0,0,0.1);
    padding: 1rem;
    width: 15.625rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.accessory-item img {
    height: 7.5rem;
    width: auto;
    object-fit: contain;
    margin-bottom: 0.625rem;
    display: block;
    align-self: center;
    border-radius: 0.25rem;
    padding-top: 0.625rem;
}
.accessory-item .add-to-cart {margin-top: auto; align-self: center;}
.accessory-item h3 {font-size: 1.1em; color: #005B8A; margin-bottom: 0.5rem;}
.accessory-item p.price {font-weight: bold; color: #333; margin-bottom: 0.625rem;}
footer {
    background-color: #005B8A;
    color: white;
    text-align: center;
    padding: 0.9375rem;
    width: 100%;
    margin-top: auto;
    box-sizing: border-box;
    position: relative;
}
.footer-nav {
    display: flex;
    flex-wrap: wrap;         /* Fondamentale: i link vanno a capo se il font è al 150% */
    justify-content: center;   /* Centra i link */
    gap: 1.25rem;            /* Spazio tra i link (sostituisce i &nbsp;) */
    margin: 1rem 0 1.5rem 0; /* Spazio sopra e sotto il blocco link */
}
.footer-nav a {
    white-space: nowrap;     /* Impedisce che il nome del link si spezzi in due righe */
    font-size: 1rem;         /* Riprende la tua dimensione standard */
    text-decoration: none; 
    color: #ffffff;
}
.footer-nav a:hover,
.footer-nav a:focus-visible {
    text-decoration: none;
    outline: 3px solid #ffffff;
    outline-offset: 2px;
    border-radius: 2px;
}
.fondo1 {margin: 0 auto; padding: 0; text-align: center;line-height: 1.5;word-wrap: break-word;}
.no-wrap {white-space: nowrap;}
/* === TAB PRODOTTO: mobile-first sticky === */
.product-info-tabs {
    display: flex;
    justify-content: flex-start;
    margin-top: 0.625rem;
    margin-bottom: 1.25rem;
    border-bottom: 0.125rem solid #ddd;
    flex-wrap: wrap;
    position: sticky;
    top: 65px; /* altezza mobile-header */
    z-index: 99;
    background-color: #fff;
    gap: 0.125rem;
}
.product-info-tabs::-webkit-scrollbar {display: none;} /* nasconde la scrollbar su Chrome/Safari */
/* --- TAB BUTTON con effetto rilievo 3D --- */
.tab-button {
    flex: 1 1 auto;
    background-color: #f2f2f2;
    border: 1px solid #ddd;
    border-top: 2px solid #aaa;
    border-bottom: none;
    padding: 0.4rem 0.25rem;
    cursor: pointer;
    font-size: 0.9333rem;
    font-weight: bold;
    color: #555;
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.15s ease, transform 0.15s ease;
    border-top-left-radius: 0.3125rem;
    border-top-right-radius: 0.3125rem;
    margin-right: 0.15rem;
    margin-bottom: 0.2666rem;
    white-space: nowrap;
    /* Rilievo: luce in alto, ombra in basso */
    box-shadow:
        inset 0 -1px 0 rgba(255,255,255,0.8),
        0 4px 0 rgba(0,0,0,0.12),
        0 1px 3px rgba(0,0,0,0.08);
    transform: translateY(0);
}
.tab-button:hover {
    background-color: #e0e0e0;
    color: #333;
    box-shadow:
        inset 0 -1px 0 rgba(255,255,255,0.8),
        0 2px 0 rgba(0,0,0,0.15),
        0 1px 3px rgba(0,0,0,0.1);
}
.tab-button:active {
    /* Effetto pressione: il tasto "scende" */
    transform: translateY(1px);
    box-shadow:
        inset 0 1px 0 rgba(0,0,0,0.08),
        0 0 0 rgba(0,0,0,0.1),
        0 1px 2px rgba(0,0,0,0.06);
}
.tab-button.active,
.tab-button[aria-selected="true"] {
    background-color: #008267;
    border-color: #006e56;
    border-top: 2px solid #006e56;
    border-bottom: 0.125rem solid #008267;
    color: #fff;
    cursor: default;
    /* Tasto attivo: piatto, sembra premuto */
    box-shadow:
        inset 0 1px 0 rgba(0,0,0,0.15),
        0 0 0 transparent,
        0 1px 2px rgba(0,0,0,0.08);
    transform: translateY(3px);
}
.tab-button:focus-visible {outline: 3px solid #0056b3; outline-offset: 2px;}
.product-section {scroll-margin-top: 9.133rem;}
.submit-order-button {
    display: inline-block;
    padding: 0.75rem 1.5625rem;
    border: none;
    border-radius: 0.3125rem;
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.2s ease;
    width: 100%;
    margin-top: 1.25rem;
    background-color: #28a745;
    color: #fff;
}
.submit-order-button:hover {
    background-color: #218838;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.2);
}
.submit-order-button:active {
    background-color: #1e7e34;
    transform: translateY(0);
    box-shadow: none;
}
.product-section.product-description,
.product-section.tech-specs,
.product-section.accessories-section {display: none; padding-top: 0;}
.product-section.active-content {display: block;}
.product-section:not(.product-description):not(.tech-specs):not(.accessories-section) {margin-bottom: 1.25rem;}
.product-module:has(.product-info-tabs):not(:has(.active-content)) {padding-bottom: 0.3125rem;}
/* === CARRELLO: mobile-first === */
.cart-page-container {
    width: 99.9%;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0.5333rem;
    border: 0px solid #ccc;
    border-radius: 0.4375rem;
    box-shadow: 0 0 1.25rem 0.125rem #ADADAD;
}
.product-item {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    border: 1px solid #ccc;
    padding: 0.625rem;
    margin-bottom: 0.9375rem;
}
.product-item img {max-width: 6.25rem; height: auto; margin-right: 1rem;}
.product-details {flex-grow: 1; overflow: hidden;}
/* Carrello su mobile: layout colonna centrata */
.cart-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 0 0.5rem 0;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
}
.cart-page-container .cart-item img {margin: 0 auto 1rem auto; display: block;}
.item-details {width: 100%; margin-bottom: 0.8rem; flex-grow: 1;}
.item-details p{text-align:center;}
.cart-actions {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 0 0.5rem 1rem 0.5rem;
    box-sizing: border-box;
}
.cart-actions .remove-item {
    margin: 0;
    padding: 0.5rem 0.8rem;
    font-size: 0.75rem;
    min-width: 5rem;
    text-align: center;
    border-radius: 0.5rem;
    color: #888;
    border: 1px solid #ccc;
    background: transparent;
    flex-shrink: 0;
}
.quantity-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0 0.5rem 1rem 0.5rem;
    min-width: 5rem;
    gap: 0.75rem;
}
.cart-page-container .quantity-controls button {
    min-width: 2.75rem;
    height: 2.75rem;
    font-size: 1.4rem;
    border: 1px solid #333;
    background-color: #f8f9fa;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: normal;
    text-align: center;
    color: #333;
}
.quantity-controls button + button {padding: 0 0 0.125rem 0;}
.cart-item h4 {font-size: 1rem;}
.item-price {font-size: 0.8866rem;}
.item-quantity input {width: 2.3333rem; padding: 0.2rem; font-size: 0.84rem;}
.quantity-btn {padding: 0.2666rem 0.4rem; font-size: 0.7466rem;}
.remove-item {padding: 0.4rem 0.6666rem; font-size: 0.7466rem;}
#cart-total {font-weight: bold; margin-top: 0; text-align: right;}
#checkout-button {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 0.6666rem 1rem;
    cursor: pointer;
    border-radius: 0.3125rem;
    margin-top: 1.25rem;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1rem;
}
.form-container {
    margin: 1.3333rem auto;
    padding: 0.6666rem;
    border: 0px solid #ccc;
    border-radius: 0.4375rem;
    box-shadow: 0 0 1.25rem 0.125rem #ADADAD;
    width: 97%;
    max-width: 100%;
    text-align: center;
    background-color: #fcfcfc;
    box-sizing: border-box;
}
.form-group {margin-bottom: 1.875rem;}
.form-group label {display: block; margin-top: 0; font-size: 1.0625rem;}
.form-group input,
.form-group textarea {
    width: 100%;
    max-width:100%;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 0.25rem;
    font-size: 1.125rem;
    box-sizing: border-box;
}
.form-group select {width: 90%;max-width: 100%;height:auto; font-size: 0.84rem; padding: 0.3rem;box-sizing: border-box;}
textarea {resize: vertical;}
#add-to-cart-message {
    position: absolute;
    background-color: lightgreen;
    padding: 0.3125rem 0.625rem;
    border-radius: 0.3125rem;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    font-size: 0.8em;
}
#payment-options {margin-top: 1.25rem; display: none;}
#payment-options select {width: 100%;max-width:100%;box-sizing: border-box; padding: 0.3125rem; margin-bottom: 0.625rem; font-size: 1rem;}
#payment-options select option {line-height: 1.9; padding: 0.4em 0.5em; font-size: 1.0625rem;}
#error-message {color: red; margin-bottom: 0.625rem;}
.select-error {color: red; font-size: 0.8rem; margin-left: 0;}
#cart-items-container {opacity: 1;}
#cart-items-container.loaded {opacity: 1;transition: opacity 0.1s ease-in-out;}
.cart-summary-totals {
    margin: 1.5625rem auto 1.5625rem auto;
    padding: 0.6666rem 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background-color: #f9f9f9;
    max-width: 100%;
    box-shadow: 0 0.125rem 0.3125rem rgba(0,0,0,0.1);
}
.total-row {display: flex;justify-content: space-between;align-items: center;padding: 0.4rem 0;border-bottom: 1px dashed #e0e0e0;}
.total-row:last-of-type {border-bottom: none; padding-bottom: 0;}
.total-row .label {font-weight: normal; color: #555; margin:0;line-height: 1.2;}
.total-row .value {font-weight: bold; color: #333; text-align: right;margin-left: auto;line-height: 1.2;}
.final-total-row {font-size: 1.0266rem;font-weight: bold;padding-top: 0.8rem;margin-top: 1.2rem;border-top: 0.125rem solid #005B8A;align-items: center;}
.final-total-row .label,
.final-total-row .value {font-weight:bold; color:#005B8A;font-size:inherit;line-height:1;align-items:center;height:auto;vertical-align: middle;}
.final-total-row .value {margin: 0; padding: 0;}
.pad-image {padding: 0 1.1rem; max-width: 100%; box-sizing: border-box;}
.pad-image img {max-width: 100%; height: auto; display: block; margin: 0 auto;}
/* Transizioni bottoni carrello */
.remove-item,
.increase-quantity,
.decrease-quantity {transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;}
.cart-page-container .increase-quantity:hover,
.cart-page-container .decrease-quantity:hover {background-color: #0056b3;color: #fff;border-color: #004494;cursor: pointer;}
.cart-page-container .remove-item:hover {background-color: #d93025;color: #fff;border-color: #b3241a;cursor: pointer;}
.cart-page-container .increase-quantity,
.cart-page-container .decrease-quantity {
    min-width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    border: 1px solid #333;
    border-radius: 0.25rem;
    font-size: 1.4rem;
    color: #333;
}
body.mobile-menu-open .tabs-container {
    pointer-events: none;
    user-select: none;
}
/* ============================================================
   MEDIA QUERIES — mobile-first, solo min-width  */
/* --- Da 341px: schermi medi-piccoli (es. iPhone SE, Galaxy S serie) --- */
@media (min-width: 21.3125rem) {
    .nomepagina {font-size: 1.0666rem;}
    .ombra-laterale {width: 97%;}
    .accessory-item-dotazione-testo p {font-size: 0.9375rem;}
}
@media (min-width: 22.1875rem) { /* 355px */
        .tab-button {
        font-size: 0.9333rem;  /* Torna al tuo valore originale */
        padding: 0.4rem 0.4rem; /* Torna al tuo padding originale */
        margin-right: 0.3333rem; /* Torna al tuo margine originale */
    }
}
/* --- Da 480px --- */
@media (min-width: 30rem) {
    
    .tabella-comparativa {min-width: 100%;table-layout: fixed;}
    .tabella-comparativa .col-voci {width: 7rem; min-width: 7rem; font-size: 0.8rem; padding: 0.4rem 0.25rem; word-break: break-word;}
    .tabella-comparativa th,
    .tabella-comparativa td {min-width: 6.5rem; font-size: 0.75rem; padding: 0.5rem 0.2rem;}
    .pad-image {padding: 0 1.5rem;}
}

/* --- Da 768px: layout desktop (header fisso, sidebar, 2 colonne) --- */
@media (min-width: 48rem) {
       
      .imgsx4 {float:left; text-align:center; width:45%;border:0px solid #dedede;margin:0.9375rem auto;height:auto;padding:0.3125rem;} 
      .imgdx4 {float:right; text-align:center; width:50%;border:0px solid #dedede;margin:0.9375rem auto;height:auto;padding:0.3125rem;}
      .post5 {margin: 1.25rem auto; padding: 0 0.4375rem; text-align: center;}
     .nomepagina {font-size: 1.125rem;}
     main {padding: 2.1875rem 0.33rem; overflow: initial; clear: both;}
     .container {
        max-width: 90rem;        /* cap leggibilità testo con clamp font-size */
        width: 93%;
        margin: 0 auto;
        padding: 0;
        gap: 1.5rem;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        box-sizing: border-box;
    }
    .grande {display: none;}
    .piccolo {display: block;}
  /* Mostra header desktop, Nascondi header mobile */
    header {display: flex; height: 4.0625rem; padding: 0 0.9375rem;}
    header .logo img {height: 3.4375rem; width: auto;}
    header .nav-links {height: 100%;}
    header .nav-links li {height: 100%; margin-left: 0.625rem;}
    header .nav-links a {font-size: 1rem; padding: 0 0.3125rem; line-height: 4.0625rem;}
    header .nav-links .dropdown-content li a {padding: 0.625rem 0.75rem; font-size: 0.9375rem;line-height: 1.4;}
    
    /* Impedisce che il carrello e il badge si schiaccino quando lo spazio è poco (768px-820px) */
header .cart {display: flex;align-items: center;}
header .cart a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; /* <--- CRUCIALE: impedisce il restringimento */
    padding: 0 0.5rem; /* Spazio di sicurezza ai lati */
    height: 100%;
}
header .cart-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem; /* <--- Forza la larghezza minima per il cerchio */
    height: 1.25rem;
    flex-shrink: 0; /* <--- Impedisce che diventi un ovale */
    border-radius: 50%;
}
.header-inner {
        width: 100%;   /* 1.08× la larghezza del container */
        max-width: 97.2rem;        /* 90rem × 1.08 — cap proporzionale al container */
        padding: 0;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .mobile-header {display: none;}
    .mobile-cart-center {display: none;}
    body {padding-top: 4.0625rem;}
    /* Sidebar visibile */
    .sidebar {display: block; flex: 0 0 15.625rem; padding: 0.9375rem;box-sizing: border-box; 
     box-shadow: 0 4px 12px rgba(0,0,0,0.06);border-radius: 0.4375rem; bottom: 1.25rem; top: 4.0625rem;}
    .main-content {flex: 1; min-width: 0; max-width: 56.25rem;padding-right: 0; margin-bottom: 0; line-height: 1.6;}
    /* Product */
    .product-title {font-size: clamp(1.3rem, 1rem + 0.5vw, 1.6rem);line-height: 1.3; margin-bottom: 1.25rem;}
    .product-image-container {width: clamp(70%, 60% + 10vw, 80%); padding: 0.9375rem;}
    .product-image {max-width: 80%;}
    .old-price {margin-right: 0.9375rem;}
    .new-price {font-size: clamp(1.2rem, 1rem + 0.5vw, 1.5rem);}
    .product-description h2,
    .tech-specs h2,
    .accessories-section h2 {font-size: clamp(1.3rem, 1rem + 0.6vw, 1.7rem);margin-top: clamp(1.5rem, 2vw, 2.2rem);
      margin-bottom: clamp(1rem, 1.2vw, 1.5rem);}
    .tech-specs-list-left,
    .tech-specs-list-right {flex-basis: 48%; margin-bottom: 0;}
    /* Tab button */
    .tab-button {font-size: clamp(0.9rem, 0.8rem + 0.2vw, 1.05rem);
      padding: clamp(0.5rem, 0.6vw, 0.75rem) clamp(0.8rem, 1vw, 1rem); margin-right: 0.9375rem; margin-bottom: 0.2666rem;}
    .product-info-tabs {position: static; top: auto; z-index: auto; background-color: transparent;}
    .product-section {scroll-margin-top: 0;}
    /* Carrello desktop */
    .cart-page-container {width: 85%; padding: 0.9375rem;}
    .cart-summary-totals {max-width: 21.875rem; margin-left: auto; margin-right: 0; padding: clamp(0.8rem, 1vw, 1.2rem) clamp(1rem, 1.5vw, 1.5rem);}
    .total-row {padding: 0.5rem 0;}
    .total-row .label,
    .total-row .value {font-size: inherit;margin-top:0;}
    .final-total-row {font-size: 1.2em; padding-top: 0.9375rem;display: flex; align-items: center;justify-content: space-between;}
    .form-container {margin: 1.25rem auto; padding: 1.25rem; min-width: auto; width: 70%;}
    .form-group select {width: 90%; font-size: inherit; padding: 0.5333rem; box-sizing: border-box;}
    #checkout-button {padding: 0.625rem 1.25rem; font-size: 1rem;}
    .cart-item {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        padding: 0.625rem 0;
        border-bottom: 1px solid #eee;
    }
    .cart-page-container .cart-item img {margin: 0;}
    .cart-actions {flex-direction: column; align-items: flex-end; width: auto; padding: 0;}
    .cart-actions .remove-item {
        margin: 0 0 0.625rem 0;
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
        border-radius: 0.5rem;
        color: inherit;
        border: 1px solid #ccc;
        background: #f8f8f8;
    }
    .quantity-controls {padding: 0; gap: 0;}
    .cart-page-container .quantity-controls button,
    .cart-page-container .increase-quantity,
    .cart-page-container .decrease-quantity {
        min-width: auto;
        width: 2.1875rem;
        height: 2.1875rem;
        font-size: 1.125rem;
        border: 1px solid #ccc;
        background-color: #f8f8f8;
        border-radius: 0.5rem;
        color: inherit;
    }
    .ancora-sezioni { padding-top: 5.625rem; margin-top: -5.625rem; }
    /* Tabella comparativa desktop */
    .ancora-dinamica {top: -6.25rem;}
     details.confronto-tecnico {margin: 0.625rem 0 0.625rem 0;}
    .tabella-comparativa {min-width: 100%;table-layout: fixed;}
    .tabella-comparativa th,
    .tabella-comparativa td {padding: 0.8rem 0.5rem; font-size: 0.9375rem; min-width: 9rem;line-height: 1.4;}
    .tabella-comparativa thead th {font-size: inherit; padding: 0.8rem 0.5rem; z-index: 10;}
    .tabella-comparativa thead th.col-voci {font-size: inherit; color: #005B8A; text-align: left; z-index: 30;}
    .tabella-comparativa .col-voci {width: 11.25rem; min-width: 11.25rem; font-size: inherit; padding-left: 0.625rem; word-break: normal;}
    .tabella-comparativa tbody th,
    .tabella-comparativa tbody td {font-size: 0.9375rem; padding: 0.8rem 0.5rem;}
    .tabella-comparativa thead th:not(.col-voci) {width: auto;}
    .ombra-laterale {width: 85%;}
    .pad-image {padding: 0 1.5rem;}
     section.product-section.active-content:not([hidden]) {
        display: block;
        visibility: visible;
        opacity: 1;
        height: auto;
    }
}
/* --- Da 1200px --- */
@media (min-width: 75rem) {
    body {padding-top: 4.6875rem;}
    .nomepagina {font-size: 1.1333rem;}
    header {height: 4.6875rem; padding: 0 1.5625rem;}
    header .logo img {height: 4.0625rem; width: auto;}
    header .nav-links li {margin-left: 1.25rem;}
    header .nav-links a {font-size: 1.125rem; padding: 0 0.4375rem; line-height: 4.6875rem;}
    header .nav-links .dropdown-content li a {padding: 0.6875rem 1.125rem; font-size: 1rem;}
    header .cart a {padding: 0 0.625rem;}
    
    .container {padding: 0 1.5rem;gap: 2.5rem;background-color: #ffffff;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05), 0 15px 35px rgba(0,0,0,0.1);}
    .sidebar {top: 4.6875rem;flex: 0 0 18.75rem;}
     main {padding-top: 2.1875rem; clear: both;}
    .accessory-item {width: calc(33.33% - 1.25rem);}
    /* Accessori dotazione: 4 colonne da 1200px (tutti in fila) */
    .accessory-item-dotazione {flex: 1 1 calc(25% - 0.7rem);min-width: calc(25% - 0.7rem);}
    .ancora-sezioni { padding-top: 7.1875rem; margin-top: -7.1875rem; }
}
/* --- Da 1600px --- */
@media (min-width: 100rem) {
    body {padding-top: 5.625rem;}
    .nomepagina {font-size: 1.1875rem;}
    header {height: 5.625rem; padding: 0 1.875rem;}
    header .logo img {height: 5rem; width: auto;}
    header .nav-links li {margin-left: 1.875rem;}
    header .nav-links a {font-size: 1.1875rem; padding: 0 0.5rem; line-height: 5.625rem;}
    header .nav-links .dropdown-content li a {font-size: 1.0625rem;padding: 0.8125rem 1.25rem;}
    header .cart a {padding: 0 0.75rem;}
    
    .container {padding: 0 2rem; gap: 2.5rem;box-shadow: 0 8px 20px rgba(0,0,0,0.06), 0 20px 50px rgba(0,0,0,0.12);}
    .sidebar {top: 5.625rem;flex: 0 0 21.875rem;}
    .accessory-item {width: calc(25% - 1.25rem);}
    .ancora-sezioni { padding-top: 7.1875rem; margin-top: -7.1875rem; }
}
/* --- Da 2000px --- */
@media (min-width: 125rem) {
    body {padding-top: 6.25rem;}
    header {height: 6.25rem; padding: 0 2.5rem;}
    header .logo img {height: 5.625rem; width: auto;}
    header .nav-links li {margin-left: 2.1875rem;}
    header .nav-links a {font-size: 1.25rem; padding: 0 0.625rem; line-height: 6.25rem;}
    header .nav-links .dropdown-content li a {font-size: 1.125rem;padding: 0.9375rem 1.375rem;}
    header .cart a {padding: 0 0.875rem;}
    
    .container {padding: 0 3.125rem;gap:3.5rem; box-shadow: 0 10px 25px rgba(0,0,0,0.07), 0 25px 70px rgba(0,0,0,0.14);}
    .sidebar {top: 6.25rem;flex: 0 0 24rem;}
     main {padding-top: 2.5rem;}
    .ancora-sezioni {padding-top: 8.75rem; margin-top: -8.75rem;}
}
