/* ==========================================================================
   families/institutional.css
   Pagine istituzionali e di servizio: curriculum, FAQ, documenti, mappa del sito, profili collegati.
   Caricato da 15 pagine.
   ========================================================================== */

body.v2-editorial-secondary {
  background: var(--v2-canvas);
  color: var(--v2-ink);
}

body.v2-editorial-secondary :is(.hero,.bio-hero,.cv-hero,.post-hero) {
  position: relative;
  background: var(--v2-cover-bg);
  color: #fff;
}

body.v2-editorial-secondary :is(.hero,.bio-hero,.cv-hero,.post-hero)>* {
  position: relative;
  z-index: 1;
}

body.v2-editorial-secondary :is(.hero,.bio-hero,.cv-hero,.post-hero)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -18rem;
  right: -12rem;
  width: 38rem;
  height: 38rem;
  border-radius: 50%;
  background: var(--v2-cover-glow);
  pointer-events: none;
}

body.v2-editorial-secondary :is(.hero h1,.bio-hero h1,.cv-hero h1,.post-hero h1) {
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-family: var(--v2-serif);
  font-weight: 600 !important;
  letter-spacing: -.022em;
}

body.v2-editorial-secondary :is(.hero p,.bio-hero p,.cv-hero p,.post-hero p) {
  margin-left: auto;
  margin-right: auto;
  color: rgba(255,255,255,.86) !important;
  line-height: 1.68 !important;
}

body.v2-editorial-secondary :is(.hero .eyebrow,.hero .kicker,.bio-hero .kicker,.cv-kicker,.post-hero .eyebrow,.post-hero .kicker) {
  color: var(--v2-gold-soft);
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main,.rec-main) {
  color: var(--v2-ink);
}

body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main) p {
  color: #3d4f62;
}

body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main) li {
  color: #3d4f62;
}

body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main) p,
body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main) li {
  text-align: left !important;
  text-align-last: auto;
}

body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main) h2,
body.v2-editorial-secondary :is(main,.bio-main,.cv-wrap,.post-evento-main) h3 {
  color: var(--v2-heading);
  font-family: var(--v2-serif);
  font-weight: 600;
  letter-spacing: -.01em;
}

body.v2-editorial-secondary .breadcrumb {
  background: transparent;
}

body.v2-editorial-secondary :is(.bio-main,.cv-wrap,#faq-main,#pub-main,.post-evento-main,.content-wrap,#main-content) {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

body.v2-editorial-secondary .bio-photo {
  margin-top: 1.5rem;
}

body.v2-editorial-secondary .bio-photo img {
  width: 172px !important;
  height: 215px !important;
  object-fit: var(--glb-portrait-fit,cover) !important;
  object-position: var(--glb-portrait-position,center) !important;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 50px rgba(0,0,0,.25);
}

body.v2-editorial-secondary .bio-main {
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}

body.v2-editorial-secondary .bio-main>section {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(2.4rem,4vw,3.6rem) 0;
  border-bottom: 1px solid var(--v2-divider);
}

body.v2-editorial-secondary .bio-main>section:last-of-type {
  border-bottom: 0;
}

body.v2-editorial-secondary .bio-grid {
  max-width: 900px;
  margin: 1.8rem auto 2.5rem;
  gap: 1rem;
}

body.v2-editorial-secondary .bio-card {
  padding: 1.35rem 1.45rem;
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--v2-shadow-card);
}

body.v2-editorial-secondary .bio-links {
  max-width: 900px;
  margin: 1.5rem auto 0;
  gap: .65rem;
}

body.v2-editorial-secondary .bio-links a {
  min-height: 42px;
  padding: .62rem .9rem;
  border-radius: 11px;
}

body.v2-editorial-secondary.page-curriculum .cv-hero-inner {
  max-width: 1050px;
}

body.v2-editorial-secondary.page-curriculum .cv-wrap {
  max-width: 1100px !important;
  padding: 0 1.25rem 3rem;
}

