/* ============================================================
   I.M. DISTRIBUZIONE — V15 UNIFIED DESIGN SYSTEM
   ============================================================ */
:root{
  --im15-green:#0f6a3c;
  --im15-green-2:#16804b;
  --im15-deep:#07512f;
  --im15-teal:#075d63;
  --im15-teal-2:#0a6e72;
  --im15-ink:#173126;
  --im15-muted:#607269;
  --im15-bg:#edf2ee;
  --im15-surface:#edf2ee;
  --im15-surface-2:#f5f8f6;
  --im15-white:#fff;
  --im15-border:rgba(103,127,112,.14);
  --im15-shadow:10px 10px 24px rgba(104,123,111,.21),-10px -10px 24px rgba(255,255,255,.91);
  --im15-shadow-sm:6px 6px 14px rgba(104,123,111,.18),-6px -6px 14px rgba(255,255,255,.88);
  --im15-inset:inset 5px 5px 11px rgba(102,121,109,.17),inset -5px -5px 11px rgba(255,255,255,.91);
  --im15-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

html{background:var(--im15-bg)}
body.imv15-site,
body.imv15-site *{font-family:var(--im15-font)!important;box-sizing:border-box}
body.imv15-site{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.imv15-raw-link-hidden,.imv15-legacy-chrome{display:none!important}
.imv15-shell{width:min(1340px,calc(100% - 34px));margin-inline:auto}

/* ---------------- HOME: logo centered + visible search button ---------------- */
body.imv15-home .imv14-header-main{
  grid-template-columns:310px minmax(380px,1fr) 220px!important;
  align-items:center!important;
  gap:26px!important;
}
body.imv15-home .imv14-brand{
  display:grid!important;
  grid-template-columns:142px minmax(150px,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  max-width:310px!important;
}
body.imv15-home .imv14-brand-logo{
  display:block!important;
  width:130px!important;
  height:68px!important;
  max-width:130px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.14))!important;
}
body.imv15-home .imv14-brand-copy{
  display:flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  align-items:flex-start!important;
}
body.imv15-home .imv14-brand-copy strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.imv15-home .imv14-brand-copy > span{
  color:#bfead1!important;-webkit-text-fill-color:#bfead1!important;
}
body.imv15-home .imv14-search button{
  flex:0 0 66px!important;
  width:66px!important;
  height:44px!important;
  opacity:1!important;
  background:linear-gradient(145deg,#16804b,#095b34)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:5px 5px 12px rgba(22,76,49,.32),-3px -3px 8px rgba(255,255,255,.48)!important;
}
body.imv15-home .imv14-search button svg{
  width:21px!important;height:21px!important;color:#fff!important;stroke:#fff!important;opacity:1!important
}

/* ---------------- COMMON INTERIOR HEADER ---------------- */
body.imv15-interior{margin:0;background:var(--im15-bg)!important;color:var(--im15-ink)!important}
.imv15-site-header{
  position:sticky;top:0;z-index:20000;
  background:linear-gradient(112deg,#07545d,#086a67);
  box-shadow:0 10px 30px rgba(21,54,38,.15);
}
.imv15-header-row{
  min-height:96px;
  display:grid;
  grid-template-columns:310px minmax(360px,1fr) 220px;
  gap:26px;
  align-items:center;
  padding:12px 0;
}
.imv15-brand{display:grid;grid-template-columns:142px minmax(150px,1fr);gap:14px;align-items:center;text-decoration:none!important;min-width:0}
.imv15-brand-mark{width:142px;height:72px;display:grid;place-items:center}
.imv15-brand-mark img{
  display:block;width:130px;height:68px;object-fit:contain;object-position:center;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.14))
}
.imv15-brand-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.imv15-brand-copy strong{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:18px;line-height:1.05;font-weight:880;white-space:nowrap}
.imv15-brand-copy small{color:#bfead1!important;-webkit-text-fill-color:#bfead1!important;font-size:10px;line-height:1.15;text-transform:uppercase;letter-spacing:.1em;font-weight:760;white-space:nowrap}

.imv15-search{
  display:grid;grid-template-columns:38px minmax(0,1fr) 64px;align-items:center;
  min-width:0;height:58px;padding:6px;border-radius:20px;background:var(--im15-surface);
  box-shadow:var(--im15-inset)
}
.imv15-search-leading{display:grid;place-items:center;color:var(--im15-green)}
.imv15-search-leading svg{width:18px;height:18px}
.imv15-search input{
  width:100%!important;min-width:0!important;height:44px!important;border:0!important;outline:0!important;
  padding:0 8px!important;background:transparent!important;color:#405446!important;font-size:14px!important;font-weight:650!important;
  box-shadow:none!important
}
.imv15-search input::placeholder{color:#7a8981;opacity:1}
.imv15-search button{
  width:58px!important;height:44px!important;border:0!important;border-radius:14px!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;
  background:linear-gradient(145deg,#16804b,#095b34)!important;color:#fff!important;
  box-shadow:5px 5px 12px rgba(12,70,40,.28),-3px -3px 8px rgba(255,255,255,.50)!important
}
.imv15-search button svg{width:20px;height:20px;stroke:#fff!important;color:#fff!important}

.imv15-actions{display:grid;grid-template-columns:repeat(2,104px);gap:12px;justify-content:end}
.imv15-action{
  min-height:66px;border-radius:18px;text-decoration:none!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  background:rgba(237,242,238,.96);color:#153d2a!important;-webkit-text-fill-color:#153d2a!important;
  box-shadow:6px 6px 15px rgba(3,43,43,.25),-3px -3px 10px rgba(255,255,255,.18);
  font-size:12px;font-weight:850;line-height:1
}
.imv15-action:first-child{background:linear-gradient(145deg,#1a9659,#117644);color:#fff!important;-webkit-text-fill-color:#fff!important}
.imv15-action svg{width:21px;height:21px;stroke:currentColor!important}

.imv15-nav{background:var(--im15-surface);border-top:1px solid rgba(255,255,255,.12)}
.imv15-nav .imv15-shell{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:74px;overflow-x:auto;scrollbar-width:none}
.imv15-nav .imv15-shell::-webkit-scrollbar{display:none}
.imv15-nav a{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  min-height:46px;padding:0 17px;border-radius:15px;text-decoration:none!important;
  color:#213d2d!important;-webkit-text-fill-color:#213d2d!important;
  font-size:12px;font-weight:800;white-space:nowrap
}
.imv15-nav a:hover,.imv15-nav a:first-child{
  color:var(--im15-green)!important;-webkit-text-fill-color:var(--im15-green)!important;
  box-shadow:var(--im15-inset)
}

/* ---------------- GLOBAL INTERIOR SURFACE ---------------- */
body.imv15-interior #root{
  min-height:60vh;
  padding:42px 0 68px!important;
  background:var(--im15-bg)!important;
  color:var(--im15-ink)!important
}
body.imv15-interior #root > *{font-family:var(--im15-font)!important}
body.imv15-interior #root main:not(.imb2b-shell){
  width:min(1340px,calc(100% - 34px));
  margin-inline:auto;
}
body.imv15-interior #root h1,
body.imv15-interior #root h2,
body.imv15-interior #root h3{color:#153326!important;-webkit-text-fill-color:#153326!important;letter-spacing:-.035em;font-weight:860}
body.imv15-interior #root p{color:#566c60}
body.imv15-interior #root a{transition:.16s ease}

/* Tailwind / legacy cards become soft-neumorphic */
body.imv15-interior #root [class~="rounded-xl"],
body.imv15-interior #root [class~="rounded-2xl"],
body.imv15-interior #root [class~="rounded-3xl"],
body.imv15-interior #root [class~="bg-card"],
body.imv15-interior #root [class~="bg-white"]{
  border-color:transparent!important;
}
body.imv15-interior #root [class~="rounded-xl"][class*="shadow"],
body.imv15-interior #root [class~="rounded-2xl"],
body.imv15-interior #root [class~="rounded-3xl"]{
  background:var(--im15-surface)!important;
  box-shadow:var(--im15-shadow-sm)!important
}

/* Inputs across login/contact/admin/catalog */
body.imv15-interior #root input:not([type="checkbox"]):not([type="radio"]),
body.imv15-interior #root select,
body.imv15-interior #root textarea{
  min-height:46px!important;
  border:0!important;border-radius:14px!important;
  background:var(--im15-surface)!important;color:#244133!important;
  box-shadow:var(--im15-inset)!important;
  outline:none!important
}
body.imv15-interior #root textarea{padding:14px!important}
body.imv15-interior #root input:focus,
body.imv15-interior #root select:focus,
body.imv15-interior #root textarea:focus{
  box-shadow:var(--im15-inset),0 0 0 3px rgba(15,106,60,.12)!important
}

/* Buttons */
body.imv15-interior #root button{
  border-radius:14px!important;
  font-weight:800!important
}
body.imv15-interior #root button:not([class*="destructive"]):not([class*="red"]){
  border-color:transparent!important;
}
body.imv15-interior #root button[type="submit"],
body.imv15-interior #root [class*="bg-primary"],
body.imv15-interior #root [class*="bg-emerald"],
body.imv15-interior #root [class*="bg-green"]{
  background:linear-gradient(145deg,#17844e,#0d673b)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  box-shadow:5px 5px 12px rgba(69,96,78,.22),-4px -4px 10px rgba(255,255,255,.82)!important
}

