/* USI UX: nav, carousel cards, responsive polish */

/* ---- Icons ---- */
.usi-icon{display:inline-flex;width:1em;height:1em;vertical-align:-.125em;line-height:0}
.usi-icon svg{width:100%;height:100%;display:block;fill:currentColor}
.header-links .usi-icon{margin-right:.35em}
.newsletter-follow a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px}
.newsletter-follow .usi-icon{width:18px;height:18px}
.cta-btn .usi-icon{margin-left:.25em;width:14px;height:14px}
.dropdown-toggle .usi-icon{width:12px;height:12px;margin-left:4px;vertical-align:middle}

/* ---- Logo + header: restore larger branding ---- */
#header{
  padding:22px 0 18px !important;
}
#header > .container > .row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
.header-logo{
  float:none !important;
}
.header-logo .logo{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
}
.header-logo .logo img{
  display:block !important;
  width:auto !important;
  max-width:130px !important;
  height:110px !important;
  object-fit:contain !important;
}
.header-logo .logo .site-title,
.header-logo .logo h1.site-title{
  display:block;
  margin:0;
  font-size:30px;
  font-weight:700;
  line-height:1.15;
  color:#2B2D42;
  max-width:11em;
}
.header-search{padding:8px 0 !important}
@media (max-width:991px){
  #header{padding:14px 0 10px !important}
  #header > .container > .row{display:block}
  .header-logo .logo{justify-content:center;padding-right:48px;padding-left:48px}
  .header-logo .logo img{height:88px !important;max-width:104px !important}
  .header-logo .logo .site-title,
  .header-logo .logo h1.site-title{font-size:22px;text-align:center}
}
@media (max-width:767px){
  .header-logo .logo .site-title,
  .header-logo .logo h1.site-title{display:none}
  .header-logo .logo img{height:72px !important;max-width:88px !important}
}

/* Section brand logos (Samsung etc.) */
.section-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.section-title .title{margin:0;float:none !important}
.section-brand-logo{
  display:inline-block !important;
  width:auto !important;
  max-width:180px !important;
  height:56px !important;
  object-fit:contain !important;
  vertical-align:middle;
}

/* Header search: prevent overflow */
@media only screen and (min-width:992px){
  .header-search form{
    display:flex;
    align-items:stretch;
    max-width:100%;
  }
  .header-search form .input{
    flex:1 1 auto;
    width:auto !important;
    min-width:0;
    border-radius:40px 0 0 40px !important;
  }
  .header-search form .search-btn{
    flex:0 0 90px;
    width:90px !important;
    border-radius:0 40px 40px 0 !important;
  }
}
.usi-search-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin-top:10px;
}
.usi-search-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  font-size:13px;
  font-weight:600;
  color:#365c83 !important;
  background:#eef3f8;
  border:1px solid #d5e0ea;
  border-radius:999px;
  text-decoration:none !important;
  line-height:1.2;
}
.usi-search-chip:hover,
.usi-search-chip:focus{
  background:#365c83;
  color:#fff !important;
  border-color:#365c83;
}
.payload{display:none !important}
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important;
}

/* Page content: clearer hierarchy */
.usi-page-content strong,
#store article p > strong:first-child{
  display:inline-block;
  margin-top:.85em;
  font-size:1.05em;
  letter-spacing:.02em;
}
#store.col-md-9{padding-left:24px}
#aside{padding-right:8px}
.image_aside{
  background:#f5f6f8;
  border-radius:6px;
  overflow:hidden;
  padding:8px;
}

/* ---- Menu toggle: ALWAYS hide on desktop ---- */
.menu-toggle{
  display:none !important;
  clear:both;
  padding:0;
}
.usi-menu-btn{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  margin:0;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:10px;
  color:#FFF !important;
  line-height:0;
}
.usi-menu-btn:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}
.usi-menu-btn .usi-icon{width:24px;height:24px;color:#FFF}
.usi-nav-sheet-head{display:none}
.usi-nav-close{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  cursor:pointer;
  line-height:0;
  padding:0;
}
.usi-nav-close .usi-icon{width:22px;height:22px}

@media only screen and (max-width:991px){
  #header .row{position:relative}
  .menu-toggle{
    display:block !important;
    position:absolute;
    top:4px;
    right:4px;
    z-index:60;
    float:none;
    width:auto;
    text-align:right;
    padding:0;
    clear:none;
  }
  .usi-menu-btn{
    background:rgba(0,0,0,.18);
  }
  .usi-menu-btn:active{
    background:rgba(0,0,0,.28);
  }
  #navigation{
    border-bottom:0;
    border-top:0;
    min-height:0;
    height:0;
    padding:0;
    overflow:visible;
    background:transparent;
  }
  #navigation > .container{padding:0}
  #responsive-nav{
    position:fixed;
    left:0;top:0;
    background:#15161D;
    height:100vh;
    height:100dvh;
    max-width:min(320px,86vw);
    width:100%;
    overflow:auto;
    z-index:1000;
    padding:0 0 calc(24px + env(safe-area-inset-bottom,0px));
    padding-top:env(safe-area-inset-top,0px);
    transform:translateX(-110%);
    transition:transform .22s ease;
    -webkit-overflow-scrolling:touch;
    box-shadow:4px 0 24px rgba(0,0,0,.35);
  }
  #responsive-nav.active{transform:translateX(0)}
  .usi-nav-sheet-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    position:sticky;
    top:0;
    z-index:2;
    padding:10px 10px 10px 20px;
    background:#15161D;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .usi-nav-sheet-title{
    color:#fff;
    font-weight:700;
    font-size:15px;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .main-nav{margin:0;float:none}
  .main-nav>li{display:block;float:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .main-nav>li>a{color:#fff;padding:14px 20px;font-size:16px}
  .main-nav>li>a:after{display:none}
  .dropdown.open > .dropdown-menu,
  .dropdown.open > .sub-menu{
    display:block;
    position:static;
    float:none;
    width:100%;
    background:#1b1c24;
    border:0;
    box-shadow:none;
    max-height:240px;
    overflow:auto;
  }
  .usi-nav-backdrop{
    position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999;
  }
  html.usi-nav-open,html.usi-nav-open body{overflow:hidden}
  .payload{display:none}
}

@media only screen and (min-width:992px){
  .dropdown.open > .dropdown-menu,
  .dropdown.open > .sub-menu{display:block}

  /* Larger sticky nav */
  #navigation{
    position:sticky;
    top:0;
    z-index:200;
    background:#fff;
    box-shadow:0 1px 0 rgba(0,0,0,.06);
  }
  .main-nav{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0 6px;
  }
  .main-nav > li{
    float:none !important;
    margin:0 !important;
  }
  .main-nav > li + li{margin-left:0 !important}
  .main-nav > li > a{
    font-size:16px !important;
    font-weight:600;
    letter-spacing:.01em;
    padding:18px 14px !important;
    color:#2B2D42;
  }
  .main-nav > li > a:hover,
  .main-nav > li > a:focus,
  .main-nav > li.current-menu-item > a,
  .main-nav > li.active > a{
    color:#365c83 !important;
  }
  .main-nav > li > a:focus-visible{
    outline:2px solid #365c83;
    outline-offset:2px;
  }

  /* Marche A–Z megamenu */
  .menu-item .usi-marche-menu.dropdown-menu,
  .dropdown .usi-marche-menu{
    display:none;
    width:min(720px, calc(100vw - 48px));
    max-width:720px;
    padding:16px;
    left:0;
    right:auto;
    border:1px solid #E4E7ED;
    border-radius:8px;
    box-shadow:0 12px 32px rgba(23,32,48,.14);
    background:#fff;
    height:auto !important;
    overflow:visible !important;
  }
  .dropdown.open > .usi-marche-menu{display:block}
}
.usi-marche-toolbar{margin-bottom:12px}
.usi-marche-filter{
  width:100%;
  height:40px;
  border:1px solid #D5DBE3;
  border-radius:6px;
  padding:0 12px;
  font-size:14px;
}
.usi-marche-az{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-bottom:12px;
}
.usi-marche-letter{
  min-width:34px;
  height:34px;
  padding:0 8px;
  border:1px solid #E4E7ED;
  border-radius:6px;
  background:#f7f8fa;
  color:#2B2D42;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  line-height:1;
}
.usi-marche-letter:hover,
.usi-marche-letter:focus,
.usi-marche-letter.is-active{
  background:#365c83;
  border-color:#365c83;
  color:#fff;
  outline:none;
}
.usi-marche-panels{
  border-top:1px solid #EEF0F4;
  padding-top:12px;
  min-height:120px;
  max-height:280px;
  overflow:auto;
}
.usi-marche-panel[hidden]{display:none !important}
.usi-marche-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:2px 12px;
}
.usi-marche-list a{
  display:block;
  padding:6px 4px;
  color:#2B2D42;
  font-size:14px;
  text-decoration:none;
}
.usi-marche-list a:hover,
.usi-marche-list a:focus{
  color:#365c83;
  text-decoration:underline;
}
.usi-marche-filtering .usi-marche-az{opacity:.45;pointer-events:none}