body.v2-editorial-secondary.page-curriculum .cv-section {
  margin: 0 !important;
  padding: clamp(2rem,3.5vw,3rem) clamp(1rem,2.3vw,1.6rem) !important;
  border-bottom: 1px solid var(--v2-divider);
  background: transparent;
  box-shadow: none;
}

body.v2-editorial-secondary.page-curriculum .cv-grid {
  gap: .9rem;
}

body.v2-editorial-secondary.page-curriculum :is(.cv-card,.cv-item,.cv-row,.pub-row) {
  border: 1px solid var(--v2-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17,37,58,.035);
}

body.v2-editorial-secondary.page-curriculum :is(.cv-card,.cv-item) {
  padding: 1.1rem 1.2rem;
}

body.v2-editorial-secondary.page-curriculum :is(.cv-card,.cv-item,.cv-row,.pub-row) p {
  font-size: .93rem !important;
  line-height: 1.65 !important;
}

body.v2-editorial-secondary.page-curriculum .cv-badges {
  gap: .55rem;
}

body.v2-editorial-secondary.page-curriculum .cv-badges a {
  border-color: rgba(255,255,255,.25);
  background: rgba(255,255,255,.07);
  color: #fff;
}

body.v2-editorial-secondary.page-aniped .hero,
body.v2-editorial-secondary.page-faq .hero,
body.v2-editorial-secondary.page-riconoscimento-professione .hero,
body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta .hero {
  padding-top: clamp(3.5rem,5vw,5rem) !important;
  padding-bottom: clamp(3.2rem,4.7vw,4.6rem) !important;
}

body.v2-editorial-secondary.page-aniped .section,
body.v2-editorial-secondary.page-faq .section,
body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta .section {
  padding-top: clamp(2.7rem,4vw,3.8rem);
  padding-bottom: clamp(2.7rem,4vw,3.8rem);
}

body.v2-editorial-secondary.page-aniped :is(.dato-card,.servizio-card),
body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta :is(.spec-card,.duo-card,.cv-item),
body.v2-editorial-secondary.page-faq :is(.faq-item,.faq-card) {
  border: 1px solid var(--v2-border);
  border-radius: 15px;
  background: #fff;
  box-shadow: var(--v2-shadow-card);
}

body.v2-editorial-secondary.page-aniped :is(.dato-card,.servizio-card),
body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta :is(.spec-card,.duo-card,.cv-item) {
  padding: 1.2rem 1.3rem;
}

