/* === 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, h1, h2, h3, h4, p, blockquote, a, address,
del, em, img, s, strong, b, u, i, center,
dl, dt, dd, ol, ul, li, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time,
audio, video {margin: 0; padding: 0; border: 0; vertical-align: baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
del, s {text-decoration: line-through;text-decoration-color: #CC0000;text-decoration-thickness: 1px;}
img, svg {max-width: 100%;height:auto;object-fit:contain;min-width:0;}
b, strong {font-weight: 600;}
a {text-decoration:none; color:#0853BA; font-weight:600;}
section.product-section[hidden] {display: none !important;}
: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.3125rem;}  
h3 {font-size: 1.1875rem; color: #005B8A; padding-bottom: 0.625rem;margin-bottom: 0.3rem;}
h4 {font-size: 1rem;text-align: left;font-weight: 600;color: #008385;padding-bottom: 0.3125rem;margin-bottom: 0.18rem;}
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 {position: fixed;top: 0;left: 0;width: 100%;z-index: 9999;background-color: #005B8A;box-sizing: border-box;}
.header-inner {display: none;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: 0rem 0.5rem 1rem 0rem 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 */
.mobile-header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #005B8A;
    height: 60px; 
    padding: 0 15px; 
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    z-index: 9999;
}
.mobile-header .mobile-logo {display: flex;align-items: center;line-height: 0;flex-shrink: 0;width: 153px;}
.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; 
    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;width: auto;max-width: none;margin-right: 0;vertical-align: middle;}
.mobile-cart-center .cart-flex-wrapper .cart-count-badge {
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    background-color: #d32f2f; 
    color: #fff;
    font-size: 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; 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;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.125rem;
    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; padding-left: 18px;}