/* Top bar contrast */
#top-header{
  background:#15161D !important;
}
#top-header .header-links a,
#top-header .header-links span{
  color:#F4F6F8 !important;
  opacity:1 !important;
}
#top-header .header-links a:hover{color:#9fcef5 !important}
.usi-toplink{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.usi-toplink__short{display:none}
.usi-toplink .usi-icon{width:14px;height:14px;flex:0 0 auto}

/* Breadcrumb / page title spacing */
#breadcrumb{
  padding:20px 0 16px !important;
  margin-bottom:8px;
}
#breadcrumb .breadcrumb-header{
  margin:0 0 6px;
  font-size:26px;
  line-height:1.25;
}
.breadcrumb-tree{margin:0;padding:0;overflow:auto;white-space:nowrap}
#store{padding-top:8px}

/* Product inquiry CTA / buy box */
.woocommerce div.product form.cart{
  display:none !important; /* showroom: cart button already hidden in style.css */
}
.usi-product-buybox{
  margin:4px 0 18px;
  padding:18px 18px 16px;
  background:#f5f7fa;
  border:1px solid #E4E7ED;
  border-radius:10px;
}
.usi-product-stock{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  font-size:14px;
  color:#374151;
}
.usi-product-stock--in{color:#166534}
.usi-product-stock--out{color:#9a3412}
.usi-product-stock__dot{
  width:8px;height:8px;border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.2);
  flex:0 0 auto;
}
.usi-product-cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:stretch;
}
.usi-product-cta__wa--primary,
.usi-product-cta__primary,
.usi-product-cta__call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 18px;
  border-radius:6px;
  font-weight:700;
  font-size:15px;
  text-decoration:none !important;
  line-height:1.2;
  margin:0 !important;
}
.usi-product-cta__wa--primary{
  flex:1 1 220px;
  background:#25D366 !important;
  color:#fff !important;
  border:0 !important;
}
.usi-product-cta__wa--primary:hover{background:#1ebe57 !important;color:#fff !important}
.usi-product-cta__wa--primary .usi-icon{width:18px;height:18px}
.usi-product-cta__primary{
  flex:1 1 160px;
  background:#365c83 !important;
  color:#fff !important;
  border:0 !important;
}
.usi-product-cta__primary:hover{background:#2c4a69 !important}
.usi-product-cta__call{
  flex:0 1 auto;
  border:1px solid #D5DBE3;
  color:#2B2D42 !important;
  background:#fff;
  font-weight:600;
}
.usi-product-cta__call:hover{background:#eef3f8;border-color:#365c83;color:#365c83 !important}
.usi-product-buybox__hint{
  margin:12px 0 0;
  font-size:12px;
  color:#6b7280;
}

/* Sticky product CTA (mobile) + floating WhatsApp */
.usi-product-sticky{display:none}
.usi-fab-wa{
  position:fixed;
  right:16px;
  bottom:calc(16px + env(safe-area-inset-bottom,0px));
  z-index:980;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  color:#fff !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  text-decoration:none !important;
  transition:transform .15s ease, box-shadow .15s ease;
}
.usi-fab-wa:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.28);color:#fff !important}
.usi-fab-wa .usi-icon{width:28px;height:28px}
@media only screen and (max-width:767px){
  .usi-fab-wa--product{display:none}
  .usi-product-sticky{
    display:flex;
    gap:8px;
    position:fixed;
    left:0;right:0;
    bottom:0;
    z-index:990;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.96);
    border-top:1px solid #E4E7ED;
    box-shadow:0 -6px 20px rgba(0,0,0,.08);
    backdrop-filter:saturate(1.2) blur(8px);
  }
  .usi-product-sticky a{
    flex:1 1 0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    border-radius:10px;
    font-weight:700;
    font-size:15px;
    text-decoration:none !important;
  }
  .usi-product-sticky__wa{
    background:#25D366 !important;
    color:#fff !important;
  }
  .usi-product-sticky__wa .usi-icon{width:18px;height:18px}
  .usi-product-sticky__info{
    background:#365c83 !important;
    color:#fff !important;
  }
  body.single-product{padding-bottom:76px}
}

/* Product facts (meta) — same language as scheda tecnica cards */
.usi-product-facts,
.woocommerce div.product .usi-product-facts.product_meta{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:0 0 16px !important;
  padding:0 !important;
  background:transparent;
  border:0;
}
.usi-product-fact{
  background:#fff;
  border:1px solid #E4E7ED;
  border-radius:8px;
  padding:12px 14px;
  min-width:0;
}
.usi-product-fact__label{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:4px;
}
.usi-product-fact__value{
  display:block;
  font-size:14px;
  font-weight:600;
  color:#2B2D42;
  line-height:1.35;
  word-break:break-word;
}
.usi-product-fact__value a{color:#365c83;font-weight:700}

/* Share row */
.usi-share{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:4px 0 8px;
  padding-top:4px;
}
.usi-share__label{
  font-size:13px;
  font-weight:600;
  color:#6b7280;
}
.usi-share__btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border:1px solid #E4E7ED;
  border-radius:6px;
  background:#fff;
  color:#2B2D42 !important;
  font-size:13px;
  font-weight:600;
  text-decoration:none !important;
}
.usi-share__btn:hover{border-color:#365c83;color:#365c83 !important}
.usi-share__btn--wa{border-color:#b7ebc9;color:#128C7E !important}
.usi-share__btn--wa:hover{background:#25D366;border-color:#25D366;color:#fff !important}
.usi-share .usi-icon{width:16px;height:16px}

.woocommerce div.product .product_title{
  font-size:28px !important;
  line-height:1.25 !important;
  margin:0 0 8px !important;
  word-break:break-word;
}
.woocommerce div.product p.price{
  font-size:28px !important;
  color:#365c83 !important;
  margin:0 0 14px !important;
  font-weight:700;
}

/* Servizi cards */
.usi-servizi-intro{margin-bottom:24px;font-size:16px;line-height:1.6;max-width:48em}
.usi-servizi-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
  margin:8px 0 28px;
}
.usi-servizi-card{
  background:#fff;
  border:1px solid #E4E7ED;
  border-radius:10px;
  padding:22px 20px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
}
.usi-servizi-card__icon{
  width:44px;height:44px;
  border-radius:10px;
  background:#eef3f8;
  color:#365c83;
  display:inline-flex;align-items:center;justify-content:center;
}
.usi-servizi-card__icon .usi-icon{width:22px;height:22px}
.usi-servizi-card__title{
  margin:0;
  font-size:20px;
  color:#2B2D42;
}
.usi-servizi-card__body{
  flex:1;
  font-size:14px;
  line-height:1.55;
  color:#4b5563;
}
.usi-servizi-card__body p{margin:0}
.usi-servizi-card__cta{
  align-self:flex-start;
  margin-top:8px;
  font-weight:700;
  color:#365c83 !important;
  text-decoration:none !important;
}
.usi-servizi-card__cta:hover{text-decoration:underline !important}

/* Contatti panel */
.usi-contact-panel{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:24px;
  margin:0 0 28px;
  padding:20px;
  background:#f7f8fa;
  border:1px solid #E4E7ED;
  border-radius:10px;
}
.usi-contact-panel__title{margin:0 0 14px;font-size:22px}
.usi-contact-panel__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.usi-contact-panel__list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:15px;
  line-height:1.45;
  color:#2B2D42;
}
.usi-contact-panel__icon{
  flex:0 0 22px;
  width:22px;
  color:#365c83;
  display:inline-flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:2px;
}
.usi-contact-panel__icon .usi-icon,
.usi-contact-panel__list .usi-icon{width:18px;height:18px;color:#365c83}
.usi-contact-panel__list a{color:#365c83;font-weight:600}
.usi-contact-panel__maplink{margin:18px 0 0}
.usi-contact-panel__map iframe{
  width:100%;
  min-height:280px;
  height:100%;
  border:0;
  border-radius:8px;
  background:#e5e7eb;
}

/* Shared buttons */
.usi-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:6px;
  font-weight:700;
  font-size:14px;
  line-height:1.2;
  text-decoration:none !important;
  border:1px solid transparent;
  cursor:pointer;
}
.usi-btn .usi-icon{width:16px;height:16px}
.usi-btn--primary{
  background:#365c83 !important;
  color:#fff !important;
  border-color:#365c83 !important;
}
.usi-btn--primary:hover{background:#2c4a69 !important;color:#fff !important}
.usi-btn--ghost{
  background:#fff !important;
  color:#365c83 !important;
  border-color:#D5DBE3 !important;
}
.usi-btn--ghost:hover{border-color:#365c83 !important;background:#eef3f8 !important}

/* Come raggiungerci */
.usi-directions-panel{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:24px;
  align-items:stretch;
  margin:0 0 24px;
}
.usi-directions-panel__map{
  background:#eef1f5;
  border:1px solid #E4E7ED;
  border-radius:10px;
  overflow:hidden;
  min-height:360px;
}
.usi-directions-panel__map iframe{
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
  display:block;
}
.usi-directions-panel__side{
  background:#f7f8fa;
  border:1px solid #E4E7ED;
  border-radius:10px;
  padding:22px 20px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.usi-directions-panel__title{margin:0;font-size:22px;color:#2B2D42}
.usi-directions-panel__addr,
.usi-directions-panel__orari{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:0;
  font-size:15px;
  line-height:1.45;
  color:#374151;
}
.usi-directions-panel__addr .usi-icon,
.usi-directions-panel__orari .usi-icon{
  width:18px;height:18px;margin-top:2px;color:#365c83;flex:0 0 auto;
}
.usi-directions-form__label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#4b5563;
  margin-bottom:8px;
}
.usi-directions-form__row{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.usi-directions-form__input{
  width:100%;
  height:44px !important;
  border-radius:6px !important;
  border:1px solid #D5DBE3 !important;
  padding:0 12px !important;
}
.usi-directions-form__btn{
  width:100%;
  height:46px;
  border:0;
  font-size:15px;
}
.usi-directions-panel__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:4px 0 0;
}

@media only screen and (max-width:991px){
  .usi-contact-panel{grid-template-columns:1fr}
  .usi-directions-panel{grid-template-columns:1fr}
  .usi-directions-panel__map,
  .usi-directions-panel__map iframe{min-height:280px}
}

/* Footer */
.usi-footer-main{
  background:#15161D;
  color:#E5E7EB;
  padding:36px 0 24px !important;
}
.usi-footer-grid{display:flex;flex-wrap:wrap}
.usi-footer-col{margin-bottom:18px}
.usi-footer-heading{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:10px;
  letter-spacing:.02em;
}
.usi-footer-col p{margin:0 0 8px;font-size:14px;line-height:1.55;color:#C5CAD3}
.usi-footer-col a{color:#9fcef5 !important;text-decoration:none}
.usi-footer-col a:hover{text-decoration:underline}
.usi-footer-col .usi-icon{width:14px;height:14px;margin-right:4px;vertical-align:-2px}
#bottom-footer{padding:14px 0;background:#101118}
#bottom-footer .copyright{font-size:12px;line-height:1.5;opacity:.85;color:#9CA3AF}

/* Sale badge: keep fully inside the card (no clipping) */
ul.products li.product,
.products-slick .product,
.related.products ul.products li.product,
.upsells.products ul.products li.product{
  position:relative;
  overflow:visible !important;
}
span.onsale{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  margin:0 !important;
  min-height:0 !important;
  min-width:0 !important;
  width:auto !important;
  height:auto !important;
  padding:5px 10px !important;
  font-size:11px !important;
  font-weight:700;
  line-height:1.2 !important;
  border-radius:999px !important;
  background:#D10024 !important;
  color:#fff !important;
  z-index:5;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  white-space:nowrap;
  pointer-events:none;
}
li.product .product-label + .onsale,
li.product .onsale + .onsale{display:none !important}
/* Horizontal tracks: pad so badges aren't clipped by overflow-y:hidden */
.related.products ul.products,
.upsells.products ul.products,
.products-slick,
.usi-carousel__track{
  padding-top:6px !important;
  overflow-x:auto;
  overflow-y:visible;
}

@media only screen and (max-width:991px){
  .usi-servizi-grid{grid-template-columns:1fr}
  .usi-contact-panel{grid-template-columns:1fr}
  .dropdown.open > .usi-marche-menu{
    display:block;
    position:static;
    float:none;
    width:100%;
    max-width:none;
    background:#1b1c24;
    border:0;
    box-shadow:none;
    border-radius:0;
    padding:12px 16px 16px;
    height:auto !important;
    max-height:none;
    overflow:visible !important;
  }
  .usi-marche-filter{background:#fff;color:#111}
  .usi-marche-letter{
    background:#2a2b35;
    border-color:#3a3b46;
    color:#fff;
  }
  .usi-marche-letter.is-active,
  .usi-marche-letter:hover{
    background:#365c83;
    border-color:#365c83;
  }
  .usi-marche-panels{
    border-top-color:rgba(255,255,255,.08);
    max-height:220px;
  }
  .usi-marche-list{grid-template-columns:1fr 1fr}
  .usi-marche-list a{color:#e8eaed;padding:8px 4px}
  .main-nav > li > a{font-size:16px;padding:14px 20px}
  #responsive-nav{max-width:min(320px, 88vw);padding-top:56px}
}

@media only screen and (max-width:575px){
  .usi-product-cta{flex-direction:column;align-items:stretch}
  .usi-product-cta a{width:100%;justify-content:center;text-align:center}
  .usi-product-facts,
  .woocommerce div.product .usi-product-facts.product_meta{grid-template-columns:1fr}
  .usi-marche-list{grid-template-columns:1fr}
  .usi-footer-col{width:100%}
}

/* ---- Product carousel cards (replace .slick-slide rules) ---- */
.products-tabs>.tab-pane,
.products-tabs>.tab-pane.active{
  padding-bottom:40px !important;
  margin-bottom:0 !important;
  height:auto !important;
  overflow:visible !important;
}
.products-slick,
.usi-carousel__track{
  display:flex;
  gap:0;
  overflow-x:auto;
  overflow-y:visible;
  padding-top:4px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:none;
  padding:5px 0 55px;
  margin:0 -8px -20px;
  cursor:default;
}
.products-slick::-webkit-scrollbar,
.usi-carousel__track::-webkit-scrollbar{display:none}

.products-slick .product,
.usi-carousel__track > .product{
  position:relative !important;
  flex:0 0 calc(25% - 16px);
  max-width:calc(25% - 16px);
  width:calc(25% - 16px);
  box-sizing:border-box;
  margin:15px 8px !important;
  padding:18px 12px 16px !important;
  text-align:center;
  background:#fff !important;
  box-shadow:0 0 0 1px #E4E7ED;
  transition:box-shadow .2s ease;
  align-self:flex-start;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
.products-slick .product:hover,
.usi-carousel__track > .product:hover{
  box-shadow:0 0 6px 0 #E4E7ED, 0 0 0 2px #365c83;
}
.products-slick .product > a,
.usi-carousel__track > .product > a{
  display:block;
  color:inherit;
  text-decoration:none;
}

@media only screen and (max-width:991px){
  .products-slick .product,
  .usi-carousel__track > .product{flex-basis:calc(50% - 16px);max-width:calc(50% - 16px);width:calc(50% - 16px)}
}
@media only screen and (max-width:575px){
  .products-slick .product,
  .usi-carousel__track > .product{flex-basis:calc(80% - 16px);max-width:calc(80% - 16px);width:calc(80% - 16px)}
}

.products-slick .product .product-img,
.usi-carousel__track > .product .product-img{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:100% !important;
  margin:0 auto 10px;
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f7f8fa;
}
.products-slick .product .product-img img,
.usi-carousel__track > .product .product-img img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center;
  display:block !important;
}
.products-slick .product .product-body,
.usi-carousel__track > .product .product-body{
  position:relative !important;
  padding:6px 2px 0 !important;
  background:transparent !important;
  text-align:center;
  height:auto !important;
  min-height:0 !important;
  z-index:2;
  box-shadow:none;
}
.products-slick .product .product-name,
.usi-carousel__track > .product .product-name{
  font-size:13px;
  line-height:1.35;
  margin:0 0 8px;
  min-height:2.6em;
  max-height:3.9em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  word-break:break-word;
}
.products-slick .product .product-price del,
.usi-carousel__track > .product .product-price del{
  opacity:.65;
  font-size:85%;
  margin-right:4px;
}
.products-slick .product .product-price u,
.usi-carousel__track > .product .product-price u{
  text-decoration:none;
  font-weight:700;
}
.products-slick .product .product-price,
.usi-carousel__track > .product .product-price{
  position:static !important;
  margin:0 !important;
  font-size:16px !important;
  bottom:auto !important;
}

.products-slick-nav,
.usi-carousel__nav{
  position:absolute;
  right:15px;
  bottom:8px;
  z-index:10;
  display:flex;
  gap:6px;
}
.usi-carousel__btn,
.products-slick-nav button{
  border:0;
  background:#fff;
  width:32px;
  height:32px;
  border-radius:50%;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  color:#2B2D42;
}
.usi-carousel__btn:hover{background:#f5f5f5}

/* Widget columns carousel */
.products-widget-slick.usi-widget-carousel{overflow:hidden}
.usi-widget-carousel__track{display:flex;transition:transform .35s ease}
.usi-widget-carousel__track > *{flex:0 0 100%;min-width:100%}

/* Facebook embed */
.usi-fb-embed{
  max-width:450px;
  margin:0 auto;
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  min-height:395px;
  box-shadow:0 0 0 1px #E4E7ED;
}
.usi-fb-embed iframe{
  display:block;
  width:100%;
  max-width:450px;
  height:395px;
  border:0;
}

/* Social widgets row (home + chi siamo) */
.usi-social-widgets,
.usi-social-block__widgets{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:stretch;
  max-width:960px;
  margin:0 auto;
}
.usi-home-social{
  background:transparent !important;
  padding:8px 0 !important;
  text-align:left !important;
}
#hot-deal .section-title{
  margin-bottom:18px;
}
#hot-deal .section-title .title{
  text-transform:uppercase;
  font-size:24px;
  line-height:1.2;
}
.usi-social-widget .usi-fb-embed{
  max-width:100%;
  margin:0;
  height:100%;
  min-height:420px;
}
.usi-social-widget .usi-fb-embed iframe{
  max-width:100%;
  height:420px;
}

/* YouTube feed (latest videos) */
.usi-yt-feed{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:420px;
  background:#fff;
  border:1px solid #E4E7ED;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 0 0 1px #E4E7ED;
}
.usi-yt-feed__head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:#0f0f0f;
  color:#fff;
}
.usi-yt-feed__brand{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:8px;
  background:#FF0000;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.usi-yt-feed__brand .usi-icon{width:18px;height:18px;display:block}
.usi-yt-feed__brand .usi-icon svg{width:100%;height:100%;display:block}
.usi-yt-feed__meta{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.usi-yt-feed__meta strong{
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  margin:0 !important;
  color:#fff;
}
.usi-yt-feed__meta span{
  font-size:12px;
  color:rgba(255,255,255,.72);
}
.usi-yt-feed__cta{
  flex:0 0 auto;
  font-size:12px;
  font-weight:700;
  color:#fff !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  padding:5px 10px;
  line-height:1.2;
}
.usi-yt-feed__cta:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.usi-yt-feed__player{
  position:relative;
  aspect-ratio:16 / 9;
  background:#000;
}
.usi-yt-feed__player iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  position:absolute;
  inset:0;
}
.usi-yt-feed__list{
  list-style:none;
  margin:0;
  padding:0;
  overflow-y:auto;
  flex:1 1 auto;
  max-height:180px;
  background:#fff;
}
.usi-yt-feed__list li{margin:0;border-top:1px solid #EEF0F4}
.usi-yt-feed__item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:8px 10px;
  border:0;
  background:#fff;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
}
.usi-yt-feed__item:hover{background:#f7f8fa}
.usi-yt-feed__item.is-active{
  background:#f3f6fa;
  box-shadow:inset 3px 0 0 #FF0000;
}
.usi-yt-feed__thumb{
  flex:0 0 96px;
  width:96px;
  height:54px;
  border-radius:4px;
  overflow:hidden;
  background:#111;
  position:relative;
}
.usi-yt-feed__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.usi-yt-feed__info{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.usi-yt-feed__title{
  font-size:13px;
  font-weight:600;
  color:#2B2D42;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.usi-yt-feed__date{
  font-size:11px;
  color:#8D99AE;
}
.usi-yt-feed__empty{
  margin:0;
  padding:24px 16px;
  text-align:center;
  font-size:14px;
}
.usi-yt-feed__empty a{color:#365c83;font-weight:600}

/* Chi siamo — social */
.usi-social-block{
  margin:36px 0 8px;
  padding:24px 0 0;
  border-top:1px solid #E4E7ED;
}
.usi-social-block__title{
  margin:0 0 8px;
  font-size:24px;
  color:#2B2D42;
  line-height:1.25;
}
.usi-social-block__lead{
  margin:0 0 18px !important;
  max-width:40rem;
  color:#5c6578;
  font-size:15px;
}
.usi-social-block__links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0 0 22px;
  max-width:640px;
}
.usi-social-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid #E4E7ED;
  border-radius:10px;
  background:#fff;
  text-decoration:none !important;
  color:inherit !important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.usi-social-card:hover{
  border-color:#365c83;
  box-shadow:0 2px 10px rgba(54,92,131,.12);
}
.usi-social-card__icon{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.usi-social-card--fb .usi-social-card__icon{background:#1877F2}
.usi-social-card--yt .usi-social-card__icon{background:#FF0000}
.usi-social-card__icon .usi-icon{width:20px;height:20px;display:block}
.usi-social-card__icon .usi-icon svg{width:100%;height:100%;display:block}
.usi-social-card__body{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.usi-social-card__body strong{
  font-size:15px;
  color:#2B2D42;
  margin:0 !important;
}
.usi-social-card__body span{
  font-size:13px;
  color:#6b7280;
  line-height:1.35;
}
/* Chi siamo: wider text, compact side image */
.usi-static-layout--chi-siamo{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 220px;
  gap:28px 36px;
  align-items:start;
  margin-left:0 !important;
  margin-right:0 !important;
}
.usi-static-layout--chi-siamo > #store{
  order:1;
  width:auto !important;
  max-width:none !important;
  float:none !important;
  padding:0 !important;
}
.usi-static-layout--chi-siamo > #aside{
  order:2;
  width:auto !important;
  max-width:220px;
  float:none !important;
  padding:0 !important;
  margin:0;
}
.usi-static-layout--chi-siamo .image_aside{
  position:sticky;
  top:88px;
  padding:6px;
}
.usi-static-layout--chi-siamo #aside img,
.usi-static-layout--chi-siamo .image_aside img{
  max-height:320px !important;
  height:auto !important;
  width:100% !important;
  object-fit:cover !important;
  margin:0 !important;
}
.usi-static-section--chi-siamo #store article p,
.usi-static-layout--chi-siamo .usi-page-content p{
  max-width:none;
}
.usi-social-block--cards{
  margin-top:28px;
  padding-top:20px;
}
.usi-social-block--cards .usi-social-block__links{
  max-width:560px;
}
@media only screen and (max-width:991px){
  .usi-social-widgets,
  .usi-social-block__widgets{grid-template-columns:1fr;max-width:450px}
  .usi-social-block__links{grid-template-columns:1fr}
  .usi-yt-feed{min-height:0}
  .usi-yt-feed__list{max-height:220px}
  .usi-static-layout--chi-siamo{
    grid-template-columns:1fr;
  }
  .usi-static-layout--chi-siamo > #aside{
    max-width:240px;
    margin:20px auto 0;
  }
  .usi-static-layout--chi-siamo .image_aside{position:static}
}

/* Static pages: content first on mobile, compact aside image */
@media only screen and (max-width:991px){
  .usi-static-layout,
  .usi-static-layout--has-aside{
    display:flex;
    flex-direction:column;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .usi-static-layout > #store,
  .usi-static-layout--has-aside > #store{
    order:1;
    width:100% !important;
    max-width:100% !important;
    float:none;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .usi-static-layout--has-aside > #aside{
    order:2;
    width:100% !important;
    max-width:280px;
    margin:24px auto 0;
    float:none;
    padding:0 !important;
  }
  .usi-static-layout--has-aside .image_aside{
    padding:6px;
  }
  .usi-static-layout--has-aside #aside img,
  .usi-static-layout--has-aside .image_aside img{
    max-height:160px !important;
    width:100% !important;
    height:160px !important;
    object-fit:cover !important;
    object-position:center;
    margin:0 !important;
  }
  .usi-static-section{padding-top:20px;padding-bottom:32px}
  #store h1{font-size:24px;margin:0 0 14px;line-height:1.25}
  .usi-page-content p,
  #store article p{font-size:15px;line-height:1.65}
  #store.col-md-9{padding-left:0 !important}
}

/* Contact form */
.usi-contact-form{
  max-width:560px;
  margin:8px 0 24px;
}
.usi-contact-form label{
  display:block !important;
  margin:0 0 14px !important;
  font-weight:600;
  color:#2B2D42;
  font-size:14px;
  line-height:1.4;
}
.usi-contact-form .input,
.usi-contact-form select.input,
.usi-contact-form textarea.input{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:6px;
  box-sizing:border-box;
  border-radius:4px;
  font-family:inherit;
  font-size:14px;
  font-weight:400;
  color:#2B2D42;
}
.usi-contact-form select.input{
  appearance:auto;
  height:40px;
  padding:0 12px;
  background:#fff;
}
.usi-contact-form textarea.input{
  height:auto;
  min-height:120px;
  resize:vertical;
}
.usi-contact-form .usi-hp{position:absolute;left:-9999px;height:0;width:0;opacity:0;pointer-events:none}
.usi-contact-form button.button,
.usi-contact-form button[type="submit"]{
  display:inline-block;
  border:0;
  background:#365c83;
  color:#fff !important;
  font-weight:700;
  font-size:14px;
  text-transform:uppercase;
  padding:12px 28px;
  border-radius:4px;
  cursor:pointer;
  margin-top:4px;
  line-height:1.2;
}
.usi-contact-form button.button:hover{background:#2a4a6b;color:#fff}
.usi-contact-msg{margin-top:12px;font-weight:600}
.usi-contact-msg.is-error{color:#b42318}
.usi-contact-msg.is-ok{color:#027a48}

/* Page content typography */
.usi-page-content,
#store article,
#store .post{
  font-size:15px;
  line-height:1.65;
  color:#2B2D42;
}
.usi-page-content p,
#store article p{
  margin:0 0 1em;
  max-width:48rem;
}
.usi-page-content strong,
#store article strong{
  color:#1e1f29;
}
.image_aside img,
#aside .image_aside img,
#aside img{
  max-width:100% !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  display:block;
  margin:0 auto 16px;
  border-radius:4px;
}

/* Product widgets: no stretch */
.product-widget{
  min-height:70px;
  margin-bottom:20px;
}
.product-widget .product-img{
  width:60px !important;
  height:60px !important;
  overflow:hidden;
}
.product-widget .product-img img,
.product-widget .product-img > img{
  width:100% !important;
  height:100% !important;
  max-height:60px !important;
  object-fit:contain !important;
  display:block !important;
}
.product-widget .product-body{
  position:relative;
  padding-left:75px;
  min-height:70px;
  padding-bottom:28px;
}
.product-widget .product-price{
  position:absolute !important;
  bottom:0 !important;
  left:75px;
  margin:0 !important;
}

/* Hide stray qty / slick chrome if present */
.slick-arrow:not(.usi-carousel__btn){display:none !important}

/* Cookie notice */
#usi-cookie{position:fixed;z-index:99999;left:12px;right:12px;bottom:12px;max-width:520px;margin:auto;background:#1f2933;color:#fff;padding:14px 16px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);font:14px/1.45 system-ui,sans-serif;display:flex;gap:12px;align-items:center}
#usi-cookie[hidden]{display:none!important}
#usi-cookie p{margin:0;flex:1}
#usi-cookie a{color:#9fcef5}
#usi-cookie button{border:0;background:#2bb673;color:#fff;font-weight:700;padding:8px 14px;border-radius:6px;cursor:pointer;white-space:nowrap}

/* Newsletter polish */
.newsletter{text-align:center}
.newsletter form{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:0;
  max-width:520px;
  width:100%;
  margin:0 auto 12px;
  position:relative;
}
.newsletter form:after{display:none !important;content:none !important}
.newsletter form .input{
  flex:1 1 auto;
  width:auto !important;
  min-width:0;
  max-width:none !important;
  margin:0 !important;
  border-radius:40px 0 0 40px !important;
  height:44px;
  box-sizing:border-box;
}
.newsletter-btn,
.newsletter form .newsletter-btn{
  flex:0 0 auto;
  width:auto !important;
  min-width:140px;
  border-radius:0 40px 40px 0 !important;
  height:44px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0 !important;
}
.newsletter .tnp-privacy-field{
  width:100%;
  margin:10px 0 0;
  font-weight:400 !important;
  font-size:13px;
  color:#5a5a6e;
  text-align:center;
}
.newsletter-follow{
  display:flex;
  justify-content:center;
  gap:10px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.newsletter-follow li{margin:0 !important}
.newsletter-follow a{
  background:#fff;
  border:1px solid #E4E7ED;
  border-radius:50%;
  width:40px;
  height:40px;
}

#bottom-footer{padding:18px 0}
#bottom-footer .copyright{font-size:13px;line-height:1.5;opacity:.9}

/* Top header: don't clip address */
#top-header .header-links{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
#top-header .header-links li{margin:0 !important}

/* Shop tiles */
.shop .shop-img img{width:100%;height:auto;display:block;object-fit:cover}

/* Store / archive product grid */
ul.products{display:flex;flex-wrap:wrap;margin:0 -10px;padding:0;list-style:none}
ul.products li.product{
  width:25%;
  box-sizing:border-box;
  padding:20px 15px !important;
  margin:10px !important;
  height:auto !important;
  min-height:320px;
  background:#fff;
}
ul.products li.product .product-price{position:static !important;margin-top:12px}
ul.products li.product img{max-width:100%;height:auto;object-fit:contain;max-height:180px;margin:0 auto 12px;display:block}

@media only screen and (max-width:991px){
  ul.products li.product{width:calc(50% - 20px)}
}
@media only screen and (max-width:575px){
  ul.products li.product{width:calc(100% - 20px);min-height:0}
}

/* ========== Single product page ========== */
.usi-product-section{padding-top:20px;padding-bottom:40px}
.woocommerce div.product{
  display:grid;
  grid-template-columns:minmax(280px, 1fr) minmax(300px, 1.15fr);
  column-gap:40px;
  row-gap:28px;
  max-width:100%;
  overflow:visible;
  align-items:start;
}
.woocommerce div.product::after,
.woocommerce div.product::before{display:none !important;content:none !important}

.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  position:relative;
  opacity:1 !important;
}
.woocommerce div.product div.summary{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  padding:4px 0 0 !important;
  box-sizing:border-box;
}
.woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs,
.related.products,
.upsells.products{
  grid-column:1 / -1;
  width:100%;
  clear:none;
  float:none;
}

/* Gallery: main + thumbs */
.woocommerce div.product .woocommerce-product-gallery__wrapper{
  margin:0;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image{
  margin:0;
  background:#f7f8fa;
  border:1px solid #E4E7ED;
}
.woocommerce div.product .woocommerce-product-gallery__image a{
  display:block;
  cursor:zoom-in;
}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .wp-post-image{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:480px;
  object-fit:contain !important;
  display:block;
  margin:0 auto;
  background:#f7f8fa;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 0 !important;
  padding:0 !important;
  list-style:none;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{
  float:none !important;
  width:72px !important;
  margin:0 !important;
  padding:0;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{
  width:100%;
  height:72px;
  object-fit:contain;
  border:1px solid #E4E7ED;
  background:#fff;
  opacity:.75;
  cursor:pointer;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover{
  opacity:1;
  border-color:#365c83;
}
.woocommerce div.product .woocommerce-product-gallery__trigger{
  position:absolute;
  top:12px;
  right:12px;
  z-index:9;
  width:36px;
  height:36px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  text-indent:-9999px;
  overflow:hidden;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::before{
  content:"";
  position:absolute;
  inset:9px;
  border:2px solid #365c83;
  border-radius:50%;
  box-sizing:border-box;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::after{
  content:"";
  position:absolute;
  width:8px;
  height:2px;
  background:#365c83;
  right:8px;
  bottom:10px;
  transform:rotate(45deg);
}

.woocommerce div.product .product_title{
  font-size:28px !important;
  line-height:1.25 !important;
  margin:0 0 12px !important;
  word-break:break-word;
}
.woocommerce div.product p.price{
  font-size:26px !important;
  color:#365c83 !important;
  margin:0 0 14px !important;
}
.woocommerce div.product .stock{
  font-size:14px;
  line-height:1.55;
  color:#555;
}
.woocommerce div.product .product_meta:not(.usi-product-facts){
  font-size:14px;
  line-height:1.55;
  color:#555;
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
}
.woocommerce div.product .product_meta a{color:#365c83}
.woocommerce div.product .button-richiedi-info,
.woocommerce div.product a.button:not(.usi-product-cta__wa--primary):not(.usi-share__btn),
.woocommerce div.product button.single_add_to_cart_button{
  background:#365c83 !important;
  color:#fff !important;
  border:0 !important;
  padding:12px 22px !important;
  font-weight:700;
  border-radius:4px;
  display:inline-block;
  margin-top:12px;
}

/* Tabs */
.woocommerce-tabs{padding-top:8px;border-top:1px solid #E4E7ED}
.woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0 0 20px !important;
  padding:0 !important;
  list-style:none;
  border-bottom:1px solid #E4E7ED;
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after{display:none !important}
.woocommerce-tabs ul.tabs li{
  border:0 !important;
  background:transparent !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.woocommerce-tabs ul.tabs li a{
  display:block;
  padding:12px 18px !important;
  font-weight:600;
  color:#555 !important;
  border-bottom:3px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{
  color:#365c83 !important;
  border-bottom-color:#365c83;
}
.woocommerce-Tabs-panel{
  padding:4px 0 8px !important;
  overflow:visible !important;
}
.woocommerce-Tabs-panel > h2{display:none !important}
.woocommerce-Tabs-panel iframe{
  max-width:100%;
  width:100% !important;
  height:auto;
  aspect-ratio:16/9;
}

/* ---- Punti Forza (distributor HTML) ---- */
#PuntiForza{
  margin:0 0 24px !important;
  max-width:100%;
  width:100% !important;
}
#PuntiForza.row{
  margin-left:0 !important;
  margin-right:0 !important;
  display:block;
}
#PuntiForza .col-md-12{
  width:100% !important;
  float:none !important;
  padding:0 !important;
  margin:0 !important;
}
#PuntiForza .container-edged-dark{
  background:#f4f7fb;
  border:1px solid #E4E7ED;
  border-left:4px solid #365c83;
  padding:16px 18px 18px;
  box-sizing:border-box;
}
#PuntiForza h2{
  display:block !important;
  font-size:16px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#365c83 !important;
  margin:0 0 14px !important;
  padding:0 !important;
  border:0 !important;
}
#PuntiForza ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 14px;
}
#PuntiForza li{
  position:relative;
  display:block !important;
  margin:0 !important;
  padding:11px 14px 11px 30px !important;
  background:#fff;
  border:1px solid #E4E7ED;
  font-size:14px;
  line-height:1.45;
  color:#2B2D42;
  box-sizing:border-box;
}
#PuntiForza li::before{
  content:"";
  position:absolute;
  left:12px;
  top:16px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#365c83;
}

/* Scheda tecnica (#Quickinfo from distributor HTML) */
#Quickinfo{
  margin:0 !important;
  max-width:100%;
  width:100% !important;
  overflow:visible;
  box-sizing:border-box;
}
#Quickinfo.row,
#Quickinfo .row{
  margin-left:0 !important;
  margin-right:0 !important;
  display:block;
  width:100% !important;
  max-width:100%;
}
#Quickinfo > div{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#Quickinfo [data-masonry],
#Quickinfo > div > div{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px 24px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#Quickinfo .raggruppamento,
#Quickinfo [class*="col-12"]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  left:auto !important;
  position:relative !important;
  box-sizing:border-box;
}
#Quickinfo .item-quick,
#Quickinfo .container-edged-light{
  background:#fff;
  border:1px solid #E4E7ED;
  padding:16px 18px 8px;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  overflow:hidden;
}
#Quickinfo .container-edged-light h3{
  font-size:15px !important;
  font-weight:700 !important;
  color:#365c83 !important;
  margin:0 0 8px !important;
}
#Quickinfo .container-edged-light ul{list-style:none;margin:0;padding:0}
#Quickinfo .container-edged-light li{
  display:block !important;
  padding:4px 0 !important;
  border:0 !important;
  font-size:14px;
  color:#555;
}
#Quickinfo .item-quick h3{
  font-size:15px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#365c83 !important;
  margin:0 0 12px !important;
  padding:0 0 10px !important;
  border-bottom:1px solid #E4E7ED;
  letter-spacing:.02em;
}
#Quickinfo ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
#Quickinfo li{
  display:grid !important;
  grid-template-columns:minmax(0, 44%) minmax(0, 1fr);
  gap:6px 12px;
  align-items:start;
  padding:9px 0 !important;
  margin:0 !important;
  border-bottom:1px solid #f0f2f5;
  font-size:14px;
  line-height:1.4;
  list-style:none !important;
}
#Quickinfo li:last-child{border-bottom:0}
#Quickinfo li label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:600 !important;
  color:#2B2D42 !important;
  width:auto !important;
  max-width:100%;
  float:none !important;
  overflow-wrap:anywhere;
  word-break:break-word;
}
#Quickinfo li span,
#Quickinfo li > *:not(label){
  display:block !important;
  color:#555 !important;
  margin:0 !important;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Kill Bootstrap .row clearfix — they become ghost CSS-grid items */
#PuntiForza.row::before,
#PuntiForza.row::after,
#Quickinfo.row::before,
#Quickinfo.row::after,
#Garanzie.row::before,
#Garanzie.row::after,
.woocommerce-Tabs-panel .row::before,
.woocommerce-Tabs-panel .row::after{
  display:none !important;
  content:none !important;
}

/* Garanzie block (same distributor pack as Quickinfo) */
#Garanzie{
  margin:20px 0 0 !important;
  max-width:100%;
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}
#Garanzie.row{
  margin-left:0 !important;
  margin-right:0 !important;
}
#Garanzie .col-md-4,
#Garanzie [class*="col-md"]{
  width:100% !important;
  float:none !important;
  padding:0 !important;
  margin:0 !important;
  min-width:0;
  clear:none !important;
}
#Garanzie .container-edged-light{
  height:100%;
  margin:0;
  background:#fff;
  border:1px solid #E4E7ED;
  padding:16px 18px 12px;
  box-sizing:border-box;
}
#Garanzie .container-edged-light h3{
  font-size:15px !important;
  font-weight:700 !important;
  color:#365c83 !important;
  margin:0 0 8px !important;
}
#Garanzie .container-edged-light ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
#Garanzie .container-edged-light li{
  display:block !important;
  padding:0 !important;
  border:0 !important;
  font-size:14px;
  color:#555;
}

