/* Zuccato Care Glow 1.1.0. Enabled by the plugin; no manual CSS replacement. */
body.zcg-active { -webkit-font-smoothing: antialiased; }
body.zcg-active .zcg-heading .heading-text > h1,
body.zcg-active .zcg-heading .heading-text > h2,
body.zcg-active .zcg-heading .heading-text > h3 { letter-spacing: -.035em; line-height: 1.13; }
body.zcg-active .zcg-eyebrow .heading-text > * { letter-spacing: .11em; line-height: 1.6; }
body.zcg-active .zcg-section .uncode_text_column { line-height: 1.7; }
body.zcg-active .zcg-section .btn,
body.zcg-active .menu-primary .btn,
body.zcg-active .menu-smart .menu-item-button a {
  letter-spacing: 0 !important; text-transform: none; border-radius: 10px !important;
  font-weight: 600; line-height: 1.35; white-space: normal;
}
body.zcg-active .zcg-button .btn { padding: 16px 24px; transition: background-color .2s, box-shadow .2s; }
body.zcg-active .zcg-button .btn:hover { box-shadow: 0 7px 18px rgba(0,91,135,.12); }
body.zcg-active .zcg-section a:focus-visible,
body.zcg-active .menu-primary a:focus-visible { outline: 3px solid #008bcb; outline-offset: 4px; }
body.zcg-active .zcg-section .uncode_text_column p a:not(.btn) { text-underline-offset: .2em; }

/* The hero's column image stays an editable native Uncode background. */
body.zcg-active .zcg-hero .hero-text-col { padding-left: 0 !important; }
body.zcg-active .zcg-hero-copy .uncode_text_column { max-width: 520px; font-size: 18px; line-height: 1.75; }
body.zcg-active .zcg-hero-copy .heading-text h1 { max-width: 620px; }
body.zcg-active .zcg-hero-photo > .uncol > .uncoltable > .uncell > .column-background,
body.zcg-active .zcg-hero-photo .column-background > .background-wrapper { border-radius: 32px 32px 96px 32px; overflow: hidden; }
body.zcg-active .zcg-hero-photo .column-background .background-inner { background-position: center center; }
body.zcg-active .zcg-hero-copy .btn-container { margin-right: 10px; }
body.zcg-active .zcg-hero-copy .btn-default:not(:hover) { color: #005b87 !important; }
body.zcg-active .zcg-hero-copy .separator { opacity: .75; }

/* Shared page heads: restrained tint and a rounded lower edge. */
body.zcg-active .zcg-pagehead { border-radius: 0 0 40px 40px; overflow: hidden; }
body.zcg-active .zcg-pagehead .heading-text { max-width: 1030px; }
body.zcg-active .zcg-pagehead .uncode_text_column { max-width: 830px; font-size: 19px; color: #4a6472; }
body.zcg-active .zcg-pagehead .heading-text h1 { letter-spacing: -.04em; }

/* Home numbers read as a slim editorial strip, not a wall of cards. */
body.zcg-active .zcg-home-row-1 { border-bottom: 1px solid #e5eef2; }
body.zcg-active .zcg-home-row-1 .heading-text > h6 { letter-spacing: .035em; line-height: 1.5; }
body.zcg-active .zcg-home-row-5 { border-radius: 32px; margin: 0 24px; }
body.zcg-active .zcg-home-row-5 .counter { font-variant-numeric: tabular-nums; }
body.zcg-active .zcg-home-row-2 .heading-text,
body.zcg-active .zcg-home-row-3 .heading-text,
body.zcg-active .zcg-home-row-4 .heading-text { max-width: 980px; }
body.zcg-active .zcg-home-row-3 .uncode_text_column { max-width: 850px; }

/* Dynamic catalog: the native query, product fields, filters and pagination stay in place. */
body.zcg-active .catalogo-prodotti .tmb .t-inside {
  border: 1px solid #dce7ec; border-radius: 22px; overflow: hidden;
  background: #fff; box-shadow: 0 6px 18px rgba(11,31,42,.035);
  transition: box-shadow .25s, border-color .25s;
}
body.zcg-active .catalogo-prodotti .t-entry-visual { border-bottom: 1px solid #edf3f6; background: #fff; }
body.zcg-active .catalogo-prodotti .t-entry-visual .t-background-cover { background-size: contain !important; }
body.zcg-active .catalogo-prodotti .t-entry-text { padding: 28px !important; }
body.zcg-active .catalogo-prodotti .t-entry-title a {
  font-family: Archivo, sans-serif; font-size: 23px; font-weight: 700;
  text-transform: none; letter-spacing: -.025em; line-height: 1.25;
}
body.zcg-active .catalogo-prodotti .t-entry-title { margin-bottom: 14px !important; }
body.zcg-active .catalogo-prodotti .t-entry-excerpt { font-size: 16px; line-height: 1.65; color: #4a6472; }
body.zcg-active .catalogo-prodotti .rischio-prodotti-card { letter-spacing: .04em; line-height: 1.5; font-size: 12px; }
body.zcg-active .catalogo-prodotti .t-entry-readmore { padding-top: 8px; }
body.zcg-active .catalogo-prodotti .t-entry-readmore .btn {
  background: #e3f1f8 !important; color: #005b87 !important; border-radius: 9px !important;
  padding: 12px 19px !important; font-size: 15px !important; letter-spacing: 0 !important;
  white-space: normal;
}
body.zcg-active .catalogo-prodotti .t-entry-readmore .btn:hover { background: #005b87 !important; color: #fff !important; }
body.zcg-active .catalogo-prodotti .t-entry-readmore .btn::after { content: " ↗"; margin-left: 8px; }
body.zcg-active .filtro-braden ul { gap: 10px; }
body.zcg-active .filtro-braden a { min-height: 46px !important; height: auto !important; padding: 12px 17px !important; font-size: 14px; line-height: 1.3; }
body.zcg-active .filtro-braden a.is-active,
body.zcg-active .filtro-braden a[aria-current="true"] { background: #e3f1f8 !important; color: #005b87 !important; }
body.zcg-active .filtro-braden a:focus-visible { outline: 3px solid #005b87 !important; outline-offset: 3px; }

/* Families carousel markup is supplied by the existing Raw HTML block. */
body.zcg-active .zc-families .zc-family-card { border-radius: 20px; box-shadow: none; padding: 30px; }
body.zcg-active .zc-families .zc-family-card h3 { font-size: 24px; letter-spacing: -.025em; }
body.zcg-active .zc-families .zc-family-card p { font-size: 16px; }
body.zcg-active .zc-families .zc-family-card__link { font-size: 15px; }
body.zcg-active .zc-families .zc-family-card__risk { letter-spacing: .04em; font-size: 12px; }
body.zcg-active .zc-families .zc-families__arrow { width: 46px; height: 46px; }

/* Product detail: calm gallery, compact introduction, readable native tabs. */
body.zcg-active .zcg-product-gallery .woocommerce-product-gallery { border: 1px solid #e7eef2; border-radius: 28px; overflow: hidden; background: #fff; }
body.zcg-active .zcg-product-summary .uncode_text_column { max-width: 620px; font-size: 19px; line-height: 1.65; }
body.zcg-active .zcg-product-summary .heading-text h1 { font-size: clamp(34px,3.5vw,54px); }
body.zcg-active .zcg-product-summary .breadcrumb { font-size: 13px; line-height: 1.6; }
body.zcg-active .zcg-product-tabs .nav-tabs { border-bottom-color: #d8e3e9; }
body.zcg-active .zcg-product-tabs .nav-tabs > li > a,
body.zcg-active.single-product .woocommerce-tabs .nav-tabs > li > a,
body.zcg-active.single-product .woocommerce-tabs ul.tabs li a { font-size: 16px; font-weight: 600; padding-top: 18px; padding-bottom: 18px; }
body.zcg-active.single-product .zc-product-tab-content,
body.zcg-active.single-product .zc-product-tab-content > p:first-child,
body.zcg-active.single-product .zc-product-tab-content ul li,
body.zcg-active.single-product .zc-product-tab-content ol li { font-size: 18px !important; line-height: 1.75 !important; }
body.zcg-active.single-product .zc-product-tab-content { max-width: 1080px; margin-left: auto; margin-right: auto; }
body.zcg-active.single-product .zc-product-tab-content li { margin-bottom: 10px !important; }
body.zcg-active.single-product .zc-product-disclaimer { margin-top: 28px; padding: 20px 24px; background: #f1f7fa; border-left: 3px solid #5fc4ee; border-radius: 0 12px 12px 0; }
body.zcg-active.single-product .zc-product-disclaimer p { font-size: 16px; color: #4a6472; }
body.zcg-active .zc-product-tab-content table,
body.zcg-active .zcg-clinical table { width: 100%; border-collapse: collapse; font-size: 16px; }
body.zcg-active .zc-product-tab-content th,
body.zcg-active .zc-product-tab-content td { padding: 14px 18px; border-bottom: 1px solid #d8e3e9; overflow-wrap: anywhere; }
body.zcg-active .zc-product-tab-content th { text-align: left; background: #f3f8fa; }

/* Internal content and family sites: restrained corners and lighter shadows. */
body.zcg-active .card-gruppo > .uncol { border-radius: 20px !important; box-shadow: 0 4px 14px rgba(11,31,42,.035); }
body.zcg-active .card-gruppo > .uncol::after { border-color: #dce7ec; }
body.zcg-active .card-gruppo .uncell.single-block-padding .uncode-single-media { margin-bottom: 28px !important; }
body.zcg-active .card-gruppo .uncode_text_column { font-size: 16px; }
body.zcg-active .zcg-clinical .uncode_text_column,
body.zcg-active .zcg-legal .uncode_text_column { font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
body.zcg-active .zcg-clinical .uncode_text_column li,
body.zcg-active .zcg-legal .uncode_text_column li { margin-bottom: 9px; }
body.zcg-active .zcg-legal .uncode_text_column h1 { font-size: 28px; line-height: 1.25; letter-spacing: -.025em; margin-top: 1.7em; }
body.zcg-active .zcg-legal .uncode_text_column h1:first-child { font-size: 42px; margin-top: 0; }
body.zcg-active .zcg-page .panel,
body.zcg-active .zcg-clinical .panel { border-color: #d8e3e9; }
body.zcg-active .zc-contact-form input:not([type="checkbox"]):not([type="submit"]),
body.zcg-active .zc-contact-form select,
body.zcg-active .zc-contact-form textarea { border-radius: 10px; padding: 13px 15px !important; font-size: 17px; }
body.zcg-active .zc-contact-form input:focus,
body.zcg-active .zc-contact-form select:focus,
body.zcg-active .zc-contact-form textarea:focus { outline: 2px solid #005b87; outline-offset: 2px; }
body.zcg-active .zc-contact-form .wpcf7-submit { border-radius: 10px; letter-spacing: 0; }

/* CTA is rebuilt with two native columns; the copy and destinations are preserved. */
body.zcg-active .zcg-cta { border-radius: 32px 32px 0 0; overflow: hidden; }
body.zcg-active .zcg-cta-copy .heading-text { max-width: 680px; }
body.zcg-active .zcg-cta-copy .uncode_text_column { max-width: 670px; font-size: 18px; }
body.zcg-active .zcg-cta-action .uncode_text_column { font-size: 14px; line-height: 1.7; }
body.zcg-active .zcg-cta-action .btn { padding: 18px 22px; }

/* Footer: native columns, readable groups, white interactive links. */
body.zcg-active .zcg-footer .uncode_text_column { font-size: 15px; line-height: 1.8; }
body.zcg-active .zcg-footer .zc-footer-logo__name { display: block; font-family: Archivo,sans-serif; font-size: 27px; letter-spacing: -.04em; font-weight: 700; color: #fff; }
body.zcg-active .zcg-footer .zc-footer-logo__payoff { display: block; font-size: 13px; color: #9ab2bf; }
body.zcg-active .zcg-footer .zc-footer-company { margin-top: 24px; }
body.zcg-active .zcg-footer .zc-footer-links a { display: block; padding: 5px 0; color: #c5d8e2 !important; }
body.zcg-active .zcg-footer .zc-footer-links br { display: none; }
body.zcg-active .zcg-footer .uncode_text_column a:hover,
body.zcg-active .zcg-footer .uncode_text_column a:focus { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
body.zcg-active .zcg-footer.zc-footer-disclaimer .uncode_text_column { color: #a5bbc6; font-size: 13px; max-width: 1100px; }
body.zcg-active .zcg-footer.zc-footer-legal { border-top: 1px solid #29424e; }
body.zcg-active .zcg-footer.zc-footer-legal .uncode_text_column { font-size: 12px; color: #a5bbc6; }
@media (min-width: 960px) {
  body.zcg-active .menu-horizontal .menu-smart > li > a::after { height: 2px; bottom: 12px; }
  body.zcg-active .menu-horizontal .menu-smart > li > a:focus-visible::after { transform: scaleX(1); }
  body.zcg-active .menu-horizontal .menu-smart .sub-menu { border-radius: 0 0 14px 14px; box-shadow: 0 14px 36px rgba(11,31,42,.12); }
  body.zcg-active .menu-horizontal .menu-smart .sub-menu a { line-height: 1.5; }
}

/* Restyle the supplied HCP snippet without changing its copy, cookie or route rules. */
body.zcg-active #hcp-gate {
  background: rgba(11,31,42,.72) !important; padding: 24px !important;
  overflow-y: auto !important; font-family: "Source Sans 3",sans-serif !important;
  box-sizing: border-box;
}
body.zcg-active #hcp-gate > div {
  width: 100%; max-width: 600px !important; padding: 40px !important;
  border-radius: 24px; background: #fff; text-align: left !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.16); max-height: 90vh; max-height: calc(100dvh - 48px); overflow-y: auto;
}
body.zcg-active #hcp-gate h2 { font-family: Archivo,sans-serif !important; font-size: 29px !important; letter-spacing: -.03em; line-height: 1.2; color: #0b1f2a !important; }
body.zcg-active #hcp-gate p { color: #4a6472 !important; font-size: 17px !important; line-height: 1.65 !important; }
body.zcg-active #hcp-enter { width: 100%; background: #005b87 !important; border-radius: 10px !important; padding: 16px 20px !important; font: 600 17px/1.4 "Source Sans 3",sans-serif !important; }
body.zcg-active #hcp-gate a { color: #005b87 !important; font-size: 15px !important; }
body.zcg-active #hcp-gate button:focus-visible,
body.zcg-active #hcp-gate a:focus-visible { outline: 3px solid #008bcb; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  body.zcg-active .catalogo-prodotti .tmb:hover .t-inside { border-color: #9acfe3; box-shadow: 0 12px 30px rgba(11,31,42,.07); }
  body.zcg-active .card-gruppo:hover > .uncol { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(11,31,42,.07); }
}
@media (max-width: 959px) {
  body.zcg-active .zcg-pagehead { border-radius: 0 0 24px 24px; }
  body.zcg-active .zcg-section > .row > .row-parent,
  body.zcg-active .zcg-section .row-parent { padding-left: 24px !important; padding-right: 24px !important; }
  body.zcg-active .zcg-filter .row-parent { padding-left: 0 !important; padding-right: 0 !important; }
  body.zcg-active .zcg-hero .hero-img-col .uncol,
  body.zcg-active .zcg-hero .hero-img-col .uncol .uncoltable { height: 62vw !important; min-height: 290px !important; max-height: 440px !important; }
  body.zcg-active .zcg-hero-photo > .uncol > .uncoltable > .uncell > .column-background,
  body.zcg-active .zcg-hero-photo .column-background > .background-wrapper { border-radius: 24px 24px 64px 24px; }
  body.zcg-active .zcg-hero-copy .uncode_text_column { font-size: 17px; }
  body.zcg-active .zcg-home-row-5 { margin: 0 12px; border-radius: 24px; }
  body.zcg-active .zcg-cta { border-radius: 24px 24px 0 0; }
  body.zcg-active .zcg-product-summary .uncode_text_column { font-size: 18px; }
  body.zcg-active .zcg-product-tabs .nav-tabs > li > a { font-size: 15px; }
  body.zcg-active .zcg-clinical .uncode_text_column,
  body.zcg-active .zcg-legal .uncode_text_column { font-size: 17px; }
  body.zcg-active .zcg-clinical .uncode_text_column table { display: block; max-width: 100%; overflow-x: auto; }
}
@media (max-width: 569px) {
  body.zcg-active .zcg-section .row-parent { padding-left: 20px !important; padding-right: 20px !important; }
  body.zcg-active .zcg-filter .row-parent { padding-left: 0 !important; padding-right: 0 !important; }
  body.zcg-active .zcg-pagehead .uncode_text_column { font-size: 17px; }
  body.zcg-active .catalogo-prodotti .t-entry-text { padding: 24px !important; }
  body.zcg-active .catalogo-prodotti .t-entry-title a { font-size: 23px; }
  body.zcg-active .filtro-braden a { padding: 11px 13px !important; font-size: 13px; }
  body.zcg-active .zcg-legal .uncode_text_column h1:first-child { font-size: 34px; }
  body.zcg-active #hcp-gate { padding: 16px !important; }
  body.zcg-active #hcp-gate > div { padding: 28px 24px !important; max-height: calc(100dvh - 32px); }
  body.zcg-active #hcp-gate h2 { font-size: 25px !important; }
  body.zcg-active #hcp-gate p { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.zcg-active .card-gruppo > .uncol,
  body.zcg-active .catalogo-prodotti .t-inside,
  body.zcg-active .zcg-section .btn,
  body.zcg-active .menu-horizontal .menu-smart > li > a::after { transition: none !important; transform: none; }
}
@media print {
  body.zcg-active #hcp-gate { display: none !important; }
  body.zcg-active { overflow: visible !important; }
  body.zcg-active .zcg-section { border-radius: 0; }
}

/* 1.1.1 — Native Uncode label filters: visible pills, separate reset per group. */
body.zcg-catalog-active .zcg-catalog-filters {
  padding: 0; border: 0; border-radius: 0; background: transparent;
  margin-bottom: 28px;
}
body.zcg-catalog-active .zcg-catalog-filters .row-parent {
  padding: 0 !important;
}
body.zcg-catalog-active .zcg-catalog-filters .widgettitle {
  margin: 0 0 12px !important; color: #0b1f2a; font-family: inherit;
  font-size: 15px !important; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none;
}
body.zcg-catalog-active .zcg-pill-filter .term-filters-list {
  display: flex; flex-wrap: wrap; gap: 8px;
  list-style: none; margin: 0 !important; padding: 0 !important;
}
body.zcg-catalog-active .zcg-pill-filter .term-filter {
  display: block; float: none; width: auto; max-width: 100%;
  margin: 0 !important; padding: 0 !important; list-style: none;
}
body.zcg-catalog-active .zcg-pill-filter a.term-filter-link {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  min-height: 44px; max-width: 100%; padding: 11px 16px !important; margin: 0;
  border: 1px solid #c8d9e2 !important; border-radius: 999px !important;
  color: #0b1f2a !important; background: #fff !important; box-shadow: none;
  font: 500 15px/1.4 "Source Sans 3",sans-serif; letter-spacing: 0; text-transform: none;
  white-space: normal; overflow-wrap: anywhere; text-decoration: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
body.zcg-catalog-active .zcg-pill-filter .term-filter-link .swatch-type-label {
  display: block; width: auto; height: auto; min-width: 0; min-height: 0;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0;
  color: inherit !important; background: transparent !important; box-shadow: none !important;
  font: inherit; font-size: inherit !important; line-height: inherit; letter-spacing: inherit; text-transform: none; white-space: normal;
}
body.zcg-catalog-active .zcg-pill-filter .term-filter-link .swatch-type-label::before,
body.zcg-catalog-active .zcg-pill-filter .term-filter-link .swatch-type-label::after { display: none !important; }
body.zcg-catalog-active .zcg-pill-filter a.term-filter-link--active {
  background: #005b87 !important; border-color: #005b87 !important; color: #fff !important;
}
@media (hover: hover) and (pointer: fine) {
  body.zcg-catalog-active .zcg-pill-filter a.term-filter-link:not(.term-filter-link--active):hover {
    background: #e3f1f8 !important; border-color: #83bfd9 !important; color: #005b87 !important;
  }
}
body.zcg-catalog-active .zcg-pill-filter a.term-filter-link:focus-visible {
  outline: 2px solid #005b87; outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  body.zcg-catalog-active .zcg-pill-filter a.term-filter-link { transition: none; }
}
body.zcg-catalog-active .catalogo-prodotti .filter-list { margin: 4px 0 22px; }
body.zcg-catalog-active .catalogo-prodotti .filter-list__link {
  display: inline-block; padding: 10px 14px; border-radius: 8px;
  background: #e3f1f8; color: #005b87; font-size: 14px; line-height: 1.4;
}
body.zcg-catalog-active .catalogo-prodotti .filter-list__clear a {
  background: transparent; text-decoration: underline; text-underline-offset: 3px;
}
body.zcg-catalog-active .catalogo-prodotti .pagination a,
body.zcg-catalog-active .catalogo-prodotti .pagination span,
body.zcg-catalog-active .catalogo-prodotti .pagination .page-numbers {
  min-width: 44px; min-height: 44px; border-radius: 8px;
}
/* Clinical text cards no longer inherit the image-card rule that removed top padding. */
body.zcg-catalog-active .zcg-clinical-card > .uncol {
  border-radius: 20px; overflow: hidden; box-shadow: 0 5px 18px rgba(11,31,42,.045);
}
body.zcg-catalog-active .zcg-clinical-card .heading-text h3 {
  font-size: 27px; line-height: 1.2; letter-spacing: -.025em;
}
body.zcg-catalog-active .zcg-clinical-card .uncode_text_column {
  font-size: 17px; line-height: 1.7; color: #4a6472;
}
body.zcg-catalog-active .zcg-clinical-card .btn-container { margin-top: 24px; }
@media (max-width: 959px) {
  body.zcg-catalog-active .zcg-catalog-filters .row-parent { padding: 0 !important; }
}
@media (max-width: 569px) {
  body.zcg-catalog-active .zcg-pill-filter a.term-filter-link { padding: 11px 14px !important; }
  body.zcg-catalog-active .zcg-catalog-filters .row-parent { padding: 0 !important; }
  body.zcg-catalog-active .zcg-clinical-card .heading-text h3 { font-size: 25px; }
}