body.v2-editorial-secondary.page-aniped .timeline {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

body.v2-editorial-secondary.page-aniped .cta-box,
body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta :is(.cta-box,.cta-final),
body.v2-editorial-secondary.page-faq .cta-box {
  background: linear-gradient(135deg,var(--v2-navy-950),var(--v2-navy-700));
  border-radius: 18px;
  color: #fff;
}

body.v2-editorial-secondary.page-aniped .cta-box :is(h2,h3,p),
body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta :is(.cta-box,.cta-final) :is(h2,h3,p),
body.v2-editorial-secondary.page-faq .cta-box :is(h2,h3,p) {
  color: #fff;
}

body.v2-editorial-secondary.page-riconoscimento-professione .content-wrap {
  max-width: 940px !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

body.v2-editorial-secondary.page-pubblicazioni #pub-main {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

body.v2-editorial-secondary.page-mappa-del-sito main#main-content {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

body.v2-editorial-secondary.page-post-evento-22maggio2026 .post-hero {
  padding: clamp(3.8rem,6vw,5.4rem) 1.25rem !important;
}

body.v2-editorial-secondary.page-post-evento-22maggio2026 :is(.resoconto,.gallery-section,.post-evento-main>section:not(.post-hero)) {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

body.v2-editorial-secondary.page-post-evento-22maggio2026 .gallery-grid {
  gap: 1rem;
}

body.v2-editorial-secondary.page-post-evento-22maggio2026 .gallery-grid>* {
  overflow: hidden;
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--v2-shadow-card) !important;
}

body.v2-editorial-secondary.article-page article.wrap>h1 {
  color: var(--v2-heading);
  font-family: var(--v2-serif);
  font-weight: 600 !important;
  letter-spacing: -.02em;
}

body.v2-editorial-secondary.article-page article.wrap>.article-sub {
  color: var(--v2-muted);
  font-size: 1.06rem !important;
  line-height: 1.7 !important;
}

body.v2-editorial-secondary.article-page :is(.rel-card,.article-related-card) {
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--v2-shadow-card);
}

body.v2-editorial-secondary.article-page .cta-box {
  border-radius: 18px !important;
  background: linear-gradient(135deg,var(--v2-navy-950),var(--v2-navy-700)) !important;
}

body.v2-editorial-secondary .cta-band :is(h2,h3,p) {
  color: #fff;
}

body.v2-editorial-secondary.article-page .pdf-box :is(h3,p) {
  color: #fff;
}

body.v2-editorial-secondary.article-page .breadcrumb a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

body.v2-editorial-secondary.page-curriculum :is(.cv-list,.cv-note) {
  max-width: 78ch;
  margin-left: auto;
  margin-right: auto;
}

body.v2-editorial-secondary.page-faq .legal-note {
  max-width: 78ch;
  margin-left: auto;
  margin-right: auto;
}

body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta .hero-eyebrow {
  font-size: .78rem !important;
}

body.v2-editorial-secondary.page-pier-paolo-bellisario-psicoterapeuta .cta-final .btn-o {
  background: #fff;
  color: var(--v2-navy-900) !important;
  border-color: #fff !important;
}

body.v2-editorial-secondary.page-riconoscimento-professione .rec-callout :is(p,em) {
  color: #fff;
}

body.v2-editorial-secondary.page-riconoscimento-professione :is(.rec-kicker,.rec-norma-id) {
  font-size: .78rem;
}

body.v2-editorial-secondary.article-page .article-meta__sep {
  color: #526579;
}

body.v2-editorial-secondary.article-page .article-eyebrow a {
  display: inline-flex;
  align-items: center;
}

body.v2-editorial-secondary.article-page .article-eyebrow a {
  min-height: 24px;
  padding-block: 2px;
}

body.v2-editorial-secondary.article-page .article-meta a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

body.v2-editorial-secondary .glb-hero-title-anchor {
  top: 0 !important;
}

body.v2-editorial-secondary :is(.hero,.bio-hero,.cv-hero,.post-hero) :is(.kicker,.bio-kicker,.eyebrow,.hero-eyebrow,.cv-kicker) {
  text-align: center;
}

body.v2-editorial-secondary :is(.kicker,.bio-kicker,.eyebrow,.hero-eyebrow,.cv-kicker,.glb-hero-kicker) {
  font-size: 12px !important;
}

body.v2-editorial-secondary .cv-hero .cv-kicker {
  font-size: 12px !important;
}

body.v2-editorial-secondary.article-page article.wrap section p,
body.v2-editorial-secondary.article-page article.wrap aside p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.v2-editorial-secondary.page-riconoscimento-professione .rec-timeline {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

body.v2-editorial-secondary.page-post-evento-22maggio2026 .ph figcaption {
  background: linear-gradient(180deg,rgba(8,23,37,.76),rgba(8,23,37,.96));
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}

body.v2-editorial-secondary main h2,
body.v2-editorial-secondary main h3,
body.v2-editorial-secondary article h2,
body.v2-editorial-secondary article h3 {
  text-wrap: balance;
}

@media (max-width: 760px) {
  body.v2-editorial-secondary :is(.hero,.bio-hero,.cv-hero,.post-hero) {
    text-align: center;
  }
  body.v2-editorial-secondary .bio-main {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  body.v2-editorial-secondary .bio-photo img {
    width: 150px !important;
    height: 188px !important;
  }
  body.v2-editorial-secondary.page-curriculum .cv-wrap {
    padding-left: .8rem;
    padding-right: .8rem;
  }
  body.v2-editorial-secondary.page-curriculum .cv-section {
    padding-left: .45rem !important;
    padding-right: .45rem !important;
  }
  body.v2-editorial-secondary.page-post-evento-22maggio2026 :is(.resoconto,.gallery-section,.post-evento-main>section:not(.post-hero)) {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
