﻿.catalog-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px}.catalog-sidebar{min-width:0}.category-menu{border:1px solid var(--line);border-radius:7px;padding:18px;position:sticky;top:108px;max-height:calc(100vh - 130px);overflow:auto}.category-menu>summary{font-size:13px;font-weight:bold;cursor:pointer;margin-bottom:18px}.category-all{display:block;font-size:12px;margin-bottom:12px;color:var(--blue)}.category-group{border-top:1px solid var(--line);padding:13px 0}.category-group summary{font-size:13px;font-weight:bold;cursor:pointer}.category-group summary i{margin-right:7px}.category-group>div{padding:9px 0 0 12px}.category-group a{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;font-size:12px;border-radius:4px;color:var(--muted)}.category-group a[aria-current],.category-group a:hover{color:var(--ink);background:#eaf0f3}.category-group small{color:#849aa4}.catalog-tools{display:flex;gap:10px;align-items:center;margin-bottom:18px}.catalog-tools .form-floating{flex:1;position:relative;height:50px;border:1px solid #cbd5df;border-radius:5px}.catalog-tools input.textbox{width:100%;height:48px;padding:20px 14px 5px;border:0;background:transparent;font:inherit;font-size:14px;color:var(--ink)}.catalog-tools label{position:absolute;top:13px;left:14px;pointer-events:none;font-size:14px}.catalog-tools input::placeholder{color:transparent}.catalog-tools input:focus~label,.catalog-tools input:not(:placeholder-shown)~label{top:3px;font-size:10px;color:var(--muted)}.catalog-crumb{font-size:12px;margin-bottom:16px}.brand-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px;max-height:140px;overflow:auto}.brand-filters a{font-size:11px;padding:5px 11px;border:1px solid var(--line);border-radius:20px}.brand-filters a[aria-current],.brand-filters a:hover{background:var(--ink);color:white;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;min-width:0;transition:border-color .2s,transform .2s}.product-card:hover{border-color:#98b1be;transform:translateY(-2px)}.product-open{padding:0;border:0;color:inherit;text-align:left;background:#fff;width:100%;height:100%;cursor:pointer;display:flex;flex-direction:column}.product-image{width:100%;height:205px;padding:24px;background:#f8fafa;display:grid;place-items:center}.product-image img{width:100%;height:100%;object-fit:contain;min-height:0}.product-copy{padding:19px;width:100%}.product-brand{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.product-copy h3{font-size:14px;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}.product-category,.product-code{font-size:11px;color:var(--muted);margin:5px 0}.product-more{display:block;margin-top:18px;font-size:11px;font-weight:bold}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px;font-size:12px}.catalog-pagination a{padding:8px 12px;border:1px solid var(--line);border-radius:4px}.catalog-empty{padding:24px;background:var(--paper);border-radius:6px;font-size:14px;grid-column:1/-1}.product-modal{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:12px;padding:35px;color:var(--ink);overflow:auto}.product-modal::backdrop{background:#102a3d99;backdrop-filter:blur(4px)}#product-content{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.product-modal h2{font-size:25px;overflow-wrap:anywhere}.product-modal .product-image{height:290px;border-radius:7px}.product-modal .actions{border-top:1px solid var(--line);padding-top:22px}.product-modal .product-more{display:none}.product-modal .product-copy{padding:0}.login-modal .btn{font-family:inherit}.brands:empty{display:none}.brand-logo strong{font-size:16px;letter-spacing:0;overflow-wrap:anywhere}.brand .real-logo img{font-size:11px}.real-logo{min-width:0}
@media(max-width:1050px){.catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.catalog-layout{display:block}.category-menu{position:static;max-height:360px;margin-bottom:22px}.category-menu>summary{margin-bottom:0}.category-menu[open]>summary{margin-bottom:18px}.catalog-tools{flex-wrap:wrap}.catalog-tools .form-floating{flex-basis:100%}.product-grid{gap:10px}.product-image{height:155px;padding:17px}.product-copy{padding:13px}.product-copy h3{font-size:12px}.product-category{font-size:10px}#product-content{grid-template-columns:1fr}.product-modal .product-image{height:210px}.product-modal{padding:28px 22px}.catalog-pagination{gap:10px;font-size:11px}.catalog-pagination a{padding:7px}.catalog-sidebar{margin-bottom:16px}}

@font-face{font-family:bootstrap-icons;src:url("fonts/bootstrap-icons.woff2") format("woff2");font-display:block}.bi::before{font-family:bootstrap-icons!important;font-style:normal;display:inline-block;line-height:1}.bi-grid::before{content:""}.bi-cloud-haze2::before{content:""}.bi-collection::before{content:""}.bi-shield-check::before{content:""}.bi-megaphone::before{content:""}.bi-percent::before{content:""}.bi-droplet::before{content:""}.bi-dice-5::before{content:""}
.numbers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden}.number-card{padding:30px 24px;background:#fff}.number-card+.number-card{border-left:1px solid var(--line)}.number-card>strong{font-size:43px;font-weight:500;letter-spacing:-1.7px;line-height:1.2;color:var(--blue)}.number-card h3{font-size:14px;margin:15px 0 5px}.number-card p{font-size:12px;color:var(--muted);margin:0}@media(max-width:700px){.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-card{padding:24px 18px}.number-card>strong{font-size:35px}.number-card:nth-child(3){border-left:0}.number-card:nth-child(n+3){border-top:1px solid var(--line)}}

.mega-menu>summary{cursor:pointer;list-style:none;font-size:13px;font-weight:bold;display:flex;align-items:center;gap:8px;padding:12px 0}.mega-menu>summary::-webkit-details-marker{display:none}.mega-menu[open]>summary{color:var(--blue)}.mega-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:100%;max-height:none;overflow:visible;background:white;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 20px 40px #193b4d20;padding:26px;z-index:20}.mega-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.mega-heading strong{font-size:19px}.mega-heading p{font-size:12px;color:var(--muted);font-weight:normal;margin:5px 0 0}.mega-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px;align-items:start}.mega-categories .category-all{grid-column:1/-1;padding-top:16px;font-weight:normal}.mega-categories .category-group{border:0}.mega-categories .category-group a{font-weight:normal}.mega-categories .category-group>summary{font-size:14px}.catalog-intro{background:var(--paper);padding:35px 0}.catalog-intro h1{font-size:clamp(30px,4vw,46px);font-weight:500;letter-spacing:-1.2px;margin:8px 0}.catalog-intro p{font-size:14px;color:var(--muted);margin:10px 0}.catalog-intro .catalog-breadcrumb{font-size:11px;margin:0 0 24px}.catalog-intro .catalog-breadcrumb a{text-decoration:underline}.catalog-intro+.block{padding-top:40px}.catalog-intro+.block .section-head h2{font-size:24px}.catalog-intro+.block .section-head .eyebrow{display:none}
@media(max-width:900px){.mega-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.links{gap:12px}.links .mega-menu{display:block}.mega-menu>summary{font-size:11px}.nav{flex-wrap:wrap;gap:10px;padding:14px 0}.nav .logo{width:140px}.mega-panel{width:100%;padding:20px;max-height:none}.mega-categories{grid-template-columns:1fr}.mega-heading{display:block}.mega-heading .btn{margin-top:14px;display:inline-flex}.catalog-intro{padding:28px 0}.catalog-intro p{font-size:12px}}

/* Megamenu ampio: nessun contenitore con scorrimento interno. */
.mega-categories{display:block;columns:4;column-gap:28px}.mega-categories .category-all{column-span:all;padding-top:12px;margin-bottom:6px}.mega-categories .category-group{break-inside:avoid;display:block;padding:10px 0}.mega-categories .category-group>div{padding-top:5px}.mega-categories .category-group a{padding:4px 8px;line-height:1.5}.mega-heading{padding-bottom:14px}
@media(max-width:1100px){.mega-categories{columns:3;column-gap:20px}}
@media(max-width:800px){.mega-categories{columns:2}}
@media(max-width:650px){.mega-categories{columns:1}.header:has(.mega-menu[open]){position:relative}}

/* Il pannello occupa tutta la testata, senza margini laterali. */
.mega-panel{border-left:0;border-right:0;border-radius:0 0 10px 10px;padding-left:clamp(20px,3vw,56px);padding-right:clamp(20px,3vw,56px)}

/* Layout condiviso a tutta larghezza: home, catalogo e navigazione categorie. */
.wrap{width:100%;max-width:none;padding-left:clamp(16px,2.5vw,48px);padding-right:clamp(16px,2.5vw,48px)}
.wrap.nav{padding-left:clamp(16px,2.5vw,48px);padding-right:clamp(16px,2.5vw,48px)}
.catalog-results{min-width:0}

.product-page{padding:32px 0 60px}.product-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;color:var(--muted);margin-bottom:30px}.product-breadcrumb a:hover{text-decoration:underline}.product-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:start}.product-page-image{background:var(--paper);border:1px solid var(--line);border-radius:10px;min-height:460px;height:clamp(400px,38vw,650px);padding:40px;display:grid;place-items:center}.product-page-image img{width:100%;height:100%;object-fit:contain;min-height:0}.product-description{padding:15px 0}.product-description h1{font-size:clamp(27px,2.7vw,43px);line-height:1.2;letter-spacing:-1px;font-weight:500;margin:18px 0 20px;overflow-wrap:anywhere}.product-description .eyebrow{display:inline-block;margin:0}.product-reference{font-size:12px;color:var(--muted)}.product-summary{font-size:16px;color:var(--muted);line-height:1.8;margin:25px 0}.product-specs{margin:28px 0;border-top:1px solid var(--line)}.product-specs>div{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.product-specs span{color:var(--muted)}.product-specs strong{font-weight:500}.product-access{background:#edf3f5;padding:24px;border-radius:7px}.product-access>strong{font-size:17px}.product-access p{font-size:13px;color:var(--muted);margin:10px 0}.product-access .actions{margin-top:20px}.product-long-description{margin-top:50px;padding-top:32px;border-top:1px solid var(--line)}.product-long-description p{max-width:1100px;font-size:15px;color:var(--muted);line-height:1.9}.related-products{margin:55px 0 35px;padding-top:35px;border-top:1px solid var(--line)}.related-products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.real-logo img{max-width:230px;height:90px}.product-open{font-family:inherit}
@media(max-width:900px){.product-detail-grid{gap:28px}.product-page-image{min-height:330px;height:400px;padding:24px}.related-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.product-page{padding-top:22px}.product-detail-grid{grid-template-columns:1fr}.product-page-image{height:340px;min-height:0}.product-description h1{font-size:28px}.product-summary{font-size:14px}.product-specs>div{font-size:12px}.product-access{padding:20px}.product-breadcrumb{font-size:11px}.product-long-description{margin-top:30px}.related-products{margin-top:35px}}

.product-summary{font-size:15px;line-height:1.65;margin:20px 0 12px}.product-read-more{display:inline-block;font-size:12px;margin-bottom:6px}.product-long-description{scroll-margin-top:120px}.product-description .product-specs{margin:22px 0}.product-long-description p{margin-bottom:0}

#catalogo>.wrap>.catalog-tools{margin-bottom:26px}#catalogo>.wrap>.catalog-tools .form-floating{min-width:0}

.public-attribute-group,.public-active-filters{border:1px solid var(--line);border-radius:7px;padding:15px;margin-bottom:12px;background:#fff}.public-attribute-group summary{cursor:pointer;font-size:13px;font-weight:bold}.public-attribute-group summary i{margin-right:7px}.public-attribute-options{display:flex;flex-wrap:wrap;gap:7px;padding-top:13px}.public-attribute-options a{font-size:12px;border:1px solid var(--line);border-radius:5px;padding:5px 10px}.public-attribute-options a[aria-current],.public-attribute-options a:hover{background:var(--blue);border-color:var(--blue);color:#fff}.public-active-filters strong{font-size:12px;display:block;margin-bottom:10px}.public-active-filters a{display:block;font-size:12px;padding:6px 9px;margin:5px 0;background:#eaf0f3;border-radius:4px}.public-active-filters a>span:first-child{float:right}.filter-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.header-search{flex:1;min-width:240px;margin:0;gap:8px}.header-search .form-floating{min-width:0}.header-search .btn{padding:10px 15px;flex-shrink:0}.header-search #catalog-reset{font-size:21px;padding:8px 12px}.wrap.nav{gap:24px}.header .links{flex-shrink:0}
@media(max-width:1250px){.header .nav{flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.header-search{order:3;flex-basis:100%}.header .links{margin-left:auto}}
@media(max-width:650px){.header .nav{gap:12px}.header-search{min-width:0}.header-search .btn{display:inline-flex}.header-search .form-floating{flex-basis:auto}.header-search #catalog-reset{padding-left:11px;padding-right:11px}}

@media(max-width:1250px){html{scroll-padding-top:175px}.category-menu{top:170px;max-height:calc(100vh - 190px)}.product-long-description{scroll-margin-top:175px}}

/* Foto bilanciate: nessun ritaglio o ingrandimento eccessivo. */
.product-detail-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,4vw,64px)}.product-gallery{min-width:0}.product-page-image{height:clamp(300px,28vw,440px);min-height:0;padding:24px;position:relative}.product-page-image img{max-width:360px;max-height:390px;display:block;object-fit:contain}.gallery-zoom{position:absolute;right:14px;bottom:12px;padding:4px 9px;border-radius:4px;background:#ffffffed;font-size:11px;color:var(--ink)}.gallery-thumbnails{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.gallery-thumbnail{width:66px;height:66px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:6px;cursor:pointer}.gallery-thumbnail[aria-pressed=true]{border:2px solid var(--blue);padding:6px}.gallery-thumbnail img{width:100%;height:100%;object-fit:contain}.gallery-status{font-size:11px;color:var(--muted);margin:8px 0 0}.product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.product-image{height:210px;padding:18px}.product-image img{display:block;max-width:230px;max-height:190px;object-fit:contain}.product-copy{display:flex;flex-direction:column;flex:1}.product-copy h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-more{margin-top:auto;padding-top:16px}
@media(max-width:900px){.product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.product-page-image{height:360px;min-height:0;padding:20px}.product-page-image img{max-height:320px}}
@media(max-width:650px){.product-detail-grid{grid-template-columns:1fr}.product-page-image{height:300px;padding:18px}.product-page-image img{max-height:264px;max-width:290px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{height:155px;padding:14px}.product-image img{max-height:127px}.gallery-thumbnail{width:58px;height:58px}}

/* Tipografia leggibile su desktop e telefono. */
.links,.mega-menu>summary{font-size:15px}.btn,.links .btn{font-size:14px}.notice,.eyebrow,.micro,.pill,.draft-note,footer p,.brand-logo small,.visual-tag span{font-size:13px}
.category-menu>summary,.category-group summary,.mega-categories .category-group>summary,.public-attribute-group summary{font-size:15px}.category-all,.category-group a,.category-group small,.catalog-crumb,.brand-filters a,.public-attribute-options a,.public-active-filters strong,.public-active-filters a,.catalog-pagination,.catalog-intro .catalog-breadcrumb,.product-breadcrumb{font-size:14px}
.product-brand,.product-category,.product-code,.product-more,.product-reference,.product-read-more,.gallery-zoom,.gallery-status{font-size:14px}.product-copy h3{font-size:16px;line-height:1.5}.product-specs>div,.product-access p,.product-summary,.product-long-description p{font-size:16px;line-height:1.65}
.number-card p,.mega-heading p,.brand-info,.strip,.strip strong,.strip span,.text-link,.benefit p,.cta p,.footer-links,.login-meta,.login-register,.login-feedback,.login-modal .micro{font-size:14px}
.brand-filters{max-height:none}.product-code{overflow-wrap:anywhere}
/* Bordo aderente alla foto, senza fondale o cornice interna. */
.product-page-image{width:fit-content;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;border-radius:0}.product-page-image img{width:auto;height:auto;max-width:100%;max-height:440px;border:1px solid var(--line);border-radius:8px}.product-gallery{max-width:100%}
@media(max-width:650px){.product-page-image img{max-width:100%;max-height:300px}}

/* Megamenu sempre completo: sezioni aperte indipendenti dai filtri laterali. */
.mega-categories{display:grid;columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}.mega-categories .category-all{grid-column:1/-1;column-span:none}.mega-categories .category-group h3{font-size:15px;line-height:1.5;margin:0;font-weight:bold}.mega-categories .category-group h3 i{margin-right:7px}
@media(max-width:1100px){.mega-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.mega-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.mega-categories{grid-template-columns:1fr}}

/* Navigazione mobile dedicata e filtri compatti. */
.mobile-menu-toggle,.mobile-search-icon{display:none}.catalog-filter-panel>summary{display:none}.mobile-navigation{width:min(420px,100%);height:100dvh;max-height:100dvh;max-width:100%;margin:0 0 0 auto;border:0;padding:20px;color:var(--ink);background:#fff;overflow:auto;overscroll-behavior:contain}.mobile-navigation::backdrop{background:#102a3d99}.mobile-navigation-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:20px}.mobile-navigation-heading button{width:44px;height:44px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:28px;color:var(--ink)}.mobile-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 0}.mobile-quick-links a{font-size:15px;border:1px solid var(--line);border-radius:5px;padding:12px}.mobile-catalog-categories>.category-all{padding:12px 0}.mobile-catalog-categories details{border-top:1px solid var(--line);padding:10px 0}.mobile-catalog-categories summary{font-size:16px;font-weight:bold;cursor:pointer;padding:8px 0}.mobile-catalog-categories .category-group>div{padding:8px 0}.mobile-catalog-categories .category-group a{font-size:15px;min-height:44px;align-items:center}.mobile-catalog-categories .category-group small{font-size:14px}body:has(.mobile-navigation[open]){overflow:hidden!important}
@media(max-width:800px){.header .links{display:none}.header .nav{padding-top:12px;padding-bottom:12px;gap:12px;min-height:0}.header .nav>a:first-child{margin-right:auto}.mobile-menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:5px;font-size:15px;color:var(--ink)}.mobile-menu-toggle span{font-size:23px;line-height:1}.header .logo{width:150px}.header-search{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;flex-basis:100%;margin:0}.header-search .btn{padding:0;min-height:50px}.mobile-search-icon{display:inline;font-size:28px;line-height:1}.search-button-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.notice{font-size:11px;letter-spacing:.3px;padding:5px 12px}.catalog-layout{display:block}.catalog-sidebar{margin-bottom:20px}.catalog-filter-panel{border:1px solid var(--line);border-radius:7px}.catalog-filter-panel>summary{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;min-height:48px;font-size:16px;font-weight:bold;cursor:pointer;list-style:none}.catalog-filter-panel>summary::-webkit-details-marker{display:none}.catalog-filter-content{padding:0 12px 12px}.catalog-filter-content .category-menu{position:static;max-height:none;margin-bottom:0}.public-attribute-group{margin-bottom:10px}.catalog-intro{padding:20px 0}.catalog-intro h1{font-size:30px}.catalog-intro .catalog-breadcrumb{margin-bottom:12px}.catalog-intro+.block{padding-top:20px}.product-breadcrumb{margin-bottom:20px}.product-description{padding-top:0}.product-description h1{font-size:28px;letter-spacing:-.5px}.brand-filters{gap:6px;margin-bottom:18px}.brand-filters a{min-height:36px;display:inline-flex;align-items:center}html{scroll-padding-top:160px}.product-long-description{scroll-margin-top:160px}}

/* Filtri come nel catalogo riservato: sidebar desktop e pannello da destra su mobile. */
.public-filter-trigger{display:none}.public-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 14px;font-size:16px}.public-filter-heading>a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:5px;font-size:23px}.public-brand-group{border:1px solid var(--line);border-radius:7px;padding:15px;margin-bottom:12px;background:#fff}.public-brand-group>summary{font-size:15px;font-weight:bold;cursor:pointer;min-height:24px}.public-brand-group>summary i{margin-right:7px}.public-brand-group .brand-filters{padding-top:14px;margin:0;gap:8px}.public-filter-drawer{width:min(88vw,360px);padding:18px}.public-filter-drawer .mobile-navigation-heading{font-size:18px;position:sticky;top:-18px;background:#fff;z-index:1;padding:0 0 14px}.public-filter-drawer-body{padding-top:10px}body:has(.public-filter-drawer[open]){overflow:hidden!important}
@media(max-width:800px){.public-filter-trigger{display:inline-flex;min-height:44px;gap:9px}.catalog-sidebar{display:flex;justify-content:flex-end;margin-bottom:16px}.public-filter-drawer .catalog-filter-content{padding:0}.public-filter-drawer .category-menu{max-height:none;padding:15px;margin:0}.public-filter-drawer .category-group a{min-height:40px;align-items:center}.public-filter-drawer .public-attribute-options a,.public-filter-drawer .brand-filters a{min-height:40px;display:inline-flex;align-items:center}.public-filter-drawer .public-attribute-group>summary,.public-filter-drawer .public-brand-group>summary{min-height:30px}.public-filter-drawer .category-menu>summary{font-size:15px}}

/* Colonna foto aderente al contenuto: evita il vuoto prima dei dettagli. */
.product-detail-grid{grid-template-columns:fit-content(440px) minmax(0,1fr);gap:clamp(24px,3vw,48px)}.product-gallery{width:fit-content;max-width:100%}.gallery-thumbnails{max-width:440px}
@media(max-width:900px){.product-detail-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}}
@media(max-width:650px){.product-detail-grid{grid-template-columns:minmax(0,1fr);gap:22px}}

/* Colonne compatte: i gruppi brevi non ereditano l'altezza dei gruppi lunghi. */
.mega-categories{display:block;columns:4;column-gap:28px;column-fill:balance}.mega-categories .category-all{column-span:all}.mega-categories .category-group{display:block;width:100%;break-inside:avoid}
@media(max-width:1100px){.mega-categories{columns:3}}
@media(max-width:800px){.mega-categories{columns:2}}
@media(max-width:650px){.mega-categories{columns:1}}

/* Hamburger prima del logo nella testata mobile. */
@media(max-width:800px){.header .nav{justify-content:flex-start}.header .mobile-menu-toggle{width:44px;height:44px;padding:0;justify-content:center;flex-shrink:0}.header .nav>.mobile-menu-toggle+a{margin-right:auto}}

.mobile-search-toggle{display:none}
@media(max-width:800px){.mobile-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:20px}.header .nav>.mobile-search-toggle+a{margin-right:auto}.header-search{display:none}.header-search.mobile-search-open{display:grid}}

/* Il menu segue la posizione dell’hamburger; i filtri restano a destra. */
#mobile-navigation{margin-left:0;margin-right:auto}

/* Spazio cliente condiviso: acquisto, carrello e storico. */
.product-card{display:flex;flex-direction:column}.product-open{height:auto;flex:1}.commerce-controls{padding:20px;border-top:1px solid var(--line);background:#fff}.product-description>.commerce-controls{padding:22px;border:1px solid var(--line);border-radius:8px}.commerce-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px}.commerce-price>strong{font-size:23px}.commerce-price>span,.commerce-breakdown,.commerce-pack,.commerce-preview{font-size:14px;line-height:1.6;color:var(--muted)}.commerce-buy{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}.commerce-buy .form-floating{width:120px;flex-shrink:0}.commerce-buy .btn{flex:1;min-height:50px}.commerce-feedback{font-size:14px;line-height:1.5;margin:12px 0 0;overflow-wrap:anywhere}.commerce-feedback:empty{display:none}.commerce-unavailable{font-weight:bold;color:#956030}.customer-cart{width:min(900px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:10px;padding:26px;color:var(--ink);overflow:auto}.customer-cart::backdrop{background:#102a3d99}.customer-cart-line{padding:20px 0;border-bottom:1px solid var(--line)}.customer-cart-line p{font-size:14px;color:var(--muted)}.customer-cart-line-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.customer-cart-line-controls .form-floating{width:120px}.customer-cart-total{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-size:18px}.customer-area{padding:42px 0 70px}.customer-area h1{font-size:clamp(28px,3vw,42px);line-height:1.2;font-weight:500;overflow-wrap:anywhere}.customer-area-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:28px 0}.customer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.customer-stats>div{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:24px}.customer-stats strong{font-size:28px}.customer-stats span{font-size:15px;color:var(--muted)}.customer-panel{border:1px solid var(--line);border-radius:9px;padding:28px;margin:28px 0;scroll-margin-top:170px}.customer-panel h2{font-size:27px}.customer-order-card{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0;font-size:15px}.order-status{font-size:13px;border-radius:20px;padding:5px 10px;background:#edf3f5;width:fit-content}.customer-data>div{display:grid;grid-template-columns:1fr 2fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.customer-data dd{margin:0;overflow-wrap:anywhere}.customer-data dt{color:var(--muted)}.customer-order-lines article{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px}.customer-cart [hidden]{display:none!important}.commerce-controls button:disabled{opacity:.6;cursor:wait}
@media(max-width:800px){.customer-cart{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:20px}.customer-area{padding-top:24px}.customer-stats{grid-template-columns:1fr;gap:12px}.customer-stats>div{padding:18px}.customer-panel{padding:20px}.customer-order-card{grid-template-columns:1fr 1fr;gap:10px}.customer-order-card>:last-child{grid-column:1/-1}.customer-data>div,.customer-order-lines article{grid-template-columns:1fr;gap:8px}.commerce-controls{padding:14px}.commerce-buy{gap:8px}.commerce-buy .form-floating{width:100%}.commerce-buy .btn{width:100%}.commerce-price>strong{font-size:21px}.customer-area-nav .btn{flex:1 1 140px}.customer-cart-total{font-size:16px}.customer-cart .actions .btn{width:100%}}


body:has(.customer-cart[open]){overflow:hidden!important}

/* Base flottante delle quantità nelle pagine autonome, con misure condivise. */
.commerce-controls .form-floating,.customer-cart .form-floating{position:relative;min-width:0}.commerce-controls .form-floating>label,.customer-cart .form-floating>label{position:absolute;top:0;left:0;line-height:1.7;z-index:1}.commerce-controls input.textbox,.customer-cart input.textbox{font:inherit;font-size:16px;max-width:100%}

/* Box acquisto della scheda: icone e quantita' con controlli accessibili. */
.commerce-icon{width:22px;height:22px;flex:none;vertical-align:middle}
.commerce-detail .commerce-price>strong{font-size:30px}
.commerce-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0;padding:20px 0;border-block:1px solid var(--line)}
.commerce-facts p{display:flex;gap:10px;margin:0;align-items:flex-start;color:var(--muted);font-size:14px;line-height:1.5}
.commerce-facts .commerce-icon{color:var(--ink);margin-top:3px}
.commerce-facts strong{display:block;color:var(--ink);font-size:16px;font-weight:600}
.commerce-stepper{display:flex;align-items:center;gap:6px;flex:none}
.commerce-detail .commerce-stepper .btn{width:50px;min-width:50px;height:50px;flex:none;padding:0;font-size:24px;display:grid;place-items:center}
.commerce-detail .commerce-stepper .form-floating{width:100px;margin:0}
.commerce-stepper input[type=number]{appearance:textfield;-moz-appearance:textfield}
.commerce-stepper input::-webkit-inner-spin-button,.commerce-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.commerce-detail [data-cart-add]{display:flex;gap:10px;justify-content:center;align-items:center}
.commerce-detail button:disabled{cursor:not-allowed}
.commerce-detail .commerce-preview{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:0}
@media(max-width:1100px){.commerce-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.commerce-detail .commerce-buy{align-items:stretch}.commerce-detail .commerce-stepper{justify-content:center;width:100%}.commerce-detail .commerce-stepper .form-floating{width:auto;flex:1}.commerce-detail .commerce-price>strong{font-size:27px}.commerce-facts{gap:16px 10px}.commerce-facts p{gap:8px;font-size:13px}}

/* Listato: solo prezzo finale e accisa, con acquisto compatto. */
.commerce-compact{padding:12px 14px}
.commerce-compact .commerce-price>strong{font-size:21px}
.commerce-compact .commerce-price>span{font-size:12px}
.commerce-compact .commerce-breakdown{margin:4px 0 0;font-size:13px}
.commerce-compact .commerce-buy{margin-top:10px;gap:8px;flex-wrap:nowrap}
.commerce-compact .commerce-buy .form-floating{width:80px;flex:none}
.commerce-compact .commerce-buy .btn{width:auto;min-width:0;padding:8px 10px;font-size:13px;line-height:1.25}
.commerce-compact .commerce-preview[hidden]{display:none!important}
@media(max-width:480px){.commerce-compact .commerce-buy{flex-wrap:wrap}.commerce-compact .commerce-buy .form-floating{width:100%}.commerce-compact .commerce-buy .btn{width:100%}}

/* Azioni condivise: account e carrello a destra, ricerca mobile nello stesso gruppo. */
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.header-icon,.header-actions .mobile-search-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);flex:none;cursor:pointer}
.header-actions .mobile-search-toggle{display:none}
.header-icon:hover{background:var(--paper);color:var(--ink)}
.header-cart-count{position:absolute;top:-6px;right:-5px;min-width:18px;padding:0 4px;background:var(--blue);color:white;border-radius:12px;font-size:11px;line-height:18px;text-align:center}
.header-cart-count:empty{display:none}
#catalog-search-button{width:50px;min-width:50px;padding:0}
@media(max-width:800px){.header .nav{flex-wrap:wrap;gap:8px}.header .nav>a[aria-label="Svapotab, inizio pagina"]{margin-right:auto;min-width:0}.header .logo{width:clamp(100px,30vw,150px)}.header-actions{margin-left:auto;gap:5px}.header-actions .mobile-search-toggle{display:inline-flex}.header-actions .header-icon,.header-actions .mobile-search-toggle{width:38px;height:40px;min-height:40px}.header .mobile-menu-toggle{width:38px;height:40px;min-height:40px}.header-search.mobile-search-open{grid-template-columns:minmax(0,1fr) 50px;order:4;flex-basis:100%}.header-search{min-width:0}}