/* ---------------- CATALOG / SHOP ---------------- */
body.imv15-interior .im-shop-topbar,
body.imv15-interior .imb2b-topbar,
body.imv15-interior .im-shop-footer,
body.imv15-interior .imb2b-footer{display:none!important}

body.imv15-interior .im-shop-body,
body.imv15-interior .imb2b-body,
body.imv15-interior #im-shop-app,
body.imv15-interior #imb2b-app{background:var(--im15-bg)!important}

body.imv15-interior .im-shop-shell,
body.imv15-interior .imb2b-shell{width:min(1340px,calc(100% - 34px))!important}

body.imv15-interior .im-shop-hero,
body.imv15-interior .imb2b-hero{padding-top:0!important;background:transparent!important}

body.imv15-interior .im-shop-hero-card,
body.imv15-interior .imb2b-hero-card,
body.imv15-interior .im-shop-toolbar,
body.imv15-interior .imb2b-toolbar,
body.imv15-interior .im-shop-aside,
body.imv15-interior .imb2b-cart,
body.imv15-interior .im-shop-card,
body.imv15-interior .imb2b-product,
body.imv15-interior .imb2b-order,
body.imv15-interior .im-shop-admin-panel,
body.imv15-interior .imb2b-admin-notice{
  background:var(--im15-surface)!important;
  border:0!important;border-radius:22px!important;
  box-shadow:var(--im15-shadow)!important
}
body.imv15-interior .im-shop-card-media,
body.imv15-interior .imb2b-product-media{
  background:var(--im15-surface-2)!important;
  border-radius:16px!important;
  box-shadow:var(--im15-inset)!important
}
body.imv15-interior .im-shop-add,
body.imv15-interior .imb2b-add,
body.imv15-interior .imb2b-primary,
body.imv15-interior .im-shop-checkout button:first-child{
  background:linear-gradient(145deg,#17844e,#0d673b)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:0!important
}
body.imv15-interior .imb2b-secondary,
body.imv15-interior .im-shop-checkout .is-secondary{
  background:var(--im15-surface)!important;color:#234333!important;
  box-shadow:var(--im15-shadow-sm)!important;border:0!important
}

/* Admin */
body.imv15-interior .imb2b-admin-page,
body.imv15-interior .imb2b-orders{background:transparent!important}
body.imv15-interior .imb2b-modal,
body.imv15-interior .im-shop-modal{
  border:0!important;border-radius:24px!important;background:var(--im15-surface)!important;box-shadow:var(--im15-shadow)!important
}
body.imv15-interior .imb2b-tabs button.is-active{
  background:linear-gradient(145deg,#17844e,#0d673b)!important;color:#fff!important;-webkit-text-fill-color:#fff!important
}

/* ---------------- UNIFIED FOOTER ---------------- */
.imv15-site-footer{background:#12271b;color:#dbe9df;margin-top:0}
.imv15-footer-grid{display:grid;grid-template-columns:1.35fr .75fr .75fr 1fr;gap:38px;padding:48px 0 34px}
.imv15-footer-grid > div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.imv15-footer-brand img{width:145px;height:58px;object-fit:contain;object-position:left center}
.imv15-footer-grid h3{margin:0 0 7px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.imv15-footer-grid p,.imv15-footer-grid span,.imv15-footer-grid a{margin:0;color:#b9cbbf!important;-webkit-text-fill-color:#b9cbbf!important;font-size:12px;line-height:1.65;text-decoration:none}
.imv15-footer-info{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#0d3825}
.imv15-footer-info .imv15-shell{min-height:52px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 0;color:#d8e8de;font-size:12px;font-weight:650}
.imv15-footer-info a{color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none}
.imv15-footer-info i{width:5px;height:5px;border-radius:50%;background:#80bd91}
.imv15-footer-bottom{min-height:52px;display:flex;align-items:center;justify-content:space-between;color:#8eaa98;font-size:11px}

/* ---------------- STATIC SEO PAGES ---------------- */
body.im-seo-route{
  margin:0!important;background:var(--im15-bg)!important;color:var(--im15-ink)!important;
  font-family:var(--im15-font)!important
}
body.im-seo-route *{font-family:var(--im15-font)!important;box-sizing:border-box}
body.im-seo-route .im-seo-page{background:var(--im15-bg)!important;min-height:100vh}
body.im-seo-route .im-seo-header{
  position:sticky!important;top:0!important;z-index:1000!important;
  min-height:92px!important;padding:10px max(22px,calc((100% - 1340px)/2))!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;
  background:linear-gradient(112deg,#07545d,#086a67)!important;
  border:0!important;box-shadow:0 10px 30px rgba(21,54,38,.15)!important
}
body.im-seo-route .im-seo-brand{display:grid!important;grid-template-columns:135px auto!important;align-items:center!important;gap:14px!important;text-decoration:none!important}
body.im-seo-route .im-seo-brand img{display:none!important}
body.im-seo-route .im-seo-brand::before{
  content:"";display:block;width:130px;height:65px;background:url('/assets/logo_im_compact.png') center/contain no-repeat;
}
body.im-seo-route .im-seo-brand strong{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:18px!important}
body.im-seo-route .im-seo-brand small{color:#bfead1!important;-webkit-text-fill-color:#bfead1!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.08em!important}
body.im-seo-route .im-seo-header nav{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;justify-content:flex-end!important}
body.im-seo-route .im-seo-header nav a{
  padding:11px 14px!important;border-radius:13px!important;text-decoration:none!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;font-weight:800!important
}
body.im-seo-route .im-seo-header nav a:hover{background:rgba(255,255,255,.13)!important}
body.im-seo-route .im-seo-main{width:min(1340px,calc(100% - 34px))!important;max-width:1340px!important;margin:auto!important;padding:34px 0 60px!important}
body.im-seo-route .im-seo-breadcrumb{
  padding:12px 16px!important;border-radius:14px!important;background:var(--im15-surface)!important;
  box-shadow:var(--im15-inset)!important
}
body.im-seo-route .im-seo-product,
body.im-seo-route .im-seo-category-head,
body.im-seo-route .im-seo-card,
body.im-seo-route .im-seo-category-card,
body.im-seo-route .im-seo-category-copy{
  background:var(--im15-surface)!important;border:0!important;border-radius:22px!important;box-shadow:var(--im15-shadow)!important
}
body.im-seo-route .im-seo-product{padding:18px!important;gap:30px!important}
body.im-seo-route .im-seo-product-media{
  border-radius:17px!important;background:var(--im15-surface-2)!important;box-shadow:var(--im15-inset)!important;overflow:hidden!important
}
body.im-seo-route .im-seo-details > div{
  background:var(--im15-surface)!important;border:0!important;border-radius:14px!important;box-shadow:var(--im15-inset)!important
}
body.im-seo-route .im-seo-primary{
  background:linear-gradient(145deg,#17844e,#0d673b)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;border-radius:14px!important
}
body.im-seo-route .im-seo-secondary{
  background:var(--im15-surface)!important;color:#204130!important;-webkit-text-fill-color:#204130!important;border:0!important;border-radius:14px!important;box-shadow:var(--im15-shadow-sm)!important
}
body.im-seo-route .im-seo-footer{
  margin:0!important;padding:28px 20px!important;background:#12271b!important;color:#b9cbbf!important;border:0!important
}
body.im-seo-route .im-seo-footer a,
body.im-seo-route .im-seo-footer strong{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Responsive */
@media(max-width:1180px){
  body.imv15-home .imv14-header-main{grid-template-columns:250px minmax(300px,1fr) 190px!important}
  body.imv15-home .imv14-brand{grid-template-columns:120px 1fr!important}
  body.imv15-home .imv14-brand-logo{width:112px!important;height:60px!important}
  .imv15-header-row{grid-template-columns:240px minmax(280px,1fr) 190px;gap:16px}
  .imv15-brand{grid-template-columns:115px 1fr}.imv15-brand-mark{width:115px}.imv15-brand-mark img{width:110px}
  .imv15-actions{grid-template-columns:repeat(2,89px)}
  .imv15-action{font-size:11px}
}
@media(max-width:840px){
  .imv15-header-row{grid-template-columns:116px minmax(180px,1fr) 98px;gap:10px}
  .imv15-brand{grid-template-columns:112px}.imv15-brand-copy{display:none}.imv15-brand-mark{width:112px;height:60px}.imv15-brand-mark img{width:108px;height:55px}
  .imv15-actions{grid-template-columns:repeat(2,44px);gap:10px}.imv15-action{min-height:50px}.imv15-action span{display:none}
  .imv15-nav .imv15-shell{justify-content:flex-start;gap:7px}
  .imv15-footer-grid{grid-template-columns:1fr 1fr}
  body.im-seo-route .im-seo-header{align-items:flex-start!important;flex-direction:column!important}
}
@media(max-width:580px){
  body.imv15-home .imv14-header-main{
    grid-template-columns:120px auto!important;
    grid-template-areas:"brand actions" "search search"!important;
  }
  body.imv15-home .imv14-brand{grid-area:brand!important;grid-template-columns:115px!important}
  body.imv15-home .imv14-brand-copy{display:none!important}
  body.imv15-home .imv14-search{grid-area:search!important}
  body.imv15-home .imv14-header-actions{grid-area:actions!important}

  .imv15-header-row{
    grid-template-columns:120px auto;
    grid-template-areas:"brand actions" "search search";
    gap:10px 12px;padding:10px 0 13px
  }
  .imv15-brand{grid-area:brand}.imv15-search{grid-area:search}.imv15-actions{grid-area:actions}
  .imv15-footer-grid{grid-template-columns:1fr}
  .imv15-footer-bottom{flex-direction:column;justify-content:center;gap:5px;padding:12px 0}
  body.imv15-interior #root{padding-top:26px!important}
  body.imv15-interior #root main:not(.imb2b-shell){width:min(100% - 22px,1340px)}
  body.im-seo-route .im-seo-main{width:min(100% - 22px,1340px)!important}
}


/* ============================================================
   V15.1 — CATALOGO E-COMMERCE REBUILD
   ============================================================ */
body.imv151-catalog #root{
  padding-top:22px!important;
  background:var(--im15-bg)!important;
}

/* Intro: compatto, chiaro, non ruba spazio ai prodotti */
body.imv151-catalog .imv151-catalog-hero{
  padding:22px 0 14px!important;
  background:transparent!important;
  border:0!important;
}
body.imv151-catalog .imv151-catalog-hero::before,
body.imv151-catalog .imv151-catalog-hero::after{display:none!important}
body.imv151-catalog .imv151-catalog-hero > div{
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
  margin-inline:auto!important;
}
body.imv151-catalog .imv151-catalog-hero .imv151-catalog-hero-inner{
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.imv151-catalog .imv151-catalog-hero h1{
  margin:0!important;
  color:#153326!important;
  -webkit-text-fill-color:#153326!important;
  font-size:clamp(30px,3.2vw,44px)!important;
  line-height:1.02!important;
  font-weight:900!important;
}
body.imv151-catalog .imv151-catalog-hero h1 + p{
  margin:8px auto 0!important;
  color:#607269!important;
  -webkit-text-fill-color:#607269!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.imv151-catalog .imv151-catalog-hero .mt-6{
  margin-top:12px!important;
  gap:14px!important;
}
body.imv151-catalog .imv151-catalog-hero .text-gray-400,
body.imv151-catalog .imv151-catalog-hero .text-gray-500,
body.imv151-catalog .imv151-catalog-hero .text-emerald-400{
  color:#557064!important;
  -webkit-text-fill-color:#557064!important;
  font-size:12px!important;
}
body.imv151-catalog .imv151-catalog-hero a[href="/"]{display:none!important}

/* Filtri: una toolbar moderna, non una seconda navbar */
body.imv151-catalog .imv151-catalog-filters{
  padding:8px 0 22px!important;
  background:transparent!important;
  border:0!important;
}
body.imv151-catalog .imv151-catalog-filters-inner{
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
  margin-inline:auto!important;
  padding:0!important;
}
body.imv151-catalog .imv151-catalog-filter-grid{
  display:grid!important;
  grid-template-columns:minmax(360px,2fr) repeat(3,minmax(170px,.78fr))!important;
  gap:14px!important;
  padding:15px!important;
  border-radius:22px!important;
  background:var(--im15-surface)!important;
  box-shadow:var(--im15-shadow)!important;
  align-items:center!important;
}
body.imv151-catalog .imv151-catalog-home-control{display:none!important}
body.imv151-catalog .imv151-catalog-filter-grid > *{
  min-width:0!important;
  width:100%!important;
}
body.imv151-catalog .imv151-catalog-filter-grid input,
body.imv151-catalog .imv151-catalog-filter-grid button[role="combobox"]{
  min-height:48px!important;
  height:48px!important;
  background:var(--im15-surface-2)!important;
  color:#203d2e!important;
  -webkit-text-fill-color:#203d2e!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:var(--im15-inset)!important;
  font-size:12px!important;
  font-weight:700!important;
}
body.imv151-catalog .imv151-catalog-filter-grid input{
  padding-left:42px!important;
}
body.imv151-catalog .imv151-catalog-filter-grid svg{
  color:#0c7040!important;
  stroke:#0c7040!important;
}

/* Contatore risultati: leggibile e discreto */
body.imv151-catalog .imv151-catalog-section{
  padding:10px 0 66px!important;
  background:transparent!important;
}
body.imv151-catalog .imv151-catalog-content{
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
  margin-inline:auto!important;
  padding:0!important;
}
body.imv151-catalog .imv151-catalog-summary{
  margin:0 0 18px!important;
  padding:0 4px!important;
  text-align:left!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  flex-wrap:wrap!important;
}
body.imv151-catalog .imv151-catalog-count{
  margin:0!important;
  color:#294b38!important;
  -webkit-text-fill-color:#294b38!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.imv151-catalog .imv151-catalog-helper{
  margin:0!important;
  color:#74857c!important;
  -webkit-text-fill-color:#74857c!important;
  font-size:11px!important;
  font-weight:600!important;
}

/* Griglia: densità da e-commerce */
body.imv151-catalog .imv151-catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}

/* Card */
body.imv151-catalog .imv151-catalog-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:410px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:22px!important;
  background:var(--im15-surface)!important;
  box-shadow:var(--im15-shadow-sm)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
body.imv151-catalog .imv151-catalog-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:13px 13px 28px rgba(104,123,111,.23),-13px -13px 28px rgba(255,255,255,.94)!important;
}
body.imv151-catalog .imv151-catalog-card > .absolute{display:none!important}

body.imv151-catalog .imv151-card-media{
  order:1!important;
  width:calc(100% - 18px)!important;
  height:188px!important;
  min-height:188px!important;
  margin:9px 9px 0!important;
  padding:13px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#f8faf8!important;
  box-shadow:var(--im15-inset)!important;
}
body.imv151-catalog .imv151-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
body.imv151-catalog .imv151-catalog-card:hover .imv151-card-media img{transform:scale(1.025)!important}

body.imv151-catalog .imv151-card-body{
  order:2!important;
  flex:1 1 auto!important;
  padding:15px 16px 7px!important;
  background:transparent!important;
}
body.imv151-catalog .imv151-card-badges{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-height:29px!important;
  margin:0 0 10px!important;
}
body.imv151-catalog .imv151-card-badges > *{
  display:inline-flex!important;
  width:auto!important;
  max-width:55%!important;
  min-height:25px!important;
  padding:5px 8px!important;
  margin:0!important;
  border:0!important;
  border-radius:9px!important;
  background:#deece3!important;
  color:#17643b!important;
  -webkit-text-fill-color:#17643b!important;
  box-shadow:none!important;
  font-size:9px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow:hidden!important;
}
body.imv151-catalog .imv151-card-badges > *:nth-child(2){
  background:#e8eeea!important;
  color:#50665a!important;
  -webkit-text-fill-color:#50665a!important;
}
body.imv151-catalog .imv151-card-badges svg{width:10px!important;height:10px!important;flex:0 0 10px!important}

body.imv151-catalog .imv151-card-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:42px!important;
  margin:0!important;
  color:#183427!important;
  -webkit-text-fill-color:#183427!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:850!important;
  letter-spacing:-.015em!important;
}
body.imv151-catalog .imv151-card-description{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:32px!important;
  margin:7px 0 0!important;
  color:#728078!important;
  -webkit-text-fill-color:#728078!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  font-weight:520!important;
}

body.imv151-catalog .imv151-card-footer{
  order:3!important;
  margin-top:auto!important;
  padding:7px 16px 16px!important;
  background:transparent!important;
}
body.imv151-catalog .imv151-card-meta{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:end!important;
  gap:10px!important;
  margin:0!important;
  padding:10px 0 11px!important;
  border-top:1px solid rgba(91,116,101,.12)!important;
}
body.imv151-catalog .imv151-card-meta > div:first-child,
body.imv151-catalog .imv151-card-meta > div:first-child *{
  color:#0e6b3d!important;
  -webkit-text-fill-color:#0e6b3d!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
body.imv151-catalog .imv151-card-meta > div:last-child,
body.imv151-catalog .imv151-card-meta > div:last-child *{
  color:#6b7a72!important;
  -webkit-text-fill-color:#6b7a72!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
body.imv151-catalog .imv151-card-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
}
body.imv151-catalog .imv151-card-actions > *:first-child{
  min-height:28px!important;
  padding:5px 9px!important;
  border:0!important;
  border-radius:9px!important;
  background:#dff0e5!important;
  color:#137044!important;
  -webkit-text-fill-color:#137044!important;
  font-size:9px!important;
  font-weight:850!important;
}
body.imv151-catalog .imv151-card-actions button{
  min-height:36px!important;
  height:36px!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,#16834d,#0d663b)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:4px 4px 10px rgba(84,104,91,.22),-3px -3px 8px rgba(255,255,255,.78)!important;
  font-size:10px!important;
  font-weight:850!important;
}
body.imv151-catalog .imv151-card-actions button svg{width:13px!important;height:13px!important;color:#fff!important;stroke:#fff!important}

/* Admin varianti: resta disponibile ma non copre più il catalogo */
body.imv151-catalog .imv-open.floating.imv151-admin-compact{
  position:fixed!important;
  right:18px!important;
  bottom:88px!important;
  width:auto!important;
  min-width:104px!important;
  max-width:130px!important;
  min-height:42px!important;
  padding:8px 12px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#16834d,#0d663b)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(15,74,43,.24)!important;
  z-index:12000!important;
}
body.imv151-catalog .imv-open.floating.imv151-admin-compact strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:10px!important;line-height:1.2!important
}
body.imv151-catalog .imv-open.floating.imv151-admin-compact span{display:none!important}

@media(max-width:1100px){
  body.imv151-catalog .imv151-catalog-filter-grid{
    grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(145px,.8fr))!important
  }
  body.imv151-catalog .imv151-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))!important}
}
@media(max-width:820px){
  body.imv151-catalog .imv151-catalog-filter-grid{grid-template-columns:1fr 1fr!important}
  body.imv151-catalog .imv151-catalog-filter-grid > div:has(input){grid-column:1/-1!important}
  body.imv151-catalog .imv151-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  body.imv151-catalog .imv151-card-media{height:170px!important;min-height:170px!important}
}
@media(max-width:560px){
  body.imv151-catalog .imv151-catalog-filter-grid{grid-template-columns:1fr!important;padding:12px!important}
  body.imv151-catalog .imv151-catalog-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  body.imv151-catalog .imv151-catalog-card{min-height:350px!important;border-radius:16px!important}
  body.imv151-catalog .imv151-card-media{height:132px!important;min-height:132px!important;margin:6px 6px 0!important;padding:7px!important;border-radius:12px!important}
  body.imv151-catalog .imv151-card-body{padding:11px 10px 5px!important}
  body.imv151-catalog .imv151-card-footer{padding:5px 10px 11px!important}
  body.imv151-catalog .imv151-card-badges > *{font-size:7.5px!important;padding:4px 6px!important}
  body.imv151-catalog .imv151-card-title{font-size:11.5px!important;min-height:34px!important}
  body.imv151-catalog .imv151-card-description{font-size:9px!important;min-height:27px!important}
  body.imv151-catalog .imv151-card-meta > div:first-child,
  body.imv151-catalog .imv151-card-meta > div:first-child *{font-size:12px!important}
  body.imv151-catalog .imv151-card-actions button{padding:0 9px!important;font-size:9px!important}
}


/* ============================================================
   V15.3 — GLOBAL INTERIOR HEADER HARDENING
   Protegge il nuovo header V15 dai vecchi script/CSS che
   aggiungono classi come .im-site-header-fix anche dopo il mount.
   ============================================================ */

/* Iubenda: i link grezzi in testa non devono mai comparire.
   Restano disponibili nel footer unificato. */
body.imv15-interior > a.iubenda-embed,
body.imv15-interior > a[href*="iubenda.com/privacy-policy"],
body.imv15-interior > .im-seo-global-link{
  display:none!important;
}

/* Wrapper del nuovo chrome: sempre blocco a tutta larghezza. */
body.imv15-interior #imv15GlobalHeader{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  z-index:20000!important;
}

/* Anche se il legacy JS gli aggiunge .im-site-header-fix,
   il nostro header NON deve diventare flex. */
body.imv15-interior #imv15GlobalHeader .imv15-site-header,
body.imv15-interior #imv15GlobalHeader header.imv15-site-header,
body.imv15-interior #imv15GlobalHeader header.imv15-site-header.im-site-header-fix{
  display:block!important;
  flex:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  position:sticky!important;
  top:0!important;
}

/* RIGA 1 — logo | ricerca | azioni. */
body.imv15-interior #imv15GlobalHeader .imv15-header-row,
body.imv15-interior #imv15GlobalHeader .imv15-site-header.im-site-header-fix > .imv15-header-row{
  display:grid!important;
  grid-template-columns:310px minmax(420px,1fr) 220px!important;
  grid-template-areas:"brand search actions"!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:26px!important;

  width:min(1340px,calc(100% - 34px))!important;
  max-width:1340px!important;
  min-width:0!important;
  height:auto!important;
  min-height:96px!important;
  margin:0 auto!important;
  padding:12px 0!important;

  flex:none!important;
  overflow:visible!important;
}

/* Brand */
body.imv15-interior #imv15GlobalHeader .imv15-brand{
  grid-area:brand!important;
  display:grid!important;
  grid-template-columns:142px minmax(150px,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  max-width:310px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-brand-mark{
  width:142px!important;
  height:72px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-brand-mark img{
  display:block!important;
  width:130px!important;
  max-width:130px!important;
  height:68px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  overflow:visible!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-brand-copy strong,
body.imv15-interior #imv15GlobalHeader .imv15-brand-copy small{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Search */
body.imv15-interior #imv15GlobalHeader .imv15-search{
  grid-area:search!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 64px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:58px!important;
  margin:0!important;
  padding:6px!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-search-leading{
  display:grid!important;
  place-items:center!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-search input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:44px!important;
  margin:0!important;
  position:static!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-search button{
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
}

/* Actions */
body.imv15-interior #imv15GlobalHeader .imv15-actions{
  grid-area:actions!important;
  display:grid!important;
  grid-template-columns:repeat(2,104px)!important;
  align-items:stretch!important;
  justify-content:end!important;
  gap:12px!important;
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-action{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  height:66px!important;
  min-height:66px!important;
  max-height:66px!important;
  margin:0!important;
  padding:8px 6px!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-action span{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  min-height:14px!important;
  line-height:14px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* RIGA 2 — navigazione. Deve stare SEMPRE sotto la riga principale. */
body.imv15-interior #imv15GlobalHeader .imv15-nav,
body.imv15-interior #imv15GlobalHeader .imv15-site-header.im-site-header-fix > nav.imv15-nav{
  display:block!important;
  flex:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-nav > .imv15-shell{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:5px!important;

  width:min(1340px,calc(100% - 34px))!important;
  max-width:1340px!important;
  min-width:0!important;
  min-height:74px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;

  overflow-x:auto!important;
  overflow-y:hidden!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-nav a{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:46px!important;
  height:46px!important;
  margin:0!important;
  padding:0 17px!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Impedisce ai vecchi fix di comprimere l'header V15 anche sotto 1024px. */
@media(max-width:1180px){
  body.imv15-interior #imv15GlobalHeader .imv15-header-row{
    grid-template-columns:240px minmax(280px,1fr) 190px!important;
    gap:16px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand{
    grid-template-columns:115px minmax(110px,1fr)!important;
    max-width:240px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand-mark{
    width:115px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand-mark img{
    width:110px!important;
    max-width:110px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-actions{
    grid-template-columns:repeat(2,89px)!important;
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-action{
    width:89px!important;
    min-width:89px!important;
    max-width:89px!important;
  }
}

/* Tablet */
@media(max-width:840px){
  body.imv15-interior #imv15GlobalHeader .imv15-header-row{
    grid-template-columns:116px minmax(180px,1fr) 98px!important;
    grid-template-areas:"brand search actions"!important;
    gap:10px!important;
    min-height:78px!important;
    padding:9px 0!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand{
    grid-template-columns:112px!important;
    max-width:116px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand-copy{
    display:none!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand-mark{
    width:112px!important;
    height:60px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand-mark img{
    width:108px!important;
    height:55px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-actions{
    grid-template-columns:repeat(2,44px)!important;
    width:98px!important;
    min-width:98px!important;
    max-width:98px!important;
    gap:10px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-action{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    padding:0!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-action span{
    display:none!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-nav > .imv15-shell{
    justify-content:flex-start!important;
    gap:7px!important;
  }
}

/* Smartphone: ricerca scende sotto brand/azioni. */
@media(max-width:580px){
  body.imv15-interior #imv15GlobalHeader .imv15-header-row{
    grid-template-columns:120px auto!important;
    grid-template-areas:
      "brand actions"
      "search search"!important;
    gap:9px 12px!important;
    padding:9px 0 12px!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-brand{grid-area:brand!important}
  body.imv15-interior #imv15GlobalHeader .imv15-search{grid-area:search!important}
  body.imv15-interior #imv15GlobalHeader .imv15-actions{grid-area:actions!important}
}


/* ============================================================
   V15.5 — Catalog contrast + cleanup
   ============================================================ */
body.imv151-catalog #root{
  background:
    radial-gradient(circle at top left, rgba(24,128,75,.08), transparent 28%),
    radial-gradient(circle at top right, rgba(8,106,103,.06), transparent 24%),
    linear-gradient(180deg,#edf2ee 0%, #e7eeea 100%)!important;
}
body.imv151-catalog .imv151-catalog-section{
  padding:14px 0 72px!important;
}
body.imv151-catalog .imv151-catalog-content{
  padding:24px!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,#dfe7e2 0%, #ebf1ed 52%, #dde6e0 100%)!important;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.72),
    inset -1px -1px 0 rgba(126,145,134,.08),
    12px 12px 28px rgba(110,127,116,.16),
    -10px -10px 24px rgba(255,255,255,.72)!important;
  border:1px solid rgba(111,132,120,.10)!important;
}
body.imv151-catalog .imv151-catalog-summary{
  margin:0 0 22px!important;
  padding:2px 6px 0!important;
}
body.imv151-catalog .imv151-catalog-helper{
  display:none!important;
}
body.imv151-catalog .imv151-catalog-grid{
  position:relative!important;
  padding:2px!important;
}
body.imv151-catalog .imv151-catalog-card{
  background:#f3f7f4!important;
  border:1px solid rgba(121,141,129,.08)!important;
  box-shadow:
    8px 8px 18px rgba(111,127,116,.14),
    -8px -8px 18px rgba(255,255,255,.82)!important;
}
body.imv151-catalog .imv151-card-media{
  background:#fbfcfb!important;
}
body.imv151-catalog .imv-open,
body.imv151-catalog .imv-open.floating,
body.imv151-catalog [data-v13-open]{
  display:none!important;
}
@media(max-width:820px){
  body.imv151-catalog .imv151-catalog-content{
    padding:16px!important;
    border-radius:22px!important;
  }
}
@media(max-width:560px){
  body.imv151-catalog .imv151-catalog-content{
    padding:12px!important;
    border-radius:18px!important;
  }
}


/* ============================================================
   V15.6 — HOME NAV ALIGNMENT + CATALOG HERO + PERFORMANCE
   ============================================================ */

/* HOME: la barra menu diventa una card centrata sullo stesso asse dell'hero. */
body.imv15-home .imv14-nav{
  background:transparent!important;
  border:0!important;
  padding:10px 0 16px!important;
}
body.imv15-home .imv14-nav .imv14-shell{
  width:min(1340px,calc(100% - 34px))!important;
  max-width:1340px!important;
  min-height:68px!important;
  margin:0 auto!important;
  padding:9px 13px!important;
  border-radius:24px!important;
  background:#edf2ee!important;
  box-shadow:10px 10px 24px rgba(104,123,111,.18),-10px -10px 24px rgba(255,255,255,.86)!important;
  border:1px solid rgba(107,129,116,.08)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
body.imv15-home .imv14-nav a{
  min-height:44px!important;
  padding:0 16px!important;
  border-radius:14px!important;
}
body.imv15-home .imv14-nav a.is-primary{
  box-shadow:inset 4px 4px 9px rgba(105,124,112,.12),inset -4px -4px 9px rgba(255,255,255,.90)!important;
}

/* INTERIOR NAV: tutte le voci devono avere identico contrasto. */
body.imv15-interior #imv15GlobalHeader .imv15-nav a,
body.imv15-interior #imv15GlobalHeader .imv15-nav a[href="/info-ordini"],
body.imv15-interior #imv15GlobalHeader .imv15-nav a[href="/contatti"]{
  color:#213d2d!important;
  -webkit-text-fill-color:#213d2d!important;
  opacity:1!important;
  text-shadow:none!important;
  background:transparent!important;
}
body.imv15-interior #imv15GlobalHeader .imv15-nav a:hover,
body.imv15-interior #imv15GlobalHeader .imv15-nav a:first-child{
  color:#0f6a3c!important;
  -webkit-text-fill-color:#0f6a3c!important;
}

/* CATALOGO: eliminiamo completamente l'immagine hero sgranata.
   Il contenuto resta HTML vero, nitido e accessibile. */
body.imv151-catalog .imv151-catalog-hero{
  position:relative!important;
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
  min-height:220px!important;
  margin:20px auto 18px!important;
  padding:32px 34px!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background-image:
    radial-gradient(circle at 14% 18%,rgba(129,205,159,.20),transparent 30%),
    radial-gradient(circle at 88% 82%,rgba(28,139,133,.28),transparent 34%),
    linear-gradient(128deg,#084a37 0%,#0b654f 52%,#075d63 100%)!important;
  box-shadow:12px 12px 28px rgba(94,116,102,.18),-10px -10px 24px rgba(255,255,255,.74)!important;
}
body.imv151-catalog .imv151-catalog-hero > .absolute{
  display:none!important;
}
body.imv151-catalog .imv151-catalog-hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:34px!important;
  top:50%!important;
  width:310px!important;
  height:145px!important;
  transform:translateY(-50%)!important;
  background:url('/assets/logo_im_compact.png') center/contain no-repeat!important;
  opacity:.10!important;
  pointer-events:none!important;
}
body.imv151-catalog .imv151-catalog-hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(4,42,29,.22),transparent 62%)!important;
  pointer-events:none!important;
}
body.imv151-catalog .imv151-catalog-hero > div:not(.absolute){
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.imv151-catalog .imv151-catalog-hero .imv151-catalog-hero-inner{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.imv151-catalog .imv151-catalog-hero h1{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(34px,3.4vw,50px)!important;
  text-shadow:0 4px 18px rgba(0,0,0,.18)!important;
}
body.imv151-catalog .imv151-catalog-hero h1 + p{
  color:#d7ece1!important;
  -webkit-text-fill-color:#d7ece1!important;
  font-size:14px!important;
  font-weight:560!important;
}
body.imv151-catalog .imv151-catalog-hero .text-gray-400,
body.imv151-catalog .imv151-catalog-hero .text-gray-500,
body.imv151-catalog .imv151-catalog-hero .text-emerald-400{
  color:#c6e6d4!important;
  -webkit-text-fill-color:#c6e6d4!important;
  opacity:1!important;
}
body.imv151-catalog .imv151-catalog-hero button{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:none!important;
}

/* Filtri centrati e morbidi come le card. */
body.imv151-catalog .imv151-catalog-filters-inner{
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
}
body.imv151-catalog .imv151-catalog-filter-grid{
  border-radius:26px!important;
  padding:16px!important;
  border:1px solid rgba(107,129,116,.08)!important;
}

/* PERFORMANCE: il browser non deve dipingere 671 card fuori viewport. */
body.imv151-catalog .imv151-catalog-card{
  content-visibility:auto!important;
  contain:layout paint style!important;
  contain-intrinsic-size:410px 245px!important;
}
body.imv151-catalog .imv151-card-media img{
  content-visibility:auto!important;
}

@media(max-width:820px){
  body.imv15-home .imv14-nav{padding:8px 0 12px!important}
  body.imv15-home .imv14-nav .imv14-shell{border-radius:20px!important;padding:7px 9px!important}
  body.imv151-catalog .imv151-catalog-hero{padding:26px 20px!important;border-radius:22px!important}
  body.imv151-catalog .imv151-catalog-hero::before{width:210px!important;right:12px!important;opacity:.07!important}
}


/* ============================================================
   V15.7 — PREMIUM AZURE → GREEN BACKGROUND
   ============================================================ */
:root{
  --im15-premium-bg:
    radial-gradient(circle at 8% 4%, rgba(151,214,247,.52) 0, rgba(151,214,247,.22) 22%, transparent 40%),
    radial-gradient(circle at 92% 88%, rgba(132,211,166,.46) 0, rgba(132,211,166,.20) 24%, transparent 42%),
    radial-gradient(circle at 58% 38%, rgba(255,255,255,.38) 0, transparent 42%),
    linear-gradient(135deg,#e8f5ff 0%,#edf9f5 46%,#d9efe3 100%);
}

html{
  background:#e7f4ee!important;
  min-height:100%;
}

body.imv15-site,
body.imv14-home,
body.imv15-home,
body.imv15-interior,
body.im-seo-route{
  background:var(--im15-premium-bg)!important;
  background-attachment:fixed!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  min-height:100vh!important;
}

/* Lasciamo intravedere il gradiente nelle aree principali. */
body.imv15-interior #root,
body.imv151-catalog #root,
body.im-seo-route .im-seo-page,
body.imv15-interior .im-shop-body,
body.imv15-interior .imb2b-body,
body.imv15-interior #im-shop-app,
body.imv15-interior #imb2b-app{
  background:transparent!important;
}

body.imv15-home #imv14Storefront,
body.imv15-home .imv14-main{
  background:transparent!important;
}

/* Superfici principali leggermente più traslucide: effetto premium/glass
   senza compromettere il neumorphism. */
body.imv15-home .imv14-nav .imv14-shell,
body.imv15-interior .imv15-nav,
body.imv15-interior .imv15-search,
body.imv151-catalog .imv151-catalog-filter-grid{
  backdrop-filter:blur(14px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(115%)!important;
}

body.imv15-home .imv14-nav .imv14-shell,
body.imv151-catalog .imv151-catalog-filter-grid{
  background:rgba(238,244,240,.82)!important;
}

/* Il contenitore della griglia resta più neutro per mantenere contrasto. */
body.imv151-catalog .imv151-catalog-content{
  background:linear-gradient(145deg,rgba(224,233,227,.94),rgba(240,246,242,.92))!important;
}

/* Header interno appena traslucido: lega meglio con il nuovo fondo. */
body.imv15-interior .imv15-site-header{
  background:linear-gradient(112deg,rgba(7,84,93,.97),rgba(8,106,103,.96))!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

@media(max-width:820px){
  body.imv15-site,
  body.imv14-home,
  body.imv15-home,
  body.imv15-interior,
  body.im-seo-route{
    background-attachment:scroll!important;
  }
}


/* ============================================================
   V15.8 — HEADER CONTRAST + CATALOG COMPOSITION REDESIGN
   ============================================================ */

/* HOME BRAND: il fondo premium è chiaro, quindi niente testo bianco. */
body.imv15-home .imv14-brand-copy strong{
  color:#0a5332!important;
  -webkit-text-fill-color:#0a5332!important;
  text-shadow:0 1px 0 rgba(255,255,255,.62)!important;
  font-weight:900!important;
}
body.imv15-home .imv14-brand-copy > span{
  color:#397257!important;
  -webkit-text-fill-color:#397257!important;
  text-shadow:0 1px 0 rgba(255,255,255,.58)!important;
  font-weight:800!important;
}

/* CATALOGO: una console e-commerce compatta, non un banner pubblicitario. */
body.imv151-catalog .imv151-catalog-hero{
  position:relative!important;
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
  min-height:0!important;
  margin:28px auto 0!important;
  padding:30px 34px!important;
  overflow:hidden!important;
  border-radius:30px 30px 12px 12px!important;
  border:1px solid rgba(100,133,116,.12)!important;
  background:
    radial-gradient(circle at 96% 4%,rgba(135,211,166,.22),transparent 28%),
    radial-gradient(circle at 5% 95%,rgba(151,214,247,.20),transparent 30%),
    linear-gradient(145deg,rgba(247,251,248,.91),rgba(232,243,237,.88))!important;
  box-shadow:
    12px 12px 28px rgba(105,127,114,.15),
    -10px -10px 25px rgba(255,255,255,.78)!important;
  backdrop-filter:blur(18px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(112%)!important;
}
body.imv151-catalog .imv151-catalog-hero::before{
  content:"CATALOGO"!important;
  position:absolute!important;
  display:block!important;
  right:28px!important;
  bottom:-23px!important;
  top:auto!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
  background:none!important;
  color:rgba(20,108,66,.055)!important;
  -webkit-text-fill-color:rgba(20,108,66,.055)!important;
  font-size:94px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.07em!important;
  opacity:1!important;
  pointer-events:none!important;
}
body.imv151-catalog .imv151-catalog-hero::after{display:none!important}
body.imv151-catalog .imv151-catalog-hero > div:not(.absolute){
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  max-width:100%!important;
}
body.imv151-catalog .imv151-catalog-hero .imv151-catalog-hero-inner{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-right:240px!important;
  text-align:left!important;
}
body.imv151-catalog .imv151-catalog-hero h1{
  margin:0!important;
  color:#123e2a!important;
  -webkit-text-fill-color:#123e2a!important;
  font-size:clamp(32px,3vw,46px)!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.05em!important;
  text-shadow:none!important;
}
body.imv151-catalog .imv151-catalog-hero h1 + p{
  max-width:720px!important;
  margin:9px 0 0!important;
  color:#5b7165!important;
  -webkit-text-fill-color:#5b7165!important;
  font-size:13px!important;
  line-height:1.55!important;
  font-weight:580!important;
}
body.imv151-catalog .imv151-catalog-hero .mt-6{
  margin-top:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
body.imv151-catalog .imv151-catalog-hero .text-gray-400,
body.imv151-catalog .imv151-catalog-hero .text-gray-500,
body.imv151-catalog .imv151-catalog-hero .text-emerald-400{
  color:#39745a!important;
  -webkit-text-fill-color:#39745a!important;
  font-size:11px!important;
  font-weight:720!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.imv151-catalog .imv151-catalog-hero button{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-height:50px!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#16854e,#0d693d)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:6px 6px 14px rgba(74,105,86,.24),-4px -4px 12px rgba(255,255,255,.72)!important;
  white-space:nowrap!important;
}

/* FILTRI: visualmente fanno parte dello stesso pannello del titolo. */
body.imv151-catalog .imv151-catalog-filters{
  padding:0 0 24px!important;
  margin:0!important;
  background:transparent!important;
}
body.imv151-catalog .imv151-catalog-filters-inner{
  width:min(1450px,calc(100% - 34px))!important;
  max-width:1450px!important;
  margin:0 auto!important;
}
body.imv151-catalog .imv151-catalog-filter-grid{
  display:grid!important;
  grid-template-columns:minmax(340px,1.8fr) minmax(190px,.72fr) minmax(190px,.72fr) minmax(180px,.66fr)!important;
  grid-template-areas:"search category company sort"!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px 16px 18px!important;
  margin:0!important;
  border-radius:12px 12px 30px 30px!important;
  border:1px solid rgba(100,133,116,.10)!important;
  border-top:0!important;
  background:linear-gradient(145deg,rgba(244,249,246,.93),rgba(230,239,234,.90))!important;
  box-shadow:10px 12px 26px rgba(105,127,114,.14),-8px -6px 20px rgba(255,255,255,.64)!important;
  backdrop-filter:blur(18px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(112%)!important;
}
body.imv151-catalog .imv151-catalog-filter-grid > .imv158-filter-search{grid-area:search!important}
body.imv151-catalog .imv151-catalog-filter-grid > .imv158-filter-category{grid-area:category!important}
body.imv151-catalog .imv151-catalog-filter-grid > .imv158-filter-company{grid-area:company!important}
body.imv151-catalog .imv151-catalog-filter-grid > .imv158-filter-sort{grid-area:sort!important}
body.imv151-catalog .imv151-catalog-filter-grid input,
body.imv151-catalog .imv151-catalog-filter-grid button[role="combobox"]{
  min-height:50px!important;
  height:50px!important;
  background:rgba(249,252,250,.88)!important;
  border:1px solid rgba(98,128,111,.08)!important;
  border-radius:15px!important;
  box-shadow:inset 4px 4px 9px rgba(105,124,112,.10),inset -4px -4px 9px rgba(255,255,255,.92)!important;
}

/* GRIGLIA: più respiro e stacco visivo dal pannello comandi. */
body.imv151-catalog .imv151-catalog-section{padding-top:10px!important}
body.imv151-catalog .imv151-catalog-content{
  margin-top:0!important;
  padding:26px!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,rgba(219,231,224,.78),rgba(242,248,244,.80))!important;
  border:1px solid rgba(96,126,109,.10)!important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.56),10px 10px 28px rgba(102,123,110,.13)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
}
body.imv151-catalog .imv151-catalog-card{
  background:rgba(248,251,249,.93)!important;
  box-shadow:7px 7px 17px rgba(105,123,112,.14),-7px -7px 17px rgba(255,255,255,.78)!important;
}

@media(max-width:980px){
  body.imv151-catalog .imv151-catalog-hero .imv151-catalog-hero-inner{padding-right:0!important}
  body.imv151-catalog .imv151-catalog-hero button{
    position:static!important;transform:none!important;margin-top:18px!important
  }
  body.imv151-catalog .imv151-catalog-filter-grid{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"search search" "category company" "sort sort"!important;
  }
}
@media(max-width:580px){
  body.imv151-catalog .imv151-catalog-hero{padding:24px 20px!important;border-radius:22px 22px 10px 10px!important}
  body.imv151-catalog .imv151-catalog-hero::before{font-size:58px!important;right:10px!important;bottom:-10px!important}
  body.imv151-catalog .imv151-catalog-filter-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:"search" "category" "company" "sort"!important;
    padding:12px!important;border-radius:10px 10px 22px 22px!important
  }
  body.imv151-catalog .imv151-catalog-content{padding:12px!important;border-radius:20px!important}
}


/* ============================================================
   V15.9 — BRAND REFRESH
   Colore di riferimento utente: #0D5A63
   Nuovo logo PNG integrato in tutto il chrome V15.
   ============================================================ */
:root{
  --im15-brand-teal:#0D5A63;
  --im15-brand-teal-2:#14727A;
  --im15-brand-teal-dark:#083E45;
  --im15-teal:#0D5A63;
  --im15-teal-2:#14727A;
}

/* Sfondo premium ricalibrato sul nuovo colore di riferimento. */
body.imv15-site,
body.imv14-home,
body.imv15-home,
body.imv15-interior,
body.im-seo-route{
  background:
    radial-gradient(circle at 8% 8%, rgba(13,90,99,.18), transparent 30%),
    radial-gradient(circle at 92% 88%, rgba(36,151,102,.16), transparent 34%),
    linear-gradient(135deg,#dceff3 0%,#e9f5f2 48%,#dcefe5 100%)!important;
  background-attachment:fixed!important;
}

/* Header: il teal scelto diventa il riferimento principale. */
body.imv15-interior .imv15-site-header{
  background:linear-gradient(118deg,#0D5A63 0%,#0F6870 58%,#126B59 100%)!important;
}

/* Home: superficie superiore leggermente tinta, ma leggibile. */
body.imv15-home #imv14Header,
body.imv15-home .imv14-header{
  background:rgba(236,245,242,.88)!important;
  backdrop-filter:blur(16px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(118%)!important;
}

/* Ricerca e CTA con accento teal. */
body.imv15-home .imv14-search button,
.imv15-search button{
  background:linear-gradient(145deg,#14727A,#0D5A63)!important;
  box-shadow:5px 5px 12px rgba(13,90,99,.25),-3px -3px 8px rgba(255,255,255,.48)!important;
}

/* Logo: centratura e proporzioni coerenti col nuovo asset. */
body.imv15-home .imv14-brand-logo{
  width:142px!important;
  max-width:142px!important;
  height:72px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 7px 11px rgba(8,62,69,.14))!important;
}
.imv15-brand-mark{
  width:150px!important;
  height:74px!important;
}
.imv15-brand-mark img{
  width:142px!important;
  max-width:142px!important;
  height:70px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 7px 11px rgba(8,62,69,.14))!important;
}
.imv15-footer-brand img{
  width:155px!important;
  height:64px!important;
  object-fit:contain!important;
}

/* Il testo del brand usa lo stesso riferimento cromatico sulle superfici chiare. */
body.imv15-home .imv14-brand-copy strong{
  color:#0D5A63!important;
  -webkit-text-fill-color:#0D5A63!important;
}
body.imv15-home .imv14-brand-copy > span{
  color:#34756F!important;
  -webkit-text-fill-color:#34756F!important;
}

/* Catalogo: richiami teal più coerenti con il nuovo brand. */
body.imv151-catalog .imv151-catalog-hero h1{
  color:#0B434A!important;
  -webkit-text-fill-color:#0B434A!important;
}
body.imv151-catalog .imv151-catalog-hero::before{
  color:rgba(13,90,99,.055)!important;
  -webkit-text-fill-color:rgba(13,90,99,.055)!important;
}
body.imv151-catalog .imv151-catalog-filter-grid svg,
body.imv151-catalog .imv151-catalog-filter-grid input + svg{
  color:#0D5A63!important;
  stroke:#0D5A63!important;
}

@media(max-width:820px){
  body.imv15-site,
  body.imv14-home,
  body.imv15-home,
  body.imv15-interior,
  body.im-seo-route{
    background-attachment:scroll!important;
  }
  body.imv15-home .imv14-brand-logo{width:112px!important;height:58px!important}
  .imv15-brand-mark{width:116px!important;height:60px!important}
  .imv15-brand-mark img{width:110px!important;height:56px!important}
}


/* V15.13 — Navigazione unificata + Lavora con noi */
.imv15-nav a.is-active{
  color:var(--im15-green)!important;
  -webkit-text-fill-color:var(--im15-green)!important;
  box-shadow:var(--im15-inset)!important;
}
@media (min-width:901px){
  body.imv15-interior #imv15GlobalHeader .imv15-nav > .imv15-shell{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    align-items:center!important;
    gap:8px!important;
    overflow:visible!important;
  }
  body.imv15-interior #imv15GlobalHeader .imv15-nav a{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
@media (max-width:900px){
  body.imv15-interior #imv15GlobalHeader .imv15-nav > .imv15-shell{display:flex!important;justify-content:flex-start!important;overflow-x:auto!important}
}


/* ============================================================
   V15.19 — CATALOGO: 1 MOBILE / 2 TABLET / MAX 3 DESKTOP
   + containment per ridurre il costo del rendering iniziale
   ============================================================ */
body.imv151-catalog .imv151-catalog-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
body.imv151-catalog .imv151-catalog-card{
  content-visibility:auto!important;
  contain:layout paint style!important;
  contain-intrinsic-size:430px!important;
}
@media(max-width:1100px){
  body.imv151-catalog .imv151-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  body.imv151-catalog .imv151-catalog-grid{grid-template-columns:1fr!important;gap:18px!important}
  body.imv151-catalog .imv151-catalog-card{contain-intrinsic-size:470px!important}
}
