/* ==========================================================================
   editorial.css
   Sistema editoriale condiviso: token del sistema, fasce di copertina, schede, pannelli, griglie e componenti comuni a tutte le famiglie.
   Caricato da 118 pagine.
   ========================================================================== */

:root {
  --v2-canvas: #f4f6f9;
  --v2-surface: #fff;
  --v2-surface-soft: #f8fafc;
  --v2-surface-muted: #eef3f7;
  --v2-ink: #172536;
  --v2-heading: #10283f;
  --v2-text: #435366;
  --v2-muted: #5d6977;
  --v2-navy-950: #081725;
  --v2-navy-900: #0b1d2f;
  --v2-navy-800: #102b45;
  --v2-navy-700: #21496f;
  --v2-blue-link: #244f7c;
  --v2-gold: #d4b46d;
  --v2-gold-soft: #e1c982;
  --v2-gold-text: #87631c;
  --v2-gold-deep: #87631c;
  --v2-border: #dbe4ee;
  --v2-border-strong: #d9e2ed;
  --v2-border-soft: #dce5ee;
  --v2-divider: #dfe5eb;
  --v2-serif: "Cormorant Garamond",Georgia,serif;
  --v2-radius-sm: 11px;
  --v2-radius-md: 16px;
  --v2-radius-lg: 18px;
  --v2-radius-xl: 24px;
  --v2-shadow-card: 0 10px 28px rgba(17,37,58,.045);
  --v2-shadow-card-strong: 0 12px 30px rgba(17,37,58,.055);
  --v2-cover-bg: linear-gradient(135deg,var(--v2-navy-950) 0%,var(--v2-navy-800) 58%,var(--v2-navy-700) 100%);
  --v2-cover-glow: radial-gradient(circle,rgba(212,180,109,.18),rgba(212,180,109,0) 68%);
  --v2-max-wide: 1120px;
  --v2-max-content: 1080px;
}

:is(.v2-cover,.v2-profile-cover,.v2-press-cover,.v2-book-cover,body.v2-editorial-articles .hero) {
  position: relative;
  overflow: hidden;
  background: var(--v2-cover-bg);
  color: #fff;
}

:is(.v2-cover,.v2-profile-cover,.v2-press-cover,.v2-book-cover,body.v2-editorial-articles .hero)::before {
  content: "";
  position: absolute;
  inset: -18rem -12rem auto auto;
  width: 36rem;
  height: 36rem;
  border-radius: 50%;
  background: var(--v2-cover-glow);
  pointer-events: none;
}

:is(.v2-cover__inner,.v2-profile-cover__inner,.v2-press-cover__inner,.v2-book-cover__inner,body.v2-editorial-articles .hero-inner) {
  position: relative;
  z-index: 1;
  max-width: var(--v2-max-wide);
  margin-inline: auto;
}

:is(.v2-route-card,.v2-profile-cover__routes a,.v2-press-cover__actions a,.v2-book-cover__actions a) {
  transition: transform .18s,border-color .18s,background .18s;
}

:is(.v2-axis-card h3,.v2-profile-axis__grid strong,.v2-press-essentials__grid strong) {
  color: var(--v2-heading);
}

body[class*="v2-editorial"] footer a[href^="mailto:"],
body[class*="v2-editorial"] footer a[href^="tel:"],
body[class*="v2-editorial"] footer .foot-social a {
  color: rgba(255,255,255,.92) !important;
  text-decoration-color: rgba(255,255,255,.48) !important;
}

body[class*="v2-editorial"] footer a[href^="mailto:"]:hover,
body[class*="v2-editorial"] footer a[href^="mailto:"]:focus-visible,
body[class*="v2-editorial"] footer a[href^="tel:"]:hover,
body[class*="v2-editorial"] footer a[href^="tel:"]:focus-visible,
body[class*="v2-editorial"] footer .foot-social a:hover,
body[class*="v2-editorial"] footer .foot-social a:focus-visible {
  color: #fff !important;
}

body[class*="v2-editorial"] footer a {
  color: rgba(255,255,255,.92) !important;
  text-decoration-color: rgba(255,255,255,.48) !important;
}

body[class*="v2-editorial"] footer a:hover,
body[class*="v2-editorial"] footer a:focus-visible {
  color: #fff !important;
}

body[class*="v2-editorial"] main p,
body[class*="v2-editorial"] main li,
body[class*="v2-editorial"] section p,
body[class*="v2-editorial"] article p {
  text-align: left;
  text-align-last: auto;
  hyphens: manual;
  -webkit-hyphens: manual;
}

