/*
 * UPIA — Shared internal-page visual system, draft-only.
 * One visual identity across mother, category, specialist and institutional pages.
 * The homepage, WordPress URLs, SEO metadata and WPForms logic remain untouched.
 */
/* WCAG AA: contrast of 10px sidebar label against white in all product pages. */
.upia-v5-sidebar-overline{color:#0b6287!important;}
:root{
  --upia-page-hero:#edf5f9;
  --upia-page-ink:#173d52;
  --upia-page-copy:#4a6473;
  --upia-page-accent:#137eaa;
  --upia-page-border:#d8e6ed;
}
/* Consistent pale institutional hero rather than separate dark/light variants. */
.upia-main.upia-product-unified .upia-v5-hero,
.upia-main.upia-mother-page .upia-mother-hero,
.upia-main.upia-category-page .upia-category-hero,
.upia-main.upia-institutional-page .upia-contact-hero{
  position:relative!important;
  isolation:isolate;
  color:var(--upia-page-ink)!important;
  background:var(--upia-page-hero)!important;
  border:0!important;
  border-bottom:1px solid var(--upia-page-border)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  min-height:0!important;
}
/* Parent/category share the specialist page's two-column composition. */
.upia-main.upia-mother-page .upia-mother-hero-inner,
.upia-main.upia-category-page .upia-category-hero-inner{
  width:min(1180px,calc(100% - 44px))!important;
  max-width:1180px!important;
  min-height:440px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(305px,.88fr)!important;
  gap:clamp(26px,4vw,62px)!important;
  align-items:center!important;
  padding:39px 0 45px!important;
  margin:auto!important;
  position:relative!important;
  z-index:2!important;
}
.upia-main.upia-mother-page .upia-mother-hero-copy,
.upia-main.upia-category-page .upia-category-hero-copy{
  width:100%!important;
  max-width:650px!important;
  min-width:0!important;
  padding:0!important;
  position:relative;
  z-index:1;
}
.upia-main.upia-mother-page .upia-mother-hero-copy h1,
.upia-main.upia-category-page .upia-category-hero-copy h1,
.upia-main.upia-product-unified .upia-v5-hero-copy h1,
.upia-main.upia-institutional-page .upia-contact-hero-copy h1{
  color:var(--upia-page-ink)!important;
  font-family:"EB Garamond",Garamond,Georgia,serif!important;
  font-weight:600!important;
  font-size:clamp(2.85rem,4.25vw,4.5rem)!important;
  line-height:1.035!important;
  letter-spacing:-.023em!important;
  margin:12px 0 19px!important;
}
.upia-main.upia-mother-page .upia-mother-hero-copy>p:not(.upia-kicker),
.upia-main.upia-category-page .upia-category-hero-copy>p:not(.upia-kicker),
.upia-main.upia-product-unified .upia-v5-hero-copy .upia-v5-lead,
.upia-main.upia-institutional-page .upia-contact-hero-copy>p:not(.upia-kicker){
  color:var(--upia-page-copy)!important;
  font-family:Montserrat,sans-serif!important;
  font-size:clamp(15px,1.03vw,17px)!important;
  line-height:1.72!important;
  font-weight:400!important;
  max-width:630px!important;
  margin:0!important;
}
.upia-main.upia-mother-page .upia-mother-hero .upia-kicker,
.upia-main.upia-category-page .upia-category-hero .upia-kicker,
.upia-main.upia-product-unified .upia-v5-eyebrow,
.upia-main.upia-institutional-page .upia-contact-hero .upia-kicker{
  color:#146d97!important;
}
/* Calm, restrained use of the same optimized image across page families. */
.upia-main.upia-mother-page .upia-mother-hero>.upia-hero-art{
  opacity:.22!important;
  filter:saturate(.85);
  pointer-events:none!important;
}
.upia-main.upia-category-page .upia-category-hero-art{
  opacity:.23!important;
  pointer-events:none!important;
  filter:saturate(.85);
}
.upia-main.upia-product-unified .upia-v5-hero-atmosphere{
  background-position:right center!important;
  background-size:cover!important;
  opacity:.07!important;
  pointer-events:none!important;
}
/* The standard content panel on parents/categories mirrors specialist summaries. */
.upia-unified-hero-panel,
.upia-main.upia-product-unified .upia-v5-summary,
.upia-main.upia-institutional-page .upia-contact-hero-aside{
  position:relative!important;
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  padding:27px 30px 28px!important;
  border:1px solid var(--upia-page-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 15px 38px rgba(19,61,84,.085)!important;
  color:var(--upia-page-ink)!important;
}
.upia-unified-hero-panel::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#168ac0,#75c9df);
  border-radius:14px 14px 0 0;
}
.upia-unified-hero-kicker{
  display:block;
  color:#167caa;
  font:800 10px/1.4 Montserrat,sans-serif;
  letter-spacing:.12em;
}
.upia-unified-hero-panel h2{
  margin:15px 0 8px!important;
  color:var(--upia-page-ink)!important;
  font:600 clamp(1.8rem,2.4vw,2.25rem)/1.1 "EB Garamond",Georgia,serif!important;
}
.upia-unified-hero-panel>p{
  color:#5e7482!important;
  font:400 12px/1.6 Montserrat,sans-serif!important;
  margin:0 0 15px!important;
}
.upia-unified-hero-panel dl{margin:0;padding:0}
.upia-unified-hero-panel dl>div{
  display:grid;
  grid-template-columns:91px minmax(0,1fr);
  gap:10px;
  padding:10px 0;
  border-top:1px solid #e7eef2;
  align-items:start;
}
.upia-unified-hero-panel dt{
  color:#197da6;
  font:800 10px/1.5 Montserrat,sans-serif;
  letter-spacing:.04em;
}
.upia-unified-hero-panel dd{
  margin:0;
  color:#304f60;
  font:600 12px/1.5 Montserrat,sans-serif;
}
/* Specialist heroes: preserve factual panels, bring the hero into the same grid. */
.upia-main.upia-product-unified .upia-v5-hero-frame{
  width:min(1180px,calc(100% - 44px))!important;
  max-width:1180px!important;
  padding-bottom:40px!important;
  position:relative!important;
  z-index:2!important;
}
.upia-main.upia-product-unified .upia-v5-breadcrumb{
  color:#32708e!important;
  padding:21px 0 24px!important;
}
.upia-main.upia-product-unified .upia-v5-breadcrumb [aria-current=page]{
  color:#184a65!important;
}
.upia-main.upia-product-unified .upia-v5-hero-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(305px,.88fr)!important;
  gap:clamp(26px,4vw,62px)!important;
  align-items:center!important;
}
.upia-main.upia-product-unified .upia-v5-eyebrow{color:#166f99!important}
.upia-main.upia-product-unified .upia-v5-eyebrow span{color:#5297b5!important}
.upia-main.upia-product-unified .upia-v5-microcopy{
  color:#577386!important;
}
.upia-main.upia-product-unified .upia-v5-summary{
  overflow:hidden;
}
.upia-main.upia-product-unified .upia-v5-secondary-cta{
  color:#135577!important;
  border-color:#b9d5e1!important;
  background:rgba(255,255,255,.85)!important;
}
.upia-main.upia-product-unified .upia-v5-actions{margin:25px 0 16px!important}
/* Correct the overly bright blue primary CTA within the specialist hero. */
.upia-main.upia-product-unified .upia-v5-primary-cta{
  background:#0c78ad!important;border-color:#0c78ad!important;
}
/* Contacts and institutional pages use the same visual rhythm. */
.upia-main.upia-institutional-page .upia-contact-hero{
  padding:45px 0!important;
}
.upia-main.upia-institutional-page .upia-contact-hero-grid{
  width:min(1180px,calc(100% - 44px))!important;
  max-width:1180px!important;
  grid-template-columns:minmax(0,1.12fr) minmax(305px,.88fr)!important;
  gap:clamp(26px,4vw,62px)!important;
  align-items:center!important;
}
.upia-main.upia-institutional-page .upia-contact-hero-copy{max-width:650px!important}
/* Technical information strips remain, but with one concise visual rhythm. */
.upia-main.upia-mother-page .upia-mother-trust-grid>div,
.upia-main.upia-category-page .upia-category-trust-grid>div{
  padding:16px 20px!important;
}
.upia-main.upia-mother-page .upia-mother-intro,
.upia-main.upia-category-page .upia-category-intro{
  padding-top:54px!important;
  padding-bottom:57px!important;
}
/* Medium screens use two columns until they are no longer readable. */
@media(max-width:1020px) and (min-width:801px){
  .upia-main.upia-mother-page .upia-mother-hero-inner,
  .upia-main.upia-category-page .upia-category-hero-inner,
  .upia-main.upia-product-unified .upia-v5-hero-grid,
  .upia-main.upia-institutional-page .upia-contact-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(270px,.85fr)!important;
    gap:24px!important;
  }
  .upia-unified-hero-panel,
  .upia-main.upia-product-unified .upia-v5-summary{padding:23px!important}
}
/* Legacy editorial product page (Cauzione provvisoria) uses the same
   2-column hero rather than the old empty right-hand space. */
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero{
  min-height:0!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  color:var(--upia-page-ink)!important;
  background:var(--upia-page-hero)!important;
  border-bottom:1px solid var(--upia-page-border)!important;
}
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-inner{
  width:min(1180px,calc(100% - 44px))!important;
  min-height:440px!important;
  max-width:1180px!important;
  margin:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(305px,.88fr)!important;
  gap:clamp(26px,4vw,62px)!important;
  align-items:center!important;
  padding:39px 0 45px!important;
  position:relative!important;
  z-index:2!important;
}
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-copy{
  width:100%!important;
  max-width:650px!important;
  min-width:0!important;
  padding:0!important;
}
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-copy h1{
  color:var(--upia-page-ink)!important;
  font:600 clamp(2.85rem,4.25vw,4.5rem)/1.035 "EB Garamond",Garamond,Georgia,serif!important;
  letter-spacing:-.023em!important;
  margin:12px 0 19px!important;
}
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-copy>p:not(.upia-kicker){
  color:var(--upia-page-copy)!important;
  font:400 clamp(15px,1.03vw,17px)/1.72 Montserrat,sans-serif!important;
  max-width:630px!important;
}
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero .upia-product-hero-art{
  opacity:.18!important;
  pointer-events:none!important;
}
.upia-main.upia-product-page:not(.upia-product-unified) .upia-product-trust-grid>div{
  padding:16px 20px!important;
}
/* Mobile: full-width reading column; no narrow text and no 260px spacer. */
@media(max-width:800px){
  .upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-inner{
    width:calc(100% - 36px)!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:23px!important;
    align-items:start!important;
    padding:32px 0 34px!important;
  }
  .upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-copy{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-copy h1{
    font-size:clamp(2.35rem,9.3vw,3.3rem)!important;
    line-height:1.035!important;
  }
  .upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero-copy>p:not(.upia-kicker){
    font-size:15px!important;
    line-height:1.66!important;
  }
  .upia-main.upia-product-page:not(.upia-product-unified) .upia-product-hero .upia-product-hero-art{
    position:absolute!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;height:100%!important;
    opacity:.1!important;
  }
  .upia-main.upia-mother-page .upia-mother-hero-inner,
  .upia-main.upia-category-page .upia-category-hero-inner{
    width:calc(100% - 36px)!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:23px!important;
    padding:32px 0 34px!important;
  }
  .upia-main.upia-mother-page .upia-mother-hero-copy,
  .upia-main.upia-category-page .upia-category-hero-copy{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .upia-main.upia-mother-page .upia-mother-hero-copy h1,
  .upia-main.upia-category-page .upia-category-hero-copy h1,
  .upia-main.upia-product-unified .upia-v5-hero-copy h1,
  .upia-main.upia-institutional-page .upia-contact-hero-copy h1{
    font-size:clamp(2.35rem,9.3vw,3.3rem)!important;
    line-height:1.035!important;
    margin:9px 0 15px!important;
  }
  .upia-main.upia-mother-page .upia-mother-hero-copy>p:not(.upia-kicker),
  .upia-main.upia-category-page .upia-category-hero-copy>p:not(.upia-kicker),
  .upia-main.upia-product-unified .upia-v5-hero-copy .upia-v5-lead{
    font-size:15px!important;
    line-height:1.66!important;
    max-width:none!important;
    overflow-wrap:break-word!important;
  }
  .upia-main.upia-mother-page .upia-mother-hero>.upia-hero-art,
  .upia-main.upia-category-page .upia-category-hero-art,
  .upia-main.upia-product-unified .upia-v5-hero-atmosphere{
    opacity:.06!important;
    pointer-events:none!important;
  }
  .upia-main.upia-category-page .upia-category-hero-art{
    top:0!important;right:0!important;bottom:0!important;left:0!important;
    width:100%!important;height:100%!important;
  }
  .upia-main.upia-product-unified .upia-v5-hero-frame{
    width:calc(100% - 36px)!important;
    padding-bottom:32px!important;
  }
  .upia-main.upia-product-unified .upia-v5-breadcrumb{padding:19px 0 21px!important}
  .upia-main.upia-product-unified .upia-v5-hero-grid,
  .upia-main.upia-institutional-page .upia-contact-hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    align-items:start!important;
  }
  .upia-main.upia-institutional-page .upia-contact-hero{
    padding:32px 0!important;
  }
  .upia-main.upia-institutional-page .upia-contact-hero-grid{
    width:calc(100% - 36px)!important;
  }
  .upia-unified-hero-panel,
  .upia-main.upia-product-unified .upia-v5-summary,
  .upia-main.upia-institutional-page .upia-contact-hero-aside{
    max-width:100%!important;
    padding:22px!important;
    margin:0!important;
  }
  .upia-main.upia-mother-page .upia-mother-trust-grid>div,
  .upia-main.upia-category-page .upia-category-trust-grid>div{
    padding:13px 12px!important;
  }
  .upia-main.upia-mother-page .upia-mother-intro,
  .upia-main.upia-category-page .upia-category-intro{
    padding-top:35px!important;
    padding-bottom:38px!important;
  }
  .upia-main.upia-mother-page .upia-home-hero-actions,
  .upia-main.upia-category-page .upia-home-hero-actions{
    margin-top:24px!important;
  }
}
@media(max-width:400px){
  .upia-unified-hero-panel dl>div{grid-template-columns:84px minmax(0,1fr);gap:7px}
}