/* === DROPDOWN MOBILE === */
.magneto-mob {display:block;}
.mobile-dropdown-content {display: none;list-style: none;padding: 0;margin: 0;background-color: #003366;min-width: 100%;}
.mobile-dropdown-content.open { display: block; }
.mobile-dropdown-content li {transition: background-color 0.2s ease;}
.mobile-dropdown-content li:hover {background-color: #004488;}
.mobile-links .mobile-dropdown-content li a:hover {color: #ffffff;}
.mobile-dropdown-content li a {color: #edffff;padding-top: 0.9rem;padding-bottom: 0.9rem;padding-left: 1.875rem; 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: 100%;
    margin: 0 auto;
    padding: 0 5px;
    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; }
/*** Link-speciali ***/
.grande-tecnico  {display: block;}
.grande-footer  {display: block;}
.grande  {display: block;}
.piccolo {display: none;}
.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;
    position: -webkit-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: #005B8A; 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: 5px;}
.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;}
.grid-container {display: flex;flex-wrap: wrap;gap: 0.75rem;width: 100%;margin: 0 auto;}
.box {
     box-sizing: border-box;
     width: 100%;
     border: 1px solid #ccc;
     padding: 1.25rem 0.625rem;
     background-color: #fff;
     border-radius: 6px;
     display: flex;
     flex-direction: column;   
     align-items: center;
     min-height: auto; 
}
.box h2, .box.grande h2 {margin: 0 0 1rem 0;font-size:1rem;}
.box img, .box.grande img {max-width: 100%;height: auto;margin: 0 auto 1rem;display: block;}
.box p, .box.grande p {margin: 0;font-size: 1rem;text-align: center;}
.box ul, .box.grande ul {text-align: left;margin: 0.5rem auto;padding-left: 1.5rem;
 list-style-type: square;color:#005b8a;max-width:100%;width: fit-content;word-break: break-word;}
/* Immagine Azienda */
.immagineazienda {background-image: url(fondo-azienda-23.jpg);background-repeat: no-repeat;background-position: top;border-radius: 5px;}
/*** 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: 5px;
    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: #008385;font-size:1.125rem;}
.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.75rem 0.5rem;text-align: center;border-radius: 8px;box-sizing: border-box;}
.modelli-fondo {background-color:#e6f0ff; border-radius:5px;text-decoration: none;}
.modelli-fondo-prezzo {background-color:#e6f0ff; border-radius:5px; color:#004d99;font-weight:600;}
.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;max-width: 100%;}
.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 ***/
.flex-buttons {display: flex;justify-content: center;align-items: center;gap: clamp(1rem, 10%, 4rem);width: 100%;flex-wrap: wrap;}
.flex-buttons .btn {text-align: center;flex-shrink: 0;}
.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: 0rem 0rem 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: 6px;
    box-sizing: border-box;
}
/* Contenitore principale del carosello */
.fade-container {
    position: relative;
    width: 100%;
    max-width: 590px;
    aspect-ratio: 590 / 115;
    margin: 1rem auto;
    overflow: hidden;
    background-color: transparent;
    contain: strict;
    will-change: transform;
}
/* Regole base per tutte le immagini del carosello */
.fade-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: crossFade 15s infinite ease-in-out;
    will-change: opacity;
}
/* Ritardi scaglionati con prima immagine visibile da subito */
.fade-container img:nth-child(1) {animation-delay: 0s;opacity: 1;}
.fade-container img:nth-child(2) {animation-delay: 5s;}
.fade-container img:nth-child(3) {animation-delay: 10s;}
/* Animazione per la dissolvenza incrociata (cross-fade) */
@keyframes crossFade {
    0% {opacity: 0;}
    /* Entra in 2 secondi (2/15 = 13.33%) */
    13.33% {opacity: 1;}
    /* Rimane visibile per 1.5 secondi (fino a 3.5s totali -> 23.33%) */
    23.33% {opacity: 1;}
    /* Inizia a sparire e finisce dopo altri 2 secondi (fino a 5.5s totali -> 36.66%) */
    36.66% {opacity: 0;}
    100% {opacity: 0;}
}
/* Input */
 input {font-size: 1rem;font-style: normal;background: #efefef;font-weight: 400;padding: 0.25rem; border-radius:5px;}
 input.tipo1 {color: #fff;background: #008ec6;padding: 0.25rem;}
 input.tipo2 {width: 87%;height:2rem; font-size:1rem;}
 textarea.tipo2 {width: 80%;font-weight: 400;border-radius:5px;}
.title  {text-align: center; color: #008385;}
.title2 {text-align: center; color: #0853ba; 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: #008385; text-align: left; font-style: oblique;}
.title6 {margin: 0 auto; padding: 0 0.3125rem; width: 100%; text-align: center; font-size: 0.9375rem;display: table;}
.title8 {font-size: 1.0625rem; text-align: center; color: #005B8A;padding-bottom:0.625rem;}
.title9 {padding: 0 0 0.3125rem 0; text-align: center; margin: 0 auto; color: #008385; font-size: 1.125rem;}
.testobianco a {font-weight: bold; color: #fff; font-size: 0.9375rem; text-decoration: none;}
.testorosso5 {font-weight: bold; color: #cc0000; font-size: 1.3125rem;}
.testoverde13 {font-weight: bold; color: #008385; font-size: 0.9375rem;flex-basis: 100%;text-align: center;margin-top: 0;line-height: 1;}
.testoverde17 {font-weight: bold; color: #008385; font-size: 1.0625rem; text-align: center;}
.testoazzurro14 {font-weight: 600; color: #005B8A; font-size: 1.0625rem;}
.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: 0.625rem auto 0 auto; 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;width:100%;}
.post1 .meta1 a {text-decoration: none;}
.post1 .entry1 {padding: 1.875rem 0 0;}
.post4 {width: 85%;margin: 0 auto;text-align: center;}
.post5 {margin:0.625rem auto; padding:0 0.625rem;text-align:center;max-width:100%;height:auto;}
/* Modulo */
.modulo {margin:0 auto; padding:0px; text-align:center; width:97%;}
.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: #008385;font-weight:500;}
 .imgsx0 {float:left; text-align:center; margin:0 auto; width:30%;display: table-cell;} 
 .imgsx1 {float:left; padding:10px 10px 0 10px; margin:0 auto;} 
 .imgdx1 {float:right; padding:10px 10px 0 10px; margin:0 auto;}
 /* 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: 90%;height: 5px;margin: 1.5rem auto 1.5rem auto;border-top: 1px solid #005b8a;border-bottom: 1px solid #005b8a;background-color: #dedede;}
.linea-piccola {width: 85%; border-top: 1px solid #005b8a; margin: 1.5625rem auto;}
.cornerbox1 {position: relative;width: 97%;background-color: #E6F0FF;margin: 0 auto;border-radius: 6px;box-shadow: 0rem 0rem 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;display: table-cell;text-align: left;}
.lista3 ul {list-style-type: square;}
.ancora-sezioni {
    display: block;
    visibility: hidden;
    position: relative;
    /* Mobile: 60px header + 20px respiro */
    padding-top: 5rem;
    margin-top: -5rem;
}
h2[id] {scroll-margin-top: 5rem;scroll-behavior: smooth;}
/* === 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: 6px;
    box-shadow: 0rem 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: 6px;
    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: 6px;}
/* 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: 6px 6px 0 0;}
/* === TABELLA COMPARATIVA: mobile-first === */
.tabella-scroll-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    position: relative;
    border-radius: 0 0 6px 6px;
    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;}
/* Il binario della barra (largo quanto il wrapper) */
.custom-scroll-indicator {width: 100%;height: 6px;background-color: #f1f1f1;border-radius: 3px;margin-top: 8px;position: relative;overflow: hidden;}
/* Il cursore che si muove, comandato dal JS */
.custom-scroll-thumb {
    height: 100%;
    background-color: #005B8A;
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 0;
    will-change: transform; 
    transition: transform 0.05s linear;
}
.tabella-comparativa {width:100%;min-width: 30rem;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;
    position: -webkit-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;
    position: -webkit-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;
    position: -webkit-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: 6px;
    box-shadow: 0rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.1);
}
.product-image {max-width: 100%; height: auto; border-radius: 6px; 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;}
.old-price {text-decoration: line-through;text-decoration-color: #CC0000;text-decoration-thickness: 1px;color: #3C3C3C; font-size: 1.1em; margin: 0;}
.new-price {padding: 0 0.3125rem;font-size: 1.1875em;font-weight: 600;background-color: #e6f0ff;border-radius: 8px;color: #004d99;margin: 0;}
.add-to-cart {
    background-color: #0054B3;
    color: #fff;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 8px;
    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: 0rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
    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:2px;}
.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: 5px;
    box-shadow: 0rem 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: 0.125rem 0.625rem 1.3125rem 0.625rem; 
    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: 6px;
    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: 6px;
    background-color: #fefefe;
    box-shadow: 0rem 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 {
    max-height: 7.5rem;
    height:auto;
    width: auto;
    max-width:100%;
    object-fit: contain;
    margin-bottom: 0.625rem;
    display: block;
    align-self: center;
    border-radius: 6px;
    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 0.9375rem 0.625rem 0.9375rem;width: 100%;margin-top: auto;box-sizing: border-box;position: relative;}
.footer-nav {display: flex;flex-wrap: wrap;justify-content: center;gap: 1.25rem;margin: 1rem 0 1.5rem 0;}
.footer-nav a,
.fondo1 a {white-space: nowrap;font-size: 1rem;text-decoration: none;color: #ffffff;}
.footer-nav a:hover,
.footer-nav a:focus-visible,
.fondo1 a:hover,
.fondo1 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;position: relative;}
.cookie-alert {
    background-color: #003855;
    font-weight: 600;
    margin: 1.5rem 2.1875rem 0.1875rem 2.1875rem; 
    min-height: 1.75rem;
    line-height: 1.25;
    padding: 0.3125rem 0;
    box-sizing: border-box;
}
.no-wrap {white-space: nowrap;}

/* Il pannello parte troncato di base per non allungare la pagina sul telefono */
.tab-panel-truncated {
    max-height: 11.25rem; /* Altezza del taglio su mobile */
    overflow: hidden;
    position: relative;
    transition: max-height 0.3s ease;
}
/* La sfumatura bianca che copre il testo finale su mobile */
.tab-panel-truncated::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3.75rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
    pointer-events: none; /* Non blocca i click sui link sottostanti */
}
/* Il bottone "Leggi tutto" è visibile di base (struttura mobile) */
.btn-leggi-tutto-mobile {
    display: block;
    visibility: visible !important;
    width: calc(100% - 2rem);
    margin: 0.625rem auto 1.25rem auto;
    padding: 0.625rem 1rem;
    background-color: #ffffff;
    border: 1px solid #008385;
    border-radius: 6px;
    color: #008385;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: background-color 0.2s ease, color 0.2s ease;
    position: relative; /* Lo tiene sopra eventuali posizionamenti */
    z-index: 10;
}
.btn-leggi-tutto-mobile:hover,
.btn-leggi-tutto-mobile:active {background-color: #008385;color: #ffffff;}
.btn-leggi-tutto-mobile:focus-visible {outline: 3px solid #0056b3;outline-offset: 2px;}
/* === TAB PRODOTTO: mobile-first sticky === */
.product-info-tabs {
    display: flex;
    justify-content: flex-start;
    margin-top: 0.625rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #ddd;
    flex-wrap: wrap;
    position: sticky;
    position: -webkit-sticky;
    top: 4.0625rem; /* altezza mobile-header */
    z-index: 99;
    background-color: #fff;
    gap: 0.5rem;
}
.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;
    cursor: pointer;
    font-size: 1.125rem;  
    padding: 0.375rem 0.3125rem;
    font-weight: 600;
    color: #555;
    transition: transform 0.15s ease, background-color 0.3s ease;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    margin-right: 0;
    margin-bottom: 0.3125rem;
    white-space: nowrap;
    /* Rilievo: luce in alto, ombra in basso */
    box-shadow:
    inset 0px -1px 0px rgba(255, 255, 255, 0.8),
    0px 4px 0px rgba(0, 0, 0, 0.12),
    0px 1px 3px rgba(0, 0, 0, 0.08);
    transform: translateY(0);
}
.tab-button:hover {
    background-color: #e0e0e0;
    color: #333;
    box-shadow:
        inset 0px -1px 0px rgba(255, 255, 255, 0.8),
        0px 2px 0px rgba(0, 0, 0, 0.15),
        0px 1px 3px rgba(0, 0, 0, 0.1);
}
.tab-button:active {
    /* Effetto pressione: il tasto "scende" */
    transform: translateY(1px);
    box-shadow:
        inset 0px 1px 0px rgba(0, 0, 0, 0.08),
        0px 0px 0px rgba(0, 0, 0, 0.1),
        0px 1px 2px rgba(0, 0, 0, 0.06);
}
.tab-button.active,
.tab-button[aria-selected="true"] {
    background-color: #008385;
    border-color: #006e56;
    border-top: 2px solid #006e56;
    border-bottom: 0.125rem solid #008385;
    color: #fff;
    cursor: default;
    /* Tasto attivo: piatto, sembra premuto */
    box-shadow:
        inset 0px 1px 0px rgba(0, 0, 0, 0.15),
        0px 0px 0px transparent,
        0px 1px 2px rgba(0, 0, 0, 0.08);
    transform: translateY(3px);
    transition: none !important;
}
.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: 5px;
    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: 0rem 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: 100%;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0.5333rem;
    border: 0px solid #ccc;
    border-radius: 8px;
    box-shadow: 0rem 0rem 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: 8px;
    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: 8px;
    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: 8px;
    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: 8px;
    box-shadow: 0rem 0rem 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: 6px;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:6px;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: 6px;
    background-color: #f9f9f9;
    max-width: 100%;
    box-shadow: 0rem 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 {max-width: 100%; height: auto; display: block; margin: 0 auto;padding: 0 1.1rem;box-sizing: border-box;}
/* 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: 6px;
    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 480px --- */
@media (min-width: 30rem) {
    .tabella-comparativa {width: 100%;min-width: 35rem;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) {
      .grande-tecnico {display: none;}
      .grande-footer {display: none;}
      .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;
        width: 93%;
        margin: 0 auto;
        padding: 0;
        gap: 1.5rem;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        box-sizing: border-box;
    }
/* Mostra header desktop, Nascondi header mobile */
header {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; padding: 0 0.5rem; 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 {display: flex;width: 100%;max-width: 97.2rem;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: 0px 4px 12px rgba(0, 0, 0, 0.06);border-radius: 6px; 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;}
    /* Rimuoviamo il limite di altezza sul desktop, la descrizione si vede tutta */
    .tab-panel-truncated {max-height: none !important;overflow: visible;}
    /* Eliminiamo la sfumatura di fondo che su desktop non serve */
    .tab-panel-truncated::after {display: none !important;}
    /* Nascondiamo completamente il bottone sul desktop */
    .btn-leggi-tutto-mobile {display: none !important;}
    /* Tab button */
    .tab-button {padding: clamp(0.5rem, 0.6vw, 0.75rem) clamp(0.8rem, 1vw, 1rem); margin-right: 0; 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:6px;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: 6px;color: inherit;}
.ancora-sezioni { padding-top: 5.625rem; margin-top: -5.625rem; }
h2[id] {scroll-margin-top: 5.625rem;scroll-behavior: smooth;}
/* Tabella comparativa desktop */
    .ancora-dinamica {top: -6.25rem;}
     details.confronto-tecnico {margin: 0.625rem 0;}
    .tabella-comparativa {width: 100%;max-width: 100%;min-width: auto;table-layout: auto;}
    .tabella-comparativa th,
    .tabella-comparativa td {padding: 0.8rem 0.5rem; font-size: 0.9375rem; min-width: auto;line-height: 1.4;white-space: nowrap;}
    .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: 90%;}
    .pad-image {padding: 0 1.5rem;}
     section.product-section.active-content:not([hidden]) {display: block;visibility: visible;opacity: 1;height: auto;}
}
/* --- Da 880px --- */
@media (min-width: 55rem) {
    .box {box-sizing: border-box;width: calc(50% - 0.375rem);} /* 50% meno metà del gap */
}
/* --- Da 1200px --- */
@media (min-width: 75rem) {
    body {padding-top: 4.6875rem;}
    .nomepagina {font-size: 1.1333rem;}
    h1 {font-size: 1.5625rem;} 
    h2 {font-size: 1.375rem;}  
    h3 {font-size: 1.25rem; color: #005B8A; padding-bottom: 0.625rem;margin-bottom: 0.3rem;}
    h4 {font-size: 1.0625rem;}
    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: 0px 5px 15px rgba(0, 0, 0, 0.05), 0px 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; }
    h2[id] {scroll-margin-top: 7.1875rem;scroll-behavior: smooth;}
}
/* --- Da 1456px --- */
@media (min-width: 91rem) {
    body.pausa-caffe .magneto-des {display: none;}
    body.pausa-caffe .grande {display: none;}
    .piccolo {display: block;}
}
/* --- Da 1504px --- */
@media (min-width: 94rem) {
    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: 0px 8px 20px rgba(0, 0, 0, 0.06), 0px 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: 8.125rem; margin-top: -8.125rem; }
    h2[id] {scroll-margin-top: 8.125rem;scroll-behavior: smooth;}
}
/* --- Da 1792px --- */
@media (min-width: 112rem) {
    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: 0px 10px 25px rgba(0, 0, 0, 0.07), 0px 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;}
    h2[id] {scroll-margin-top: 8.75rem;scroll-behavior: smooth;}
}