img.glb-portrait-full {
  --hero-media-fit: contain;
  --glb-portrait-fit: contain;
  --glb-portrait-position: center top;
  object-fit: contain !important;
  object-position: center top !important;
}

main :is(
  .article-card,.article-teaser,.topic-card,.panel-card,.event-card,.archive-card,
  .media-card,.book-row,.service-card,.servizio-card,.spec-card,.duo-card,
  .cv-card,.sitemap-card,.map-card,.site-map-card,.glb-axis-card,.glb-row-card,
  .publication-card,.document-card,.rel-card,.article-related-card
) :is(h2,h3,h4,.section-title) {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-media-archivio #media-archivio-main>.section-shell.tight {
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(2.4rem,4vw,3.25rem) clamp(1rem,3vw,1.5rem) !important;
}

body.page-media-archivio #media-archivio-main>.section>.wrap {
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: clamp(1rem,3vw,1.5rem);
}

body.page-media-archivio #media-archivio-main .panel-card {
  padding: clamp(1.35rem,3vw,1.9rem);
}

body.page-media-archivio #media-archivio-main .articles-grid {
  gap: 1rem;
}

body.page-media-archivio #media-archivio-main .article-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(1.25rem,3vw,1.55rem);
}

body.page-media-archivio #media-archivio-main .article-card h3 {
  margin: 0 0 .55rem !important;
  font-family: var(--font-titoli,"Cormorant Garamond",Georgia,serif);
  color: var(--blu-notte,#0a1628);
}

body.page-media-archivio #media-archivio-main .article-card p {
  width: 100%;
  margin: 0 0 1rem !important;
  color: #4d5b6c;
}

body.page-media-archivio #media-archivio-main .article-card .btn-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 44px;
  margin-top: auto;
  padding: .66rem 1rem;
  border: 1px solid rgba(44,80,128,.35);
  border-radius: 999px;
  background: var(--grad-btn-blu,linear-gradient(180deg,#3a6fa8,#2c5080));
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

body.page-media-archivio #media-archivio-main .article-card .btn-download:hover,
body.page-media-archivio #media-archivio-main .article-card .btn-download:focus-visible {
  background: var(--grad-btn-blu-hover,linear-gradient(180deg,#4278ac,#325a8c));
  color: #fff !important;
}

body.page-media-archivio #media-archivio-main>.section.alt>.wrap {
  padding-top: .25rem;
  padding-bottom: .25rem;
}

body.page-presentazioni:not(.page-media-archivio) main#pres-main>.section-shell.tight {
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(2.4rem,4vw,3.25rem) clamp(1rem,3vw,1.5rem) !important;
}

body.page-presentazioni:not(.page-media-archivio) main#pres-main>.section-shell.tight .panel-card {
  padding: clamp(1.35rem,3vw,1.9rem);
}

body.page-presentazioni:not(.page-media-archivio) main#pres-main>.section-shell.tight .cta-row-centered {
  gap: .7rem;
}

body.page-pubblicazioni #pub-main .article-card>h3,
body.v2-editorial-media.page-pubblicazioni main .article-card>h3,
body.v2-editorial-articles main .article-teaser>h3,
body.v2-editorial-articles main .topic-card>h3 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(.v2-route-card,.v2-profile-cover__routes a,.v2-press-cover__actions a,.v2-book-cover__actions a) {
    transition: none !important;
    scroll-behavior: auto;
  }
}

@media (max-width: 768px) {
  .foot-grid a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 9px 0 !important;
  }
  .foot-bottom a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 4px;
  }
  .foot-social a {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
}

@media (max-width: 820px) {
  main :is(
      a.btn,a.btn-download,a.btn-w,a.btn-o,a.btn-primary,a.btn-secondary,
      a.btn-evento,a.btn-acquista,a.gallery-cta-link,a.cta-button,
      a.topic-pill,a.glb-pill,.article-links a.article-chip-small
    ) {
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  body.page-pubblicazioni #pub-main .articles-grid .btn-download {
    min-height: 44px !important;
  }
}

@media (max-width: 520px) {
  body.page-media-archivio #media-archivio-main>.section-shell.tight,
  body.page-presentazioni:not(.page-media-archivio) main#pres-main>.section-shell.tight {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body.page-media-archivio #media-archivio-main .article-card,
  body.page-media-archivio #media-archivio-main .panel-card,
  body.page-presentazioni:not(.page-media-archivio) main#pres-main>.section-shell.tight .panel-card {
    padding: 1.25rem !important;
  }
}