/* Menu catalogo: gerarchia leggibile, gruppi compatti e nessuna barra di scorrimento interna. */
.header .mega-menu>summary{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#f6f8f9;color:var(--ink);gap:9px;font-size:14px;transition:background .15s,border-color .15s}
.header .mega-menu>summary:hover,.header .mega-menu[open]>summary{background:#eaf1f5;border-color:#b3c8d3}
.catalog-chevron{transition:transform .15s;font-size:18px;line-height:1}
.mega-menu[open] .catalog-chevron{transform:rotate(180deg)}
.mega-panel{padding:0;border-top:2px solid var(--blue);border-radius:0 0 12px 12px;box-shadow:0 22px 36px #193b4d26}
.mega-heading{padding:20px clamp(20px,2.5vw,48px);background:#f7f9fa;gap:24px}
.mega-eyebrow{display:block;font-size:10px;letter-spacing:1.4px;color:var(--muted);font-weight:600;margin-bottom:4px}
.mega-heading strong{display:block;font-size:21px;font-weight:600;letter-spacing:-.3px}
.mega-heading p{font-size:14px;line-height:1.5;margin:4px 0 0}
.mega-heading .btn{min-height:42px;padding:9px 16px;font-size:13px}
.mega-categories{columns:4;column-gap:18px;padding:18px clamp(20px,2.5vw,48px) 22px}
.mega-categories .category-all{font-size:13px;line-height:1.4;padding:0 0 12px;margin:0;color:var(--blue);font-weight:600}
.mega-categories .category-group{background:#f7f9fa;border:1px solid #e7edf0;border-radius:8px;padding:13px 12px;margin:0 0 14px;break-inside:avoid}
.mega-categories .category-group h3{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.4;font-weight:600;padding:0 3px 10px;border-bottom:1px solid #e3eaee}
.mega-categories .category-group h3 i{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;margin:0;border-radius:6px;background:#e7eff4;color:var(--blue);flex:none}
.mega-categories .category-group>div{padding:7px 0 0}
.mega-categories .category-group a{min-height:29px;padding:5px 7px;gap:10px;font-size:13px;line-height:1.45;border-radius:5px;color:#496575;transition:background .15s,color .15s}
.mega-categories .category-group a:first-child{font-weight:600;color:var(--blue)}
.mega-categories .category-group a:hover,.mega-categories .category-group a[aria-current]{background:#e2edf3;color:#173d53}
.mega-categories .category-group small{font-size:11px;line-height:18px;min-width:25px;padding:0 5px;background:#eaf0f3;color:#647e8b;border-radius:8px;text-align:center;align-self:center}
@media(min-width:801px) and (max-width:1100px){.mega-categories{columns:3}}
.mobile-catalog-categories details{margin:10px 0;border:1px solid var(--line);border-radius:7px;padding:0;background:#f8fafb}
.mobile-catalog-categories summary{display:flex;align-items:center;gap:9px;padding:13px 12px;font-size:15px;list-style:none}
.mobile-catalog-categories summary::after{content:'+';margin-left:auto;font-size:20px;font-weight:400;color:var(--muted)}
.mobile-catalog-categories details[open]>summary::after{content:'−'}
.mobile-catalog-categories .category-group>div{padding:0 8px 10px;background:white;border-radius:0 0 7px 7px}
.mobile-catalog-categories .category-group a{font-size:14px;padding:9px 8px}
@media(max-width:380px){.header .nav{gap:6px}.header .logo{width:88px}.header .mobile-menu-toggle{width:34px}.header-actions{gap:3px}.header-actions .header-icon,.header-actions .mobile-search-toggle{width:34px}}
/* Contatti pubblici e referente riservato al proprio cliente. */
.contact-page{padding:40px 0 70px}.contact-page h1{font-size:clamp(30px,4vw,44px);font-weight:500;margin:0 0 12px}.contact-intro{font-size:17px;color:var(--muted);max-width:680px;line-height:1.7;margin-bottom:30px}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1100px}.contact-card{border:1px solid var(--line);border-radius:9px;padding:28px;background:white;min-width:0}.contact-card h2{font-size:22px;margin:0 0 12px;font-weight:500}.contact-card p{font-size:16px;line-height:1.7;color:var(--muted)}.contact-card a:not(.btn){color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}.contact-card .contact-symbol{font-size:26px;color:var(--blue);margin-bottom:12px}.contact-page .catalog-breadcrumb{font-size:14px;color:var(--muted);margin-bottom:25px}@media(max-width:700px){.contact-grid{grid-template-columns:1fr}.contact-card{padding:22px}.contact-page{padding-top:26px}}

/* Scheda del listato essenziale: immagine, identita prodotto e acquisto. */
.product-copy{padding:14px}
.product-copy .product-brand{margin:0 0 5px}
.product-copy h3{margin:0 0 7px;font-size:15px;line-height:1.45}
.product-copy .product-code{margin:0;font-size:12px}
.commerce-compact{padding:10px 14px 12px}
.commerce-compact .commerce-buy{margin-top:8px}

/* Fascia catalogo compatta, senza occhiello promozionale. */
.catalog-intro{padding:16px 0 18px}
.catalog-intro .catalog-breadcrumb{font-size:13px;line-height:1.4;margin:0 0 7px}
.catalog-intro h1{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:0}
.catalog-intro+.block{padding-top:24px}
@media(max-width:800px){.catalog-intro{padding:12px 0 14px}.catalog-intro h1{font-size:25px}.catalog-intro+.block{padding-top:18px}}

/* Menu cliente a destra, aperto dal marchio T come nell'area commerciale. */
.customer-menu-toggle img{display:block;width:30px;height:30px;object-fit:contain}
.customer-account-menu{margin:0 0 0 auto;width:min(380px,100%);border-left:1px solid var(--line);padding:22px}
.customer-menu-profile{display:flex;align-items:center;gap:13px;padding:26px 0;margin-bottom:6px;border-bottom:1px solid var(--line)}
.customer-menu-profile>div{min-width:0}.customer-menu-profile strong{display:block;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.customer-menu-profile span{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.customer-menu-links{display:flex;flex-direction:column;padding:8px 0}
.customer-menu-links>a,.customer-menu-links>button{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:12px;border:0;border-radius:6px;background:white;color:var(--ink);font:inherit;font-size:15px;text-align:left;text-decoration:none;cursor:pointer}
.customer-menu-links>a:hover,.customer-menu-links>button:hover{background:var(--paper)}
.customer-menu-links .customer-menu-logout{color:#9b3131;margin-top:6px}

.header .customer-menu-toggle,.header .customer-menu-toggle:hover{border:0;border-radius:0;background:transparent}
.header .customer-menu-toggle img{width:42px;height:32px;max-width:none;flex-shrink:0;object-fit:contain}

/* Immagini del listato: area quadrata piena, proporzioni originali. */
.product-grid .product-image{height:auto;aspect-ratio:1 / 1;padding:0;background:#fff;overflow:hidden}
.product-grid .product-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
/* Login pubblica: spaziatura uniforme e controlli condivisi. */
dialog.login-modal{width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:36px;border-radius:14px;background:#fff}
.login-modal .login-close{display:inline-flex;align-items:center;justify-content:center;top:10px;right:10px;width:40px;height:40px;padding:0;border:0;border-radius:6px;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}
.login-modal .login-close:hover{background:var(--paper);color:var(--ink)}
.login-modal .login-close:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.login-modal .logo{display:block;width:160px;max-width:calc(100% - 40px);height:auto;margin:0 0 28px}
.login-modal h2{font-size:28px;line-height:1.2;margin:0 0 10px}
.login-modal #login-description{font-size:15px;line-height:1.6;margin:0 0 24px;color:var(--muted)}
.login-modal #login-fields>.form-floating{margin:0 0 16px}
.login-modal .login-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 22px;font-size:14px}
.login-modal .login-meta>span{display:inline-flex;align-items:center;gap:8px}
.login-modal .login-meta label{margin:0}
.login-modal .login-register{margin-top:24px;padding-top:20px;font-size:14px;line-height:1.6}
.login-modal .login-register a{margin:8px 8px 0}
body:has(dialog.login-modal[open]){overflow:hidden!important}
@media(max-width:480px){dialog.login-modal{padding:28px 20px}.login-modal .logo{margin-bottom:24px}.login-modal h2{font-size:26px}.login-modal .login-register a{display:block;margin:10px 0 0}}
/* Barra filtri sopra il catalogo. */
.catalog-layout.catalog-layout-horizontal{display:block}
.catalog-layout-horizontal .catalog-sidebar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0 0 20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-toolbar-right{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto;min-width:0}
.catalog-toolbar-right .catalog-crumb{margin:0;font-size:14px}
.catalog-toolbar-right .catalog-sort{width:195px;flex:none}
@media(min-width:801px){
.catalog-layout-horizontal .catalog-filter-content{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;flex:1}
.catalog-layout-horizontal .public-filter-heading{padding:0;gap:8px;font-size:14px}
.catalog-layout-horizontal .public-filter-heading>strong{display:none}
.catalog-layout-horizontal .public-filter-heading>a{width:40px;height:50px}
.catalog-layout-horizontal .catalog-filter-content>details{position:relative;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;max-height:none;overflow:visible}
.catalog-layout-horizontal .catalog-filter-content>details>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;margin:0;list-style:none;font-size:14px;font-weight:600;cursor:pointer}
.catalog-layout-horizontal .catalog-filter-content>details>summary::-webkit-details-marker{display:none}
.catalog-layout-horizontal .catalog-filter-content>details>summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 2px 0 10px}
.catalog-layout-horizontal .catalog-filter-content>details[open]>summary::after{transform:rotate(225deg);margin-top:4px}
.catalog-layout-horizontal .catalog-filter-content>details>div,.catalog-layout-horizontal .catalog-filter-content>details>nav{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(310px,calc(100vw - 48px));max-height:420px;overflow:auto;padding:14px;margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 12px 30px #173d5320}
.catalog-layout-horizontal .catalog-filter-content>.public-active-filters{order:5;flex-basis:100%;margin:0;padding:8px 0 0;border:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.catalog-layout-horizontal .public-active-filters strong{margin:0}.catalog-layout-horizontal .public-active-filters a{margin:0}
}
@media(max-width:800px){
.catalog-layout-horizontal .catalog-sidebar{justify-content:space-between;gap:12px;padding:12px 0}
.catalog-toolbar-right{flex:1;gap:12px;flex-wrap:wrap}
.catalog-toolbar-right .catalog-crumb{font-size:13px}
.catalog-toolbar-right .catalog-sort{width:180px}
}
@media(max-width:480px){.catalog-toolbar-right{display:contents}.catalog-toolbar-right .catalog-crumb{margin-left:auto;text-align:right;max-width:calc(100% - 110px)}.catalog-toolbar-right .catalog-sort{width:100%}}
/* Le colonne dividono i 24 prodotti per pagina, evitando righe finali con buchi. */
.catalog-results>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:720px){.catalog-results>.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.catalog-results>.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1440px){.catalog-results>.product-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:2000px){.catalog-results>.product-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}

.catalog-layout-horizontal .catalog-toolbar-right{order:2}
@media(min-width:801px){.catalog-layout-horizontal .catalog-filter-content{order:1}.catalog-layout-horizontal .catalog-filter-content>details:not([open])>div,.catalog-layout-horizontal .catalog-filter-content>details:not([open])>nav{display:none}}
@media(min-width:801px){.catalog-layout-horizontal .catalog-filter-content>details{top:auto}}
/* Terzo livello categorie > sottocategorie > marche, anche nel menu mobile. */
.mega-categories .mega-subcategory,.mobile-catalog-categories .mega-subcategory{padding:0;margin:3px 0;border:0;background:transparent;border-radius:5px}
.mega-categories .mega-subcategory>summary,.mobile-catalog-categories .mega-subcategory>summary{display:flex;align-items:center;gap:8px;padding:7px 8px;margin:0;min-height:32px;list-style:none;font-size:14px;font-weight:400;cursor:pointer;color:#496575}
.mega-subcategory>summary::-webkit-details-marker{display:none}
.mega-categories .mega-subcategory>summary::after,.mobile-catalog-categories .mega-subcategory>summary::after{content:'+';margin-left:auto;font-size:18px;line-height:1}
.mega-categories .mega-subcategory[open]>summary::after,.mobile-catalog-categories .mega-subcategory[open]>summary::after{content:'\2212'}
.mega-subcategory>summary:hover,.mega-subcategory[open]>summary{background:#e2edf3;border-radius:5px}
.mega-categories .mega-subcategory>.mega-brand-links,.mobile-catalog-categories .mega-subcategory>.mega-brand-links{margin:4px 0 8px 14px;padding:3px 0 3px 10px;border-left:2px solid #dce4e7;background:transparent}
.mega-categories .mega-brand-links>a,.mobile-catalog-categories .mega-brand-links>a{display:block;padding:6px 8px;font-size:13px;font-weight:400;min-height:30px}
.mega-categories .mega-brand-links>.mega-all-products,.mobile-catalog-categories .mega-brand-links>.mega-all-products{font-weight:600}
.mega-subcategory:not([open])>.mega-brand-links{display:none}
@media(max-width:800px){.mobile-catalog-categories .mega-subcategory>summary,.mobile-catalog-categories .mega-brand-links>a{min-height:42px;font-size:14px}}
/* Navigazione principale sotto la testata. */
.primary-navigation{position:relative;border-top:1px solid var(--line);background:#fff}
.header .primary-navigation .links{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin:0;min-height:48px}
.header .primary-navigation .links>a,.header .primary-navigation .mega-menu>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;margin:0;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap}
.header .primary-navigation .links>a:hover,.header .primary-navigation .mega-menu>summary:hover{background:transparent;color:var(--ink)}
.header .primary-navigation .links>a[aria-current],.header .primary-navigation .mega-menu>summary[aria-current]{background:transparent;color:var(--blue);box-shadow:inset 0 -2px var(--blue)}
.header .primary-navigation .links>.nav-offers{color:#a73838}
.primary-nav-link svg,.mobile-catalog-section>summary>svg{flex:none}
.header .primary-navigation .mega-menu{position:static}
.header .primary-navigation .mega-panel{top:100%;left:0;transform:none}
.mobile-catalog-section{margin:12px 0 8px;border:1px solid var(--line);border-radius:8px}
.mobile-catalog-section>summary{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px;list-style:none;cursor:pointer;font-size:16px;font-weight:600}
.mobile-catalog-section>summary::-webkit-details-marker{display:none}
.mobile-catalog-section>summary>span{margin-left:auto;font-size:22px;font-weight:400}
.mobile-catalog-section[open]>summary>span{transform:rotate(45deg)}
.mobile-catalog-section>.mobile-catalog-categories{padding:0 10px 10px}
.mobile-quick-links .primary-nav-link{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:48px;padding:12px;border-radius:6px;font-size:15px}
.mobile-quick-links .primary-nav-link[aria-current],.mobile-catalog-section>summary[aria-current]{background:#e8f0f4;color:var(--blue)}
.mobile-quick-links .nav-offers{color:#a73838}
@media(min-width:801px){.header .nav{flex-wrap:nowrap;padding-top:16px;padding-bottom:16px}.header .nav .header-search{order:0;flex-basis:auto}.header .logo{width:175px}}
@media(max-width:800px){.primary-navigation{display:none}.mobile-quick-links{display:flex;flex-direction:column;gap:3px}.mobile-quick-links>a{width:100%}.mobile-catalog-section:not([open])>.mobile-catalog-categories{display:none}}

/* Ricerca senza etichetta: testo centrato anche durante la compilazione. */
.header-search #catalog-search { padding: 0 14px !important; }
.header .primary-navigation .links>a>svg,.header .primary-navigation .mega-menu>summary>svg{width:17px;height:17px;opacity:.8}

/* Colonne stabili: espandere le marche non ribilancia le categorie. */
.header .primary-navigation .mega-categories{display:grid;columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;align-items:start}
.header .primary-navigation .mega-categories>.category-all{grid-column:1/-1;padding-bottom:0}
.header .primary-navigation .mega-categories>.category-group{margin:0;min-width:0}
@media(max-width:1100px){.header .primary-navigation .mega-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Azioni compatte del catalogo. */
.catalog-sort-menu{position:relative;flex:none}
.catalog-sort-menu>summary{list-style:none}
.catalog-sort-menu>summary::-webkit-details-marker{display:none}
.catalog-sort-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:25;width:230px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 24px #193b4d20}
.catalog-sort-menu:not([open])>.catalog-sort-panel{display:none}
.catalog-toolbar-right .catalog-sort-panel .catalog-sort{width:100%;margin:0}
.catalog-sidebar .public-filter-trigger,.catalog-sort-menu>summary{align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;background:var(--paper);border:1px solid #9aa3ad;color:#59636e;border-radius:5px}
.catalog-sidebar .public-filter-trigger:hover,.catalog-sort-menu>summary:hover{background:#e1e5ea}
@media(max-width:800px){.catalog-toolbar-right{display:flex;flex:1;flex-wrap:nowrap;align-items:center}.catalog-toolbar-right .catalog-crumb{flex:1;max-width:none;text-align:right}.catalog-sort-menu{margin-left:auto}}
/* Gruppi compatti in colonne indipendenti, stabili durante l'espansione. */
.header .primary-navigation .mega-categories>.category-all{display:none}
.mega-menu-column{display:flex;flex-direction:column;gap:14px;min-width:0}
.mega-categories .mega-menu-column>.category-group{margin:0;min-width:0}
/* Contatti: contenitore centrato, separato dalla spaziatura verticale del main. */
.contact-page>.contact-container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto}
.contact-page .contact-grid{max-width:none;align-items:stretch}
.contact-page .contact-card{display:flex;flex-direction:column;align-items:flex-start}
.contact-page .contact-card>.btn{margin-top:auto}
.contact-page .contact-symbol{display:flex;align-items:center;min-height:32px}
@media(max-width:700px){.contact-page{padding-bottom:40px}.contact-page .contact-intro{margin-bottom:24px}.contact-page .contact-grid{gap:16px}.contact-page .contact-card>.btn{width:100%}}

.public-preferences-group .brand-filters>strong{flex-basis:100%;font-size:13px;margin-top:6px}

/* Il comando del pannello laterale e disponibile solo sui dispositivi mobili. */
.catalog-sidebar .public-filter-trigger[hidden]{display:none!important}
@media(min-width:801px){.catalog-sidebar .public-filter-trigger{display:none!important}}
@media(max-width:800px){.catalog-sidebar .public-filter-trigger:not([hidden]){display:inline-flex}}

/* Prodotti correlati: card compatte anche su schermi ampi. */
.related-products>.product-grid{grid-template-columns:repeat(4,minmax(0,230px));align-items:stretch;gap:14px}
.related-products .product-image{height:170px;aspect-ratio:auto;background:#fff;padding:0}
.related-products .product-image img{width:100%;height:100%;object-fit:contain}
.related-products h2{font-size:clamp(22px,2vw,28px);margin-bottom:22px}
@media(max-width:1000px){.related-products>.product-grid{grid-template-columns:repeat(3,minmax(0,230px))}}
@media(max-width:720px){.related-products>.product-grid{grid-template-columns:repeat(2,minmax(0,230px));gap:10px}.related-products .product-image{height:140px}}

.portal-discover{padding:28px 0}.portal-discover .path{display:block;transition:border-color .2s}.portal-discover .path:hover{border-color:var(--blue)}.portal-discover h2{font-size:28px;margin:12px 0}.portal-discover p{margin:0 0 20px}

.active-promotions{margin-bottom:18px}.active-promotions h2{font-size:22px;margin:0 0 12px}.active-promotions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;align-items:start}.active-promotion{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.active-promotion .promotion-benefit{display:block;font-size:19px;line-height:1.25;color:var(--blue)}.active-promotion h3{font-size:15px;line-height:1.35;margin:6px 0}.active-promotion p,.promotion-note{font-size:13px;line-height:1.45}.active-promotion p{margin:5px 0 0}.promotion-conditions p{margin:4px 0}.promotion-conditions>span{font-size:12px;color:var(--muted)}.promotion-note{color:var(--muted);margin:10px 0 0}
@media(max-width:600px){.active-promotions{margin-bottom:12px}.active-promotions h2{font-size:19px;line-height:1.3;margin-bottom:10px}.active-promotions-grid{grid-template-columns:minmax(0,1fr);gap:8px}.active-promotion{min-width:0;padding:12px 14px;text-align:left}.active-promotion .promotion-benefit{font-size:17px;line-height:1.25;margin:0}.active-promotion h3{font-size:14px;line-height:1.35;margin:4px 0}.active-promotion p{font-size:12px;line-height:1.4;margin:4px 0 0}.active-promotion .promotion-conditions p{margin:3px 0 0}.promotion-conditions>span{display:block;margin-top:3px;font-size:11px;line-height:1.3}.active-promotion h3,.active-promotion p{overflow-wrap:break-word}.active-promotions .promotion-note{font-size:12px;line-height:1.4;margin-top:8px}}

.kit-components{margin:36px 0;padding-top:28px;border-top:1px solid var(--line)}.kit-components h2{font-size:26px}.kit-components>p{font-size:15px;line-height:1.6}.kit-component-list{list-style:none;padding:0;margin:20px 0}.kit-component-list li{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.kit-component-list img{width:64px;height:64px;object-fit:contain;border:1px solid var(--line);border-radius:5px}.kit-component-name{flex:1;min-width:0;font-size:16px;overflow-wrap:anywhere}.kit-component-name small{display:block;font-size:13px;color:var(--muted);margin-top:5px}.kit-component-excise{font-size:13px;text-align:right;color:var(--muted)}.kit-component-excise strong{display:block;font-size:16px;color:var(--ink)}.kit-excise-total{padding:16px;background:var(--paper);border-radius:7px}.kit-excise-note{color:var(--muted);font-size:14px!important}@media(max-width:600px){.kit-component-list li{flex-wrap:wrap;gap:12px}.kit-component-list img{width:52px;height:52px}.kit-component-excise{width:100%;text-align:left;padding-left:64px}}

.kit-component-quantity{flex:0 0 86px;text-align:center;font-size:12px;color:var(--muted)}
.kit-component-quantity strong{display:block;font-size:16px;color:var(--ink);margin-top:5px}
@media(max-width:600px){.kit-component-list li{display:grid;grid-template-columns:52px minmax(0,1fr) 64px;gap:10px}.kit-component-quantity{font-size:11px}.kit-component-quantity strong{font-size:14px}}

.commerce-compact .commerce-price{gap:6px 9px}
.commerce-original-price{color:var(--muted);font-size:14px;white-space:nowrap;text-decoration-thickness:1px}
.commerce-price>.commerce-discount{padding:3px 7px;border-radius:4px;background:#eaf3ed;color:#246342;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}

/* Attesa ricerca e filtri: non modifica il layout dei prodotti. */
.catalog-loading{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.72);cursor:progress}
.catalog-loading[hidden]{display:none!important}
.catalog-loading-card{display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:22px 26px;border:1px solid var(--line,#dbe3e8);border-radius:12px;background:#fff;color:var(--ink,#172235);box-shadow:0 10px 40px #102a3d20;font-size:15px;font-weight:600}
.catalog-loading-spinner{width:25px;height:25px;flex:none;border:3px solid #dce8ed;border-top-color:var(--accent,#275e75);border-radius:50%;animation:catalog-loading-spin .8s linear infinite}
@keyframes catalog-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.catalog-loading-spinner{animation:none}}

/* Shared public footer. */
footer.public-footer{padding:48px 0 22px;background:#f5f8f9;border-top:1px solid var(--line)}
.public-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:48px;align-items:start}
.public-footer .footer-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:20px 40px;align-items:start}
.public-footer .footer-identity>a{grid-column:1}.public-footer .logo{width:170px}
.public-footer .footer-company{grid-column:1;grid-row:2}.public-footer .footer-company-name{font-size:14px;font-weight:700;color:var(--ink);margin:0 0 14px}
.public-footer .footer-detail{display:flex;align-items:flex-start;gap:10px;font-size:12px;margin:10px 0;color:var(--muted);line-height:1.65}
.public-footer .footer-icon{flex:none;color:var(--blue)}
.public-footer h2{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:0 0 20px;line-height:1.5}
.public-footer .footer-contacts{grid-column:2;grid-row:1 / span 2;padding-top:3px}
.public-footer .footer-contact{display:flex;gap:13px;align-items:center;padding:13px 15px;margin-bottom:10px;border:1px solid #dce4e7;border-radius:10px;background:#fff;transition:border-color .15s,background .15s;overflow-wrap:anywhere}
.public-footer .footer-contact:hover{border-color:#8ca8b8;background:#edf3f6}.public-footer .footer-contact .footer-icon{width:23px;height:23px}.public-footer .footer-contact small{display:block;font-size:11px;color:var(--muted)}.public-footer .footer-contact strong{display:block;font-size:13px;font-weight:600}.public-footer .footer-whatsapp .footer-icon{color:#25835a}
.public-footer .footer-links{display:flex;flex-direction:column;gap:10px;margin:0;font-size:12px}.public-footer .footer-links h2{margin-bottom:9px}.public-footer .footer-links a{display:flex;justify-content:space-between;gap:20px;max-width:200px}.public-footer .footer-links a:hover{text-decoration:underline}.public-footer .footer-links span{color:var(--muted)}
.public-footer .footer-disclaimer{display:flex;gap:13px;align-items:flex-start;padding:18px 20px;background:#eaf0f3;border:1px solid #dce5e9;border-radius:10px;margin-top:30px}.public-footer .footer-disclaimer p{margin:0;font-size:12px;line-height:1.7;color:#526b79}.public-footer .footer-disclaimer strong{color:var(--ink)}
.public-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:11px;color:var(--muted)}.public-footer .footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.public-footer .footer-bottom a:hover{text-decoration:underline}
@media(max-width:900px){.public-footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:28px}.public-footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}.public-footer .footer-links h2{grid-column:1/-1}}
@media(max-width:550px){footer.public-footer{padding-top:32px}.public-footer .footer-identity{grid-template-columns:minmax(0,1fr);gap:18px}.public-footer .footer-company{grid-row:auto}.public-footer .footer-contacts{grid-column:1;grid-row:auto;padding-top:8px}.public-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.public-footer .footer-disclaimer{padding:16px}.public-footer .footer-bottom{flex-direction:column;gap:12px}.public-footer .footer-contact strong{font-size:14px}}

/* Login uses the shared textbox dimensions and floating-label state. */
.login-modal .standard-text-field>label{position:absolute;top:0;left:0;height:3rem;margin:0;line-height:1.7;z-index:1}
.login-modal .standard-text-field>input.textbox{font:inherit;font-size:16px}
.login-meta .login-remember{display:inline-flex;align-items:center;gap:8px;flex:none}
.login-meta .login-remember input{margin:0;flex:none;width:14px;height:14px;accent-color:var(--blue)}
.login-meta .login-remember label{display:inline;margin:0;cursor:pointer}
@media(max-width:420px){dialog.login-modal{padding:28px 22px}.login-meta{flex-wrap:wrap;gap:12px}.login-meta>a{margin-left:auto}}

.portal-discover .paths{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-discover .path{display:flex;flex-direction:column}.portal-discover .text-link{margin-top:auto}@media(max-width:900px){.portal-discover .paths{grid-template-columns:1fr}}

.product-card{position:relative}.product-promotion-badge{position:absolute;top:10px;left:10px;z-index:1;max-width:calc(100% - 20px);padding:6px 10px;border-radius:5px;background:#246342;color:#fff;font-size:12px;font-weight:700;line-height:1.4;overflow-wrap:anywhere;pointer-events:none}.commerce-promotion-note{font-size:12px;line-height:1.5;color:#246342;margin:8px 0 0}.commerce-price>.commerce-promotional-price{color:#246342}