/* Neutralize leftover distributor/eyeAble font hacks */
.woocommerce-Tabs-panel .eyeAtext,
.woocommerce-Tabs-panel .eyeAtP{
  font-size:inherit !important;
  line-height:inherit !important;
  width:auto !important;
  max-width:100% !important;
  transform:none !important;
}

/* ---- Icecat datasheets (~19 products) ---- */
.woocommerce-Tabs-panel .-icecat-col-left,
.woocommerce-Tabs-panel .-icecat-col-right{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
}
.woocommerce-Tabs-panel .-icecat-feature-group{
  background:#fff;
  border:1px solid #E4E7ED;
  margin:0 0 16px;
  overflow:hidden;
}
.woocommerce-Tabs-panel .-icecat-tableRowHead,
.woocommerce-Tabs-panel .-icecat-tableRowHead.-title{
  background:#f4f7fb;
  padding:11px 16px;
  font-size:15px;
  font-weight:700;
  color:#365c83;
  border-bottom:1px solid #E4E7ED;
}
.woocommerce-Tabs-panel .-icecat-tableRow{
  display:grid;
  grid-template-columns:minmax(0, 42%) minmax(0, 1fr);
  gap:8px 16px;
  padding:10px 16px;
  border-bottom:1px solid #f0f2f5;
  align-items:start;
}
.woocommerce-Tabs-panel .-icecat-tableRow:last-child{border-bottom:0}
.woocommerce-Tabs-panel .-icecat-ds_label{
  font-weight:600;
  color:#2B2D42;
  font-size:14px;
  line-height:1.4;
}
.woocommerce-Tabs-panel .-icecat-ds_data,
.woocommerce-Tabs-panel .-icecat-ds_data.-text{
  color:#555;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.woocommerce-Tabs-panel .-icecat-tooltip-containeer,
.woocommerce-Tabs-panel .-icecat-tip-anchor::after{display:none !important}
.woocommerce-Tabs-panel .-icecat-tip-anchor{-webkit-text-fill-color:inherit}

/* ---- Amazon-like lists / tables ---- */
.woocommerce-Tabs-panel .a-unordered-list{
  list-style:none !important;
  margin:0 0 18px !important;
  padding:0 !important;
  display:grid;
  gap:10px;
}
.woocommerce-Tabs-panel .a-unordered-list > li,
.woocommerce-Tabs-panel .a-unordered-list .a-spacing-mini{
  margin:0 !important;
  padding:12px 14px 12px 28px !important;
  background:#f7f8fa;
  border-left:3px solid #365c83;
  position:relative;
  line-height:1.5;
  color:#2B2D42;
  font-size:14px;
}
.woocommerce-Tabs-panel .a-unordered-list > li::before{
  content:"";
  position:absolute;
  left:12px;
  top:18px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#365c83;
}
.woocommerce-Tabs-panel .a-list-item{display:inline;color:inherit}
.woocommerce-Tabs-panel table.a-normal,
.woocommerce-Tabs-panel table{
  width:100% !important;
  max-width:100%;
  border-collapse:collapse;
  margin:0 0 20px;
  background:#fff;
  border:1px solid #E4E7ED;
}
.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td{
  padding:10px 14px;
  border-bottom:1px solid #E4E7ED;
  text-align:left;
  vertical-align:top;
  font-size:14px;
  line-height:1.45;
}
.woocommerce-Tabs-panel table th{
  background:#f4f7fb;
  color:#365c83;
  font-weight:700;
}
.woocommerce-Tabs-panel table tr:last-child td{border-bottom:0}
.woocommerce-Tabs-panel table .a-span3,
.woocommerce-Tabs-panel table td:first-child{
  width:36%;
  font-weight:600;
  color:#2B2D42;
  white-space:normal;
}
.woocommerce-Tabs-panel img{
  max-width:100% !important;
  height:auto !important;
  display:block;
  margin:0 0 14px;
}
.woocommerce-Tabs-panel .a-section,
.woocommerce-Tabs-panel [style*="vertical-align"]{
  max-width:100%;
}

/* Generic tab prose (excerpts / mixed HTML) */
.woocommerce-Tabs-panel p{
  margin:0 0 14px;
  line-height:1.6;
  color:#444;
}
.woocommerce-Tabs-panel b,
.woocommerce-Tabs-panel strong{color:#2B2D42}
.woocommerce-Tabs-panel ul:not([class]){
  margin:0 0 16px;
  padding-left:1.2em;
  line-height:1.55;
}
.woocommerce-Tabs-panel ul:not([class]) li{margin:0 0 8px}

.related.products,
.upsells.products{
  position:relative;
  padding-top:16px;
  padding-bottom:48px;
  border-top:1px solid #E4E7ED;
  margin-top:16px;
}
.related.products > h2,
.upsells.products > h2{
  font-size:22px;
  margin:0 0 16px;
  color:#2B2D42;
}
.related.products .usi-related-nav,
.upsells.products .usi-related-nav{
  position:absolute;
  right:0;
  bottom:8px;
  z-index:10;
  display:flex;
  gap:6px;
}
.related.products ul.products,
.upsells.products ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px;
  margin:0 !important;
  padding:8px 4px 12px !important;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:none;
  list-style:none;
}
.related.products ul.products::-webkit-scrollbar,
.upsells.products ul.products::-webkit-scrollbar{display:none}
.related.products ul.products li.product,
.upsells.products ul.products li.product{
  flex:0 0 calc(25% - 12px) !important;
  width:calc(25% - 12px) !important;
  max-width:calc(25% - 12px) !important;
  float:none !important;
  margin:0 !important;
  box-sizing:border-box;
  overflow:visible !important;
  position:relative;
  padding:20px 14px 16px !important;
  height:auto !important;
}

/* Description tab readability */
.woocommerce-Tabs-panel--additional_information{
  max-width:860px;
}
.woocommerce-product-details__short-description{
  font-size:15px;
  line-height:1.65;
  color:#444;
}
.woocommerce-product-details__short-description > p{
  margin:0 0 20px;
  font-size:16px;
  line-height:1.55;
  color:#2B2D42;
}
.woocommerce-product-details__short-description ul{
  list-style:none !important;
  margin:0 0 24px !important;
  padding:0 !important;
  display:grid;
  gap:12px;
}
.woocommerce-product-details__short-description li{
  margin:0 !important;
  padding:14px 16px !important;
  background:#f7f8fa;
  border-left:3px solid #365c83;
  line-height:1.55;
}
.woocommerce-product-details__short-description .usi-desc-label{
  display:block;
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  color:#365c83;
  margin:0 0 6px;
  text-transform:uppercase;
}
.woocommerce-product-details__short-description .usi-desc-body{
  display:block;
  color:#444;
}
.woocommerce-Tabs-panel--additional_information h2:not(:first-child),
.woocommerce-product-details__short-description h2,
.woocommerce-product-details__short-description h3{
  display:block !important;
  font-size:18px !important;
  margin:28px 0 12px !important;
  color:#2B2D42 !important;
  font-weight:700;
  padding-top:8px;
  border-top:1px solid #E4E7ED;
}

@media only screen and (max-width:991px){
  .woocommerce div.product{
    grid-template-columns:1fr;
    gap:16px;
    row-gap:16px;
  }
  .woocommerce div.product .product_title{font-size:22px !important}
  .woocommerce div.product .woocommerce-product-gallery{
    overflow:hidden;
  }
  .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image{
    border:0;
    background:#f7f8fa;
  }
  /* Kill FlexSlider horizontal track on mobile */
  .woocommerce div.product .woocommerce-product-gallery__wrapper{
    width:100% !important;
    max-width:100% !important;
    transform:none !important;
    display:block !important;
    margin:0 !important;
  }
  .woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    margin:0 !important;
    display:none !important;
  }
  .woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image.flex-active-slide{
    display:block !important;
  }
  .woocommerce div.product .woocommerce-product-gallery__wrapper:not(:has(.flex-active-slide)) .woocommerce-product-gallery__image:first-child{
    display:block !important;
  }
  .woocommerce div.product .woocommerce-product-gallery__image img,
  .woocommerce div.product .wp-post-image{
    max-height:280px !important;
    width:100% !important;
    margin:0 auto !important;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:6px;
    margin-top:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{display:none}
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{
    width:56px !important;
    flex:0 0 56px !important;
    float:none !important;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{
    height:56px;
  }
  .woocommerce div.product div.summary{
    padding-top:0 !important;
  }
  .usi-product-section{padding-top:12px;padding-bottom:28px}
  .usi-product-buybox{padding:14px 14px 12px}
  #PuntiForza ul,
  #Quickinfo [data-masonry],
  #Quickinfo > div > div,
  #Garanzie,
  .woocommerce-Tabs-panel .-icecat-tableRow{grid-template-columns:1fr}
  .related.products ul.products li.product,
  .upsells.products ul.products li.product{
    flex-basis:calc(50% - 8px) !important;
    width:calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
  }
}
@media only screen and (max-width:575px){
  #Quickinfo li{grid-template-columns:1fr}
  #PuntiForza ul{grid-template-columns:1fr}
  #Garanzie{grid-template-columns:1fr}
  .related.products ul.products li.product,
  .upsells.products ul.products li.product{
    flex-basis:78% !important;
    width:78% !important;
    max-width:78% !important;
  }
}

/* Share row */
.usi-share a{display:inline-flex;align-items:center;gap:6px}

/* Single / content pages */
#store h1{font-size:28px;margin:0 0 16px;line-height:1.25}
#aside img{max-width:100%;height:auto;display:block;margin:0 auto 16px}
.button-richiedi-info{width:100%;margin-top:8px}
#breadcrumb{padding:12px 0}
.breadcrumb-tree{margin:0;padding:0;overflow:auto;white-space:nowrap}
article .entry-content img,
article img{max-width:100%;height:auto}

/* Header / gutters / product mobile */
@media only screen and (max-width:767px){
  #top-header{padding:8px 0}
  #top-header > .container{padding-left:12px !important;padding-right:12px !important}
  #top-header .header-links{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:space-between;
    align-items:center;
    gap:4px;
    width:100%;
    margin:0;
    font-size:12px;
    line-height:1.2;
  }
  #top-header .header-links li{
    display:block !important;
    margin:0 !important;
    flex:1 1 0;
    text-align:center;
  }
  #top-header .usi-toplink{
    justify-content:center;
    width:100%;
    padding:4px 2px;
    font-weight:600;
    letter-spacing:.01em;
  }
  #top-header .usi-toplink__full{display:none}
  #top-header .usi-toplink__short{display:inline}
  #top-header .usi-toplink .usi-icon{width:15px;height:15px}
  #header{padding:10px 0 6px !important}
  .header-logo{margin-bottom:4px}
  .header-logo .logo img{height:56px !important;max-width:72px !important}
  .header-search{padding:4px 0 0 !important}
  .header-search form{display:flex;flex-direction:column;gap:6px}
  .header-search form .input{width:100%;border-radius:40px !important;margin:0;height:40px}
  .header-search form .search-btn{width:100%;border-radius:40px !important;height:40px;padding:0 16px}
  .usi-search-chips{
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    padding:0;
    margin-top:6px;
  }
  .usi-search-chip{
    flex:0 0 auto;
    font-size:12px;
    padding:5px 10px;
  }
  .menu-toggle{top:0 !important;right:0 !important}
  .shop{margin-bottom:10px}
  .header-links{font-size:12px}
  .header-links li{display:inline-block;margin-right:8px}

  /* Consistent page gutters: kill Bootstrap row bleed */
  .section .container,
  .usi-static-section .container,
  .usi-product-section .container,
  #newsletter .container,
  #footer .container,
  #bottom-footer .container,
  #breadcrumb .container{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .section .row,
  .usi-static-section .row,
  .usi-product-section .row,
  #newsletter .row,
  #footer .row{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .section .row > [class*="col-"],
  .usi-static-layout > [class*="col-"],
  #footer .row > [class*="col-"]{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #store,
  #store.col-md-9,
  #store.col-md-12{
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
    float:none;
  }
  #store h1{font-size:22px;margin:0 0 14px}
  .section{padding:16px 0}
  .usi-static-section{padding-top:18px;padding-bottom:28px}
  .usi-page-content,
  #store article,
  #store .post{
    font-size:15px;
    line-height:1.65;
  }
  .usi-page-content p,
  #store article p{
    max-width:none;
    margin:0 0 0.95em;
  }

  /* Product: keep title/price nearer the first scroll */
  .usi-product-section{padding-top:8px;padding-bottom:24px}
  .woocommerce div.product{row-gap:12px;gap:12px}
  .woocommerce div.product .woocommerce-product-gallery__image img,
  .woocommerce div.product .wp-post-image{
    max-height:240px !important;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-top:6px !important;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{display:none}
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{
    width:48px !important;
    flex:0 0 48px;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{height:48px}
  .woocommerce div.product .product_title{
    font-size:20px !important;
    margin:0 0 6px !important;
  }
  .woocommerce div.product p.price{
    font-size:22px !important;
    margin:0 0 10px !important;
  }
  .woocommerce div.product .woocommerce-product-gallery__trigger{
    top:8px;
    right:8px;
    width:32px;
    height:32px;
  }
  .related.products,
  .upsells.products{
    margin-left:0;
    margin-right:0;
    padding-top:12px;
  }
  .related.products > h2,
  .upsells.products > h2{font-size:18px}

  .newsletter form{
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    max-width:100% !important;
    width:100% !important;
    gap:10px !important;
    margin:16px auto !important;
  }
  .newsletter form .input{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    border-radius:40px !important;
    height:44px !important;
  }
  .newsletter-btn,
  .newsletter form .newsletter-btn{
    width:100% !important;
    min-width:0 !important;
    border-radius:40px !important;
    height:44px !important;
    justify-content:center;
  }
  .newsletter .tnp-privacy-field{
    margin-top:4px;
    text-align:center;
  }
  .newsletter p{font-size:20px;margin:0 0 8px}
  .usi-static-layout--has-aside #aside img,
  .usi-static-layout--has-aside .image_aside img{
    max-height:140px !important;
    height:140px !important;
  }
  .usi-social-block{margin-top:24px;padding-top:18px}
  .usi-social-block__title{font-size:20px}
  .usi-social-widgets,
  .usi-social-block__widgets{max-width:100%}
  li.product{height:auto !important;min-height:0;padding:18px 12px !important}
}

@media only screen and (max-width:480px){
  #top-header .usi-toplink{font-size:11px;gap:4px}
  .section .container,
  .usi-static-section .container,
  .usi-product-section .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .woocommerce div.product .woocommerce-product-gallery__image img,
  .woocommerce div.product .wp-post-image{
    max-height:220px !important;
  }
}
