.pm-hero{
  position:relative;
  padding:0;
  background:#e9eef3;
}
.pm-hero-title{
  font-size: clamp(2.2rem, 1.4rem + 2.8vw, 4.2rem);
  line-height:1.02;
  margin:14px 0 0;
  letter-spacing:-.03em;
  color:#fff;
  text-shadow: 0 12px 28px rgba(0,0,0,.20);
}
.pm-hero-lead{
  margin-top:14px;
  font-size: clamp(1.05rem, .95rem + .45vw, 1.25rem);
  color:rgba(255,255,255,.92);
  max-width: 100%;
  text-shadow: 0 10px 22px rgba(0,0,0,.20);
}

/* Hero slider */
.pm-hero-swiper{position:relative;}
.pm-hero-pagination.swiper-pagination{
  position:absolute;
  left:50%;
  bottom:28px;
  top:auto;
  transform:translateX(-50%);
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
}
.pm-hero-pagination .swiper-pagination-bullet{
  width:10px;
  height:4px;
  border-radius:0;
  margin:0;
  background:rgba(255, 255, 255, 0.45);
  opacity:1;
  border:0;
  transition: width .45s cubic-bezier(.22, 1, .36, 1), background-color .35s ease;
}
.pm-hero-pagination .swiper-pagination-bullet-active{
  width:30px;
  background:#fff;
}
.pm-hero-slide{
  height: min(720px, 80vh);
  min-height: 520px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.pm-hero-swiper .swiper-slide:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#353868;    background: radial-gradient(760px 420px at 18% 22%, rgba(42, 167, 184, .14), transparent 62%), radial-gradient(640px 480px at 92% 12%, rgba(11, 61, 145, .18), transparent 58%), linear-gradient(168deg, rgba(6, 14, 26, .88) 0%, rgba(11, 40, 78, .82) 48%, rgba(7, 18, 32, .92) 100%);opacity:0.6}

@media (max-width:991.98px){
  .pm-hero-slide{height:70vh; min-height: 440px;}
}

/* Fallback "immagini" via gradient (funziona anche se i file non esistono) */
.pm-bg-hero-1{
  background-image:
    linear-gradient(135deg, rgba(11,18,32,.42), rgba(11,61,145,.45)),
    url("../images/hero/hero-medici-01.jpg");
}
.pm-bg-hero-2{
  background-image:
    linear-gradient(135deg, rgba(11,18,32,.40), rgba(14,124,134,.45)),
    url("../images/hero/hero-medici-02.jpg");
}
.pm-bg-hero-3{
  background-image:
    linear-gradient(135deg, rgba(11,18,32,.46), rgba(42,167,184,.42)),
    url("../images/hero/hero-medici-03.jpg");
}
.pm-bg-about{
  background-image:
    radial-gradient(circle at 20% 20%, rgba(42,167,184,.18), transparent 55%),
    linear-gradient(135deg, rgba(245,250,255,1), rgba(11,61,145,.06)),
    url("../images/sections/chi-siamo.jpg");
}
.pm-media{
  min-height: 320px;
  border-radius: 0;
  border:1px solid rgba(16,24,40,.10);
  box-shadow: var(--pm-shadow-sm);
  background-size:cover;
  background-position:center;
}
@media (min-width:992px){ .pm-media{min-height: 420px;} }

.pm-media.pm-media--img{
  display:block;
  width:100%;
  height:auto;
  min-height: 320px;
  max-height: 520px;
  object-fit: cover;
  object-position: center;
}
@media (min-width:992px){
  .pm-media.pm-media--img{min-height: 420px; max-height: 560px;}
}

.pm-hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(203,214,224,.18), rgba(11,18,32,.28));
  mix-blend-mode: multiply;
  pointer-events:none;
}
.pm-hero-center{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  z-index:2;
  padding: 0 18px;
}
.pm-hero-content{
  max-width: 980px;
}
.pm-hero-icon{
  display:flex;
  justify-content:center;
  margin-bottom: 12px;
  opacity:.95;
}
.pm-hero-icon svg{width:50px;height:auto;filter:invert(1);}
.pm-hero-cta{margin-top: 22px;}
.pm-hero-btn{
  background: #353868;
  border-color: #353868;
  border-radius:0;
  padding: 14px 28px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow: 0 22px 46px rgba(53, 56, 104, .48);
}
.pm-hero-btn:hover{
  background:#0A4FC0;
  border-color:#0A4FC0;
}

.pm-hero-arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:64px;
  height:64px;
  border-radius: 0;
  border: 0px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.14);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  backdrop-filter: blur(8px) saturate(140%);
  color:#fff;
  display:grid;
  place-items:center;
  z-index:3;
}
.pm-hero-arrow span{
  font-size: 40px;
  line-height:1;
  margin-top:-2px;
}
.pm-hero-prev{left:18px;}
.pm-hero-next{right:18px;}
.pm-hero-arrow:hover{background: rgba(255,255,255,.20);}
@media (max-width:575.98px){
  .pm-hero-arrow{width:46px; height:46px;bottom: 0;
    top: auto;
    transform: translateY(0%);}
  .pm-hero-arrow span{font-size:30px;}
  .pm-hero-prev{left:0px;}
  .pm-hero-next{right:0px;}
}

/* Quicklinks */
.pm-quicklinks{padding-top:22px;}
.pm-card-icon{height:100%;}
.pm-card-icon-badge{
  width:42px; height:42px;
  border-radius: 0;
  display:grid; place-items:center;
  background:rgba(11,61,145,.10);
  color:var(--color-primary);
  font-weight:900;
  margin-bottom:14px;
}
.pm-badge-secondary{background:rgba(14,124,134,.14); color:var(--color-secondary);}
.pm-badge-accent{background:rgba(42,167,184,.14); color:var(--color-accent);}
.pm-badge-muted{background:rgba(102,112,133,.14); color:rgba(11,18,32,.75);}

/* Section head */
.pm-section-head{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:22px;
}
@media (min-width:768px){
  .pm-section-head{flex-direction:row; align-items:flex-end; justify-content:space-between;}
}
.pm-section-note{color:rgba(11,18,32,.65); max-width: 52ch;}

/* Areas */
.pm-card-soft{
  background:linear-gradient(180deg, #fff, rgba(245,250,255,.55));
}
.pm-card-inline{
  display:inline-flex;
  margin-top:14px;
  text-decoration:none;
  font-weight:900;
  color:var(--color-secondary);
}
.pm-card-inline:hover{text-decoration:underline;}

/* Alcuni dei nostri servizi (sfondo blu scuro, card piatte e trasparenti) */
.services-section{
  width:100%;
  padding: 88px 0 96px;
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(13, 91, 210, .18), transparent 58%),
    radial-gradient(700px 480px at 95% 30%, rgba(42, 167, 184, .10), transparent 55%),
    linear-gradient(180deg, #061022 0%, #050d1c 55%, #040a16 100%);
}
@media (min-width:992px){
  .services-section{padding: 104px 0 112px;}
}
.services-section__header{
  text-align:center;
  max-width: 760px;
  margin: 0 auto 48px;
}
@media (min-width:992px){
  .services-section__header{margin-bottom: 0px;}
}
.services-section__title{
  margin:0;
  font-weight:1000;
  letter-spacing:-.03em;
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.35rem);
  color: #fff;
}
.services-section__subtitle{
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 1.05rem;
  line-height:1.65;
}
.services-grid{margin-top: 0;}

.service-card{
  height:100%;
  display:flex;
  flex-direction:column;
  background: transparent;
  border-radius: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
  overflow: visible;
  text-align:center;
}
.service-card__image{
  margin:0;
  position:relative;
  min-height: 200px;
  overflow: hidden;
  border-radius: 0;
  background: linear-gradient(135deg, rgba(11, 61, 145, .35), rgba(5, 13, 28, .55));
}
.service-card__image::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(5,13,28,.05) 0%, rgba(5,13,28,.35) 100%);
  pointer-events:none;
}
.service-card__photo{
  display:block;
  width:100%;
  height: 220px;
  object-fit: cover;
  border-radius: 0;
}
@media (min-width:992px){
  .service-card__photo{height: 240px;}
}
.service-card__body{
  padding: 28px 12px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  flex:1;
}
.service-card__title{
  margin:0;
  font-weight:1000;
  letter-spacing:-.02em;
  font-size: 1.2rem;
  color: #fff;
}
.service-card__text{
  margin: 14px 0 0;
  max-width: 46ch;
  color: rgba(255, 255, 255, .86);
  font-size: .98rem;
  line-height:1.65;
  flex:1;
}
.service-card__cta{
  margin-top: 22px;
  border-radius: 0 !important; /* sopra il default arrotondato di Bootstrap .btn */
  padding: 12px 24px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size: .78rem;
  border-width: 1px;
}
.services-section .service-card .btn{
  border-radius: 0;
}
.service-card__cta:hover{
  background: rgba(255,255,255,.12);
  color:#fff;
}
.service-card__cta:focus-visible{
  box-shadow: 0 0 0 3px rgba(154, 215, 255, .55);
}

/* Variante Organigramma: stessi stili base, ma sfondo/card bianchi + ombra leggera + testo primary */
.services-section--organigramma{
  background:#fff;
}
.services-section--organigramma .services-section__title{
  color:var(--bs-primary);
}
.services-section--organigramma .services-section__subtitle{
  color:rgba(11,18,32,.72);
}
.services-section--organigramma .service-card{
  background:#fff;
  border:1px solid rgba(16,24,40,.10);
  box-shadow: var(--pm-shadow-sm);
  overflow:hidden;
}
.services-section--organigramma .service-card__image{
  background:#fff;
}
.services-section--organigramma .service-card__image::after{
  display:none;
}
.services-section--organigramma .service-card__title,
.services-section--organigramma .service-card__text{
  color:var(--bs-primary);
}
.services-section__footer{
  margin-top: 22px;
}
@media (min-width:992px){
  .services-section__footer{margin-top: 28px;}
}

/* News */
.pm-news-card{
  height:100%;
  border-radius: 0;
  border:1px solid rgba(16,24,40,.10);
  background:#fff;
  box-shadow: var(--pm-shadow-sm);
  padding:18px;
}
.pm-news-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:rgba(11,18,32,.65);
  font-weight:700;
  font-size:.9rem;
}
.pm-chip{
  padding:6px 10px;
  border-radius:0;
  background:rgba(11,61,145,.10);
  color:var(--color-primary);
  border:1px solid rgba(11,61,145,.14);
  font-weight:900;
  font-size:.78rem;
}
.pm-chip-secondary{background:rgba(14,124,134,.12); color:var(--color-secondary); border-color:rgba(14,124,134,.18);}
.pm-chip-accent{background:rgba(42,167,184,.14); color:rgba(14,124,134,1); border-color:rgba(42,167,184,.22);}
.pm-news-title{
  font-weight:400;
  letter-spacing:-.02em;
  font-size:1.5rem;
  margin:12px 0 0;
}
.pm-news-text{margin-top:10px; color:rgba(11,18,32,.72);}
.pm-news-link{
  display:inline-flex;
  margin-top:12px;
  text-decoration:none;
  font-weight:900;
  color:var(--color-primary);
}
.pm-news-link:hover{text-decoration:underline;}

.pm-news-swiper{
  overflow:hidden;
  margin-top:4px;
}
.pm-news-swiper .swiper-wrapper{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
}
.pm-news-swiper .swiper-slide{
  height:auto;
  box-sizing:border-box;
}

/* Link e indirizzi utili (Swiper) */
.pm-useful-links-section{
  padding:70px 0;
  background:#fff;
}
.pm-useful-links-title{
  color:#353868;
  font-weight:700;
  margin:0 0 36px;
}
.pm-useful-links-swiper{
  overflow:hidden;
  padding:10px 4px 46px;
}
.pm-useful-link-card{
  height:auto;
  min-height:230px;
  display:flex;
  flex-direction:column;
  background:#fff;
  color:#09133a;
  text-decoration:none;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.pm-useful-link-card:hover,
.pm-useful-link-card:focus{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.12);
  color:#09133a;
}
.pm-useful-link-logo{
  height:135px;
  padding:24px 22px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pm-useful-link-logo img{
  max-width:100%;
  max-height:90px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.pm-useful-link-body{padding:0 20px 22px;}
.pm-useful-link-body h3{
  margin:0 0 7px;
  font-size:18px;
  line-height:1.25;
  color:#353868;
  font-weight:700;
}
.pm-useful-link-body p{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#06133d;
}
.pm-useful-links-controls{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:10px;
}
.pm-useful-links-prev,
.pm-useful-links-next{
  display:none;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(16,24,40,.14);
  background:#fff;
  color:#353868;
  box-shadow:0 6px 16px rgba(16,24,40,.08);
  place-items:center;
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.pm-useful-links-prev:hover,
.pm-useful-links-next:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(16,24,40,.10);
  color:var(--color-secondary);
}
.pm-useful-links-prev span,
.pm-useful-links-next span{
  font-size:26px;
  line-height:1;
  transform:translateY(-1px);
}
.pm-useful-links-pagination{
  margin-top:14px;
}
.pm-useful-links-pagination .swiper-pagination-bullet{
  width:10px;
  height:10px;
  background:rgba(53,56,104,.25);
  opacity:1;
}
.pm-useful-links-pagination .swiper-pagination-bullet-active{
  background:var(--bs-primary)
}

/* Qualità e sicurezza / CIRS — sezione full width premium */
.quality-safety-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:rgba(255,255,255,.96);
  padding:72px 0 80px;
}
@media (min-width:992px){
  .quality-safety-section{padding:96px 0 104px;}
}
.quality-safety-section__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-color:#070f1c;
  /* Ultimo layer: cirs-bg.jpg — se assente, restano tinte e radial sopra */
  background-image:
    radial-gradient(1200px 600px at 12% 20%, rgba(42,167,184,.08), transparent 55%),
    radial-gradient(900px 500px at 88% 70%, rgba(11,61,145,.12), transparent 58%),
    linear-gradient(160deg, #0a1628 0%, #0d2244 45%, #081018 100%),
    url("../images/servizi6.png");
  background-size:cover;
  background-position:center;
  filter:saturate(.42) brightness(.55);
  transform:scale(1.02);
  background-image: url(../images/servizi6.png);
  filter: saturate(0) brightness(0.5);
}
@media (prefers-reduced-motion: reduce){
  .quality-safety-section__bg{transform:none;}
}
.quality-safety-section__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(760px 420px at 18% 22%, rgba(42,167,184,.14), transparent 62%),
    radial-gradient(640px 480px at 92% 12%, rgba(11,61,145,.18), transparent 58%),
    linear-gradient(168deg, rgba(6,14,26,.88) 0%, rgba(11,40,78,.82) 48%, rgba(7,18,32,.92) 100%);
  mix-blend-mode:normal;
}
.quality-safety-section__inner{
  position:relative;
  z-index:2;
}
/* Griglia: su desktop stessa altezza colonne; immagine principale = background sul div .__media */
.quality-safety-section__layout{
  display:grid;
  grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);
  align-items:stretch;
  gap:clamp(2rem, 5vw, 5rem);
  min-height:0;
}
.quality-safety-section__media{
  margin:0;
  position:relative;
  min-height:0;
  align-self:stretch;
  background-color:rgba(255,255,255,.06);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
  box-shadow:
    0 24px 48px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.08);
}
@media (min-width:992px){
  .quality-safety-section__media{
    min-height:100%;
    height:100%;
  }
}
.quality-safety-section__media--missing{
  background-image:
    linear-gradient(145deg, rgba(255,255,255,.14) 0%, rgba(11,61,145,.2) 48%, rgba(14,124,134,.18) 100%),
    radial-gradient(400px 200px at 30% 40%, rgba(255,255,255,.1), transparent 70%);
}
@media (max-width:991.98px){
  .quality-safety-section__layout{
    grid-template-columns:1fr;
  }
  .quality-safety-section__media{
    min-height:clamp(260px, 52vw, 320px);
    height:auto;
    align-self:stretch;
  }
}
.quality-safety-section__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding-top:4px;
}
@media (min-width:992px){
  .quality-safety-section__content{
    padding-top:0;
    padding-left:8px;
  }
}
.quality-safety-section__title{
  margin:0;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:clamp(1.15rem, .85rem + 1.1vw, 1.65rem);
  line-height:1.25;
  color:#fff;
}
.quality-safety-section__subtitle{
  margin:14px 0 0;
  font-size:1rem;
  font-weight:600;
  color:rgba(255,255,255,.72);
  letter-spacing:.01em;
}
.quality-safety-section__kicker{
  margin:0 0 8px;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.quality-safety-section__body{
  margin-top:24px;
  max-width:62ch;
}
.quality-safety-section__body p{
  margin:16px 0 0;
  font-size:1rem;
  line-height:1.65;
  color:rgba(255,255,255,.88);
}
.quality-safety-section__body p:first-child{
  margin-top:0;
  font-size:clamp(1.02rem, .96rem + .2vw, 1.12rem);
  color:rgba(255,255,255,.94);
}
.quality-safety-section__divider{
  width:56px;
  height:3px;
  margin:22px 0 0;
  background:linear-gradient(90deg, var(--color-accent), rgba(255,255,255,.35));
  border-radius:2px;
}
.quality-safety-section__lead{
  margin:24px 0 0;
  font-size:clamp(1.02rem, .96rem + .2vw, 1.12rem);
  line-height:1.65;
  color:rgba(255,255,255,.94);
  max-width:62ch;
}
.quality-safety-section__text{
  margin:16px 0 0;
  font-size:1rem;
  line-height:1.65;
  color:rgba(255,255,255,.88);
  max-width:62ch;
}
.quality-safety-section__alert{
  margin-top:26px;
  padding:18px 20px;
  /* border-radius:12px; */
  /* border:1px solid rgba(42,167,184,.35); */
  background: linear-gradient(135deg, rgba(42, 167, 184, .75), rgb(10 215 243 / 22%));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.quality-safety-section__alert-text{
  margin:0;
  font-size:1.02rem;
  line-height:1.5;
  color:rgba(255,255,255,.96);
}
.quality-safety-section__alert-tel{
  display:inline-block;
  margin-left:6px;
  font-weight:900;
  font-size:1.15rem;
  letter-spacing:.02em;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  border-bottom:2px solid rgba(42,167,184,.65);
}
.quality-safety-section__alert-tel:hover{
  color:var(--color-accent);
  border-bottom-color:var(--color-accent);
}
.quality-safety-section__actions{
  margin-top:28px;
}
.quality-safety-section .btn-primary{
  font-weight:800;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.quality-safety-section .btn-outline-light{
  font-weight:800;
  border-width:2px;
}
.quality-safety-section .btn-outline-light:hover{
  color:var(--color-dark);
  background:#fff;
  border-color:#fff;
}

/* Stats */
.pm-stats{padding:50px 0;    background: linear-gradient(135deg, rgba(11, 61, 145, 1), rgba(14, 124, 134, 1));}
.pm-stats-card{
  border-radius: 0;
  color:#fff;
  padding:26px;
}
.pm-stat-num{font-weight:1000; letter-spacing:-.03em; font-size: clamp(1.4rem, 1rem + 1.5vw, 2.05rem);}
.pm-stat-label{opacity:.92; font-weight:700;}

/* Private */
/* Banner servizi dedicati ai medici (full width + parallax leggero) */
.pm-private{
  padding: 0;
}
.doctors-services-banner{
  position:relative;
  --pm-parallax-y: 0px;
  min-height: 520px;
  padding: 82px 0;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(11, 18, 32, .55), rgba(11, 61, 145, .42)),
    url("../images/sections/servizi-medici-banner.jpg"); /* Inserire qui l'immagine finale */
  background-size: cover;
  background-position: 50% calc(50% + var(--pm-parallax-y));
  background-repeat: no-repeat;
  overflow:hidden;
}
@media (min-width: 768px){
  .doctors-services-banner{
    will-change: background-position;
  }
}
@media (min-width:992px){
  .doctors-services-banner{
    min-height: 620px;
    padding: 110px 0;
    background-attachment: scroll; /* parallax gestito via JS (raffinato) */
  }
}
@media (max-width:991.98px){
  .doctors-services-banner{
    min-height: 460px;
    padding: 72px 0;
    background-attachment: scroll;
  }
}
@media (prefers-reduced-motion: reduce){
  .doctors-services-banner{
    will-change: auto;
    background-attachment: scroll;
  }
}
.doctors-services-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 18% 28%, rgba(13, 91, 210, .22), transparent 65%),
    radial-gradient(800px 520px at 84% 18%, rgba(42, 167, 184, .14), transparent 66%),
    linear-gradient(180deg, rgba(5, 13, 28, .30) 0%, rgba(5, 13, 28, .62) 100%);
  pointer-events:none;
}
.doctors-services-inner{position:relative; z-index:2;}

.doctors-services-content{
  text-align:left;
}
.doctors-services-eyebrow{
  display:inline-flex;
  padding:8px 12px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:.72rem;
  color: rgba(255,255,255,.88);
}
.doctors-services-title{
  margin-top:16px;
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.04;
  font-size: clamp(2rem, 1.3rem + 2.1vw, 3.2rem);
  text-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.doctors-services-text{
  margin-top:16px;
  max-width: 62ch;
  color: rgba(255,255,255,.90);
  font-size: 1.06rem;
  line-height:1.65;
  text-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.doctors-services-btn{
  border-radius: 0;
  padding: 14px 26px;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow: 0 22px 46px rgba(13, 91, 210, .26);
}
.doctors-services-btn-secondary{
  border-radius: 0;
  padding: 14px 22px;
  font-weight:950;
}
.doctors-services-note{
  margin-top: 14px;
  color: rgba(255,255,255,.70);
  font-weight:800;
  font-size:.92rem;
}

.doctors-services-visual{
  position:relative;
}
.doctors-services-card{
  position:relative;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  backdrop-filter: blur(10px) saturate(150%);
  box-shadow: 0 32px 80px rgba(0,0,0,.28);
  padding: 22px 22px 18px;
}
@media (min-width:992px){
  .doctors-services-card{
    margin-left: auto;
    max-width: 420px;
    transform: translateY(8px);
  }
}
.doctors-services-card-title{
  font-weight:1000;
  letter-spacing:-.02em;
  color:#fff;
  font-size:1.1rem;
}
.doctors-services-list{
  list-style:none;
  padding:0;
  margin: 14px 0 0;
  display:grid;
  gap: 10px;
}
.doctors-services-list li{
  position:relative;
  padding-left: 28px;
  color: rgba(255,255,255,.88);
  font-weight:850;
}

.doctors-services-list li::after{
  content:"";
  position:absolute;
  left: 2px;
  top: 0.40em;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--bs-info);
  border-bottom: 2px solid var(--bs-info);
  transform: rotate(-45deg);
}
.doctors-services-card-footer{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.doctors-services-link{
  color: var(--bs-info);;
  text-decoration:none;
  font-weight:950;
}
.doctors-services-link:hover{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.doctors-services-glow{
  position:absolute;
  inset: -40px -40px -40px -40px;
  background: radial-gradient(circle at 65% 35%, rgba(42,167,184,.22), transparent 55%);
  filter: blur(16px);
  opacity:.65;
  pointer-events:none;
  z-index:0;
}

@media (max-width:991.98px){
  .doctors-services-content{text-align:left;}
  .doctors-services-card{margin-top: 10px;}
}

/* Contact form */
.pm-contact{box-shadow: 0px 5px 24px rgba(0, 0, 0, 0.2);
  background: linear-gradient(135deg, rgba(11, 61, 145, 1), rgba(14, 124, 134, 1));
}
.pm-contact .boxFormRequest{    box-shadow: 0px 5px 24px rgba(0, 0, 0, 0.2);
    background-color: rgba(255, 255, 255, 0.1);
}
.pm-contact .pm-section-title, .pm-contact .pm-section-lead, .pm-contact .pm-section-kicker, .pm-contact .form-label, .pm-contact .form-check-label{color:var(--bs-white);}

.pm-contact .form-control{
  background-color: rgba(255, 255, 255, 0.1);
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 1);
  color: var(--bs-white);
}

.pm-contact-box{
  border-radius: 0;color:var(--bs-white);

}
.pm-form-card{
  border-radius: 0;
  padding:30px;
  height: 540px;
}
.pm-form-status{color:rgba(11,18,32,.75); font-weight:800;}

.pm-info-form .form-label {
  color: #fff;
  margin-bottom: .5rem;
}

.pm-info-form .form-control,
.pm-info-form .form-select,
.pm-info-form .pm-form-control {
  background: rgba(255, 255, 255, .12);
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .85);
  border-radius: 0;
  color: #fff;
  min-height: 38px;
}

.pm-info-form .form-control:focus,
.pm-info-form .form-select:focus,
.pm-info-form .pm-form-control:focus {
  background: rgba(255, 255, 255, .18);
  color: #fff;
  box-shadow: none;
  border-color: #fff;
}

.pm-info-form textarea.form-control,
.pm-info-form textarea.pm-form-control {
  min-height: 132px;
}

.pm-info-form .form-check-label {
  color: #fff;
}

.pm-info-form .form-check-input {
  margin-top: .25rem;
}

.pm-form-submit {
  background: #2f3268;
  color: #fff;
  border-radius: 0;
  padding: .8rem 1.2rem;
  font-weight: 700;
  border: 0;
}

.pm-form-submit:hover,
.pm-form-submit:focus {
  background: #252858;
  color: #fff;
}

.pm-info-form ::placeholder {
  color: rgba(255, 255, 255, .65);
}

.pm-info-form .form-control.is-invalid,
.pm-info-form .pm-form-control.is-invalid {
  border-bottom-color: #ffb4b4;
}

.pm-form-success-title {
  color: #fff;
  font-weight: 700;
  margin-bottom: .5rem;
}

.pm-form-success-text {
  color: rgba(255, 255, 255, .9);
  margin-bottom: .35rem;
}

.pm-form-card-legacy {
  padding: 0;
  height: auto;
}

/* Footer */
.pm-footer{
  padding: 86px 0 0;
  color: rgba(255,255,255,.88);
  background:
    radial-gradient(1200px 600px at 12% 30%, rgba(13, 91, 210, .20), transparent 60%),
    radial-gradient(900px 520px at 86% 18%, rgba(42, 167, 184, .14), transparent 62%),
    linear-gradient(180deg, #071326 0%, #061022 65%, #050D1C 100%);
  border-top: 1px solid rgba(255,255,255,.06);
  position: relative;
  overflow: hidden;
}
.pm-footer::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(circle at 70% 40%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(circle at 20% 80%, rgba(255,255,255,.04), transparent 60%);
  opacity:.55;
  pointer-events:none;
}
.pm-footer-main{
  position:relative;
  padding-bottom: 46px;
}

.pm-footer-branding{max-width: 52ch;}
.pm-footer-brand{
  font-weight:1000;
  letter-spacing:-.02em;
  font-size:1.35rem;
  color:#fff;
}
.pm-footer-payoff{
  margin-top:4px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.74rem;
  color: rgba(173, 205, 233, .92);
}
.pm-footer-text{
  margin-top:14px;
  color: rgba(255,255,255,.74);
  line-height:1.65;
}
.pm-footer-text-sm{font-size:.98rem; margin-top:10px;}

.pm-footer-title{
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:.82rem;
  color: rgba(255,255,255,.92);
  margin-bottom: 14px;
}
.pm-footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pm-footer-links a{
  text-decoration:none;
  color: rgba(255,255,255,.74);
  font-weight:750;
}
.pm-footer-links a:hover{
  color: rgba(154, 215, 255, .95);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.pm-footer-social{
  display:flex;
  gap:10px;
  margin-top:16px;
}
.pm-footer-social-btn{
  width:40px;
  height:40px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.82);
  display: flex;
  justify-content: center;
  text-decoration:none;
  font-weight:1000;
  align-items: center;
  line-height: 1;
  font-size: 18px;
}
.pm-footer-social-btn:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(154,215,255,.35);
  color:#fff;
}

.pm-footer-newsletter{margin-top: 12px;}
.pm-footer-label{
  display:block;
  font-weight:900;
  font-size:.85rem;
  color: rgba(255,255,255,.86);
  margin-bottom:8px;
}
.pm-footer-input-group{
  display:flex;
  align-items:stretch;
  border-radius: 0;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  overflow:hidden;
}
.pm-footer-input{
  flex:1;
  background: transparent;
  border:0;
  color:#fff;
  padding: 12px 16px;
  min-width: 0;
}
.pm-footer-input::placeholder{color: rgba(255,255,255,.55);}
.pm-footer-input:focus{outline:none;}
.pm-footer-send{
  width:52px;
  border:0;
  background: rgba(13, 91, 210, .95);
  color:#fff;
  font-weight:1000;
}
.pm-footer-send:hover{background: rgba(10, 79, 192, 1);}
.pm-footer-help{
  margin-top:8px;
  font-size:.86rem;
  color: rgba(255,255,255,.62);
}

.pm-footer-contacts{
  margin-top:18px;
  padding-top:16px;
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pm-footer-contact-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:baseline;
  color: rgba(255,255,255,.76);
}
.pm-footer-contact-k{
  width:90px;
  flex-shrink:0;
  color: rgba(173, 205, 233, .92);
  font-weight:900;
  letter-spacing:.02em;
}
.pm-footer-contacts a{
  color: rgba(154, 215, 255, .95);
  text-decoration:none;
  font-weight:850;
}
.pm-footer-contacts a:hover{text-decoration:underline; text-underline-offset:4px;}

.pm-footer-bottom{
  position:relative;
  border-top:1px solid rgba(255,255,255,.10);
  padding:18px 0 22px;
}
.pm-footer-legal{color: rgba(255,255,255,.62); font-weight:750;}
.pm-footer-legal-links a{
  color: rgba(255,255,255,.62);
  text-decoration:none;
  font-weight:800;
}
.pm-footer-legal-links a:hover{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width:991.98px){
  .pm-footer{padding-top:72px;}
}

.swiper-pagination-bullet,
.swiper-pagination-bullet-active{
  border-radius: 0 !important;
}

/* Editorial blocks (home) */
.pm-editorial-blocks{
  padding:80px 0;
  background:#fff;
}
.pm-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);
  gap:42px;
  align-items:start;
}
.pm-editorial-card{
  display:grid;
  gap:18px;
  align-content:start;
}
.pm-editorial-card-main{
  grid-row: span 2;
}
.pm-editorial-image{
  display:block;
  overflow:hidden;
  background:#f4f5f8;
  border:1px solid rgba(16,24,40,.10);
}
.pm-editorial-card-main .pm-editorial-image{
  aspect-ratio: 4.16 / 5;
}
.pm-editorial-card:not(.pm-editorial-card-main) .pm-editorial-image{
  aspect-ratio:16 / 8;
}
.pm-editorial-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.pm-editorial-card:hover .pm-editorial-image img{
  transform:scale(1.035);
}
.pm-editorial-kicker{
  margin:0 0 8px;
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--color-secondary);
  font-weight:700;
}
.pm-editorial-content h2,
.pm-editorial-content h3{
  margin:0 0 12px;
  color:var(--color-primary);
  font-weight:500;
  line-height:1.15;
  font-size: clamp(24px, 2.4vw, 36px);
}
.pm-editorial-card-main h2{
  font-size:clamp(32px, 4vw, 54px);
}
.pm-editorial-card:not(.pm-editorial-card-main) h3{
  font-size:clamp(24px, 2.4vw, 36px);
}
.pm-editorial-content h2 a,
.pm-editorial-content h3 a{
  color:inherit;
  text-decoration:none;
}
.pm-editorial-content p,
.pm-editorial-content .pm-editorial-text{
  margin:0 0 18px;
  color:#32384d;
  font-size:16px;
  line-height:1.65;
}
.pm-editorial-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--color-primary);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
.pm-editorial-link:hover,
.pm-editorial-link:focus{
  color:var(--color-secondary);
}
@media (max-width:991.98px){
  .pm-editorial-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .pm-editorial-card-main{
    grid-row:auto;
  }
  .pm-editorial-card-main .pm-editorial-image,
  .pm-editorial-card:not(.pm-editorial-card-main) .pm-editorial-image{
    aspect-ratio:16 / 10;
  }
}
@media (max-width:575.98px){
  .pm-editorial-blocks{
    padding:56px 0;
  }
  .pm-editorial-grid{
    gap:32px;
  }
  .pm-editorial-content p,
  .pm-editorial-content .pm-editorial-text{
    font-size:15px;
  }
}

/* PROGRAMMA PRAXISASSISTENZ TICINO */
.pm-praxis-section{
  padding:80px 0;
  background:#f7f9fc;
}
.pm-praxis-section-full{
  width:100%;
}
.pm-praxis-section-full .container-fluid{
  max-width:1600px;
  margin:0 auto;
}
.pm-praxis-card{
  height:100%;
  min-height:320px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.07);
}
.pm-praxis-image-card img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;object-position: center right;
  display:block;
}
.pm-praxis-text-card{
  padding:38px 36px;
}
.pm-praxis-text-card h2{
  margin:0 0 22px;
  color:var(--color-primary);
  font-size:clamp(26px, 2.4vw, 38px);
  line-height:1.12;
  font-weight:700;
  text-transform:uppercase;
}
.pm-praxis-text-card p{
  margin:0;
  color:#1f2433;
  font-size:16px;
  line-height:1.7;
}
.pm-praxis-places{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(53, 56, 104, .14);
  color:var(--color-primary);
  font-weight:700;
  line-height:1.7;
}
.pm-praxis-action-card{
  padding:34px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:30px;
  text-align:center;
}
.pm-praxis-logos{
  display:grid;
  gap:24px;
  width:100%;
}
.pm-praxis-logos img{
  max-width:190px;
  max-height:74px;
  width:auto;
  height:auto;
  object-fit:contain;
  margin:0 auto;
  display:block;
}
.pm-praxis-btn{
  background:var(--color-secondary);
  border-color:var(--color-secondary);
  color:#fff;
  font-weight:700;
  border-radius:999px;
  padding:12px 24px;
  text-decoration:none;
}
.pm-praxis-btn:hover,
.pm-praxis-btn:focus{
  background:#349bc0;
  border-color:#349bc0;
  color:#fff;
}
@media (max-width:991.98px){
  .pm-praxis-section{
    padding:60px 0;
  }
  .pm-praxis-card{
    min-height:0;
  }
  .pm-praxis-image-card img{
    min-height:260px;
    aspect-ratio:16 / 9;
  }
  .pm-praxis-text-card{
    padding:30px 26px;
  }
  .pm-praxis-action-card{
    padding:30px 24px;
  }
}

/* "Istituto Medicina della Famiglia dell'USI” (Facoltà di Biomedicina) */
.pm-imf-section{
  width:100%;
  padding:86px 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.22), transparent 34%),
    linear-gradient(135deg, #43b0d7 0%, #358fc2 48%, #353868 100%);
  color:#fff;
  overflow:hidden;
}
.pm-imf-section .container-fluid{
  max-width:1600px;
  margin:0 auto;
}
.pm-imf-card{
  height:100%;
  min-height:360px;
}
.pm-imf-text-card{
  padding:38px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pm-imf-text-card h2{
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(28px, 2.8vw, 46px);
  line-height:1.12;
  font-weight:700;
}
.pm-imf-text-card p{
  margin:0;
  color:rgba(255,255,255,.94);
  font-size:16px;
  line-height:1.75;
}
.pm-imf-image-card{
  overflow:hidden;
  background:rgba(255,255,255,.14);
  box-shadow:0 18px 48px rgba(0,0,0,.16);
}
.pm-imf-image-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;    object-position: center right;
  display:block;
}
.pm-imf-action-card{
  padding:34px 28px;
  background:rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:0 18px 48px rgba(0,0,0,.12);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:34px;
  text-align:center;
}
.pm-imf-logos{
  width:100%;
  display:grid;
  gap:24px;
  justify-items:center;
}
.pm-imf-logos img{
  max-width:180px;
  max-height:78px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;


}
.pm-imf-btn{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#fff;
  font-weight:700;
  border-radius:999px;
  padding:12px 26px;
  text-decoration:none;
}
.pm-imf-btn:hover,
.pm-imf-btn:focus{
  background:#2d3059;
  border-color:#2d3059;
  color:#fff;
}
@media (max-width:991.98px){
  .pm-imf-section{
    padding:64px 0;
  }
  .pm-imf-card{
    min-height:0;
  }
  .pm-imf-image-card img{
    min-height:260px;
    aspect-ratio:16 / 9;
  }
  .pm-imf-text-card{
    padding:30px 24px;
  }
  .pm-imf-action-card{
    padding:30px 24px;
  }
  .pm-form-card{height:auto;}
}

/* Stats (variante con text-mask) */
.pm-stats-alt{
  padding:90px 0;
  background:#fff;
  background: linear-gradient(180deg, #f3f5f8 0%, #cfcfcf 100%);
}
.pm-stats-alt-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:32px;
  align-items:start;
  min-width:0;
}
.pm-stats-alt-item{
  text-align:center;
  min-width:0;
}
.pm-stats-alt-number-wrap{
  line-height:1;
  margin-bottom:18px;
  max-width:100%;
}
.pm-stats-alt-number {
  display: inline-block;
  max-width:100%;
  font-size: clamp(84px, 14vw, 218px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -0.04em;
  color: var(--color-secondary); /* fallback */
  background-image: url("../images/canton-ticino-1.png");
  background-repeat: no-repeat;
  background-size: 200% 100%;
  background-position: center;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.pm-stats-alt-number.is-left {
  background-position: left center;
}

.pm-stats-alt-number.is-right {
  background-position: right center;
}
.pm-stats-alt-label{
  margin:0 auto;
  max-width:280px;
  color:var(--color-primary);
  font-size:18px;
  line-height:1.45;
  font-weight:600;
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .pm-stats-alt-number{
    background:none;
    color:var(--color-secondary);
    -webkit-text-fill-color:initial;
  }
}
@media (max-width:991.98px){
  .pm-stats-alt{
    padding:64px 0;
  }
  .pm-stats-alt-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .pm-stats-alt-number{
    font-size:clamp(72px, 24vw, 140px);
  }
  .pm-stats-alt-label{
    font-size:16px;
    max-width:340px;
  }
}

/* News archive (news_lista.php) — sole nuove classi, senza alterare .pm-news-card / .pm-news-link */
.pm-news-archive .pm-news-filters{
  margin: 0 0 28px;
}
.pm-news-filter{
  border-radius: 0;
  font-weight: 700;
}
.pm-news-list{
  margin-top: 4px;
}
.pm-news-card.pm-news-card-list{
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}
.pm-news-card-media{
  display: block;
  overflow: hidden;
  line-height: 0;
}
.pm-news-card-image{
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
/* Archivio news_lista (es. /servizi/campagne/campagne/): immagine intera, niente crop */
.pm-news-list .pm-news-card-media{
  background-color: var(--bs-gray-200, #e9ecef);
}
.pm-news-list .pm-news-card-image{
  object-fit: contain;
}
.pm-news-card-content{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 18px;
}
.pm-news-card-list .pm-news-title a{
  color: inherit;
  text-decoration: none;
}
.pm-news-card-list .pm-news-title a:hover{
  text-decoration: underline;
}
.pm-news-card-content .pm-news-link{
  margin-top: auto;
}
.pm-news-empty{
  text-align: center;
  padding: 48px 20px;
  border: 1px solid rgba(16,24,40,.10);
  background: #fff;
  box-shadow: var(--pm-shadow-sm);
}
.pm-news-empty > i{
  display: inline-flex;
  font-size: 2rem;
  color: var(--color-primary);
  margin-bottom: 12px;
}
.pm-news-empty h2{
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: -.02em;
}
.pm-news-empty p{
  margin: 0 0 18px;
  color: rgba(11,18,32,.72);
}
.pm-news-pagination{
  margin-top: 36px;
}
.pm-news-pagination .page-link{
  border-radius: 0;
  font-weight: 700;
  color: var(--color-primary);
}
.pm-news-pagination .page-item.active .page-link{
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* Article detail (news_articolo.php) */
.pm-article-header{
  margin-bottom: 28px;
}
.pm-article-back{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  font-weight: 700;
  text-decoration: none;
  color: var(--color-primary);
}
.pm-article-back:hover{
  text-decoration: underline;
}
.pm-article-meta{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
  margin-bottom: 1rem;
  color: rgba(11,18,32,.65);
  font-weight: 700;
  font-size: .9rem;
}
@media (min-width: 768px){
  .pm-article-meta{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
  }
}
.pm-article-title{
  margin-top: 0;
  max-width: none;
}
.pm-article-subtitle{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  max-width: none;
  font-size: 1.1rem;
  color: rgba(11,18,32,.72);
  font-weight: 500;
}
.pm-article-cover,
.news-article__main-image{
  margin: 0;
  overflow: hidden;
  background: rgba(16,24,40,.04);
  border: 1px solid var(--bs-gray-100);
  border-radius: 0;
}
.pm-article-cover + .pm-article-body{
  margin-top: 1.5rem;
}
.pm-article-cover-image{
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--bs-gray-300);
  object-fit: cover;
}
.pm-article-body{
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(11,18,32,.88);
}
.pm-article-body > *:first-child{margin-top: 0;}
.pm-article-body > *:last-child{margin-bottom: 0;}
.pm-article-body p{margin: 0 0 1.1em;}
.pm-article-body h2,
.pm-article-body h3,
.pm-article-body h4{
  margin: 1.4em 0 .6em;
  letter-spacing: -.02em;
  line-height: 1.25;
}
.pm-article-body ul,
.pm-article-body ol{padding-left: 1.2em; margin: 0 0 1.1em;}
.pm-article-body blockquote{
  margin: 1.2em 0;
  padding: 12px 18px;
  border-left: 3px solid var(--color-secondary);
  background: rgba(14,124,134,.06);
  color: rgba(11,18,32,.8);
}
.pm-article-body img{
  max-width: 100%;
  height: auto;
}
.pm-article-body table{
  width: 100%;
  border-collapse: collapse;
}
.pm-article-body .table-responsive,
.pm-article-body table{
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pm-article-video,
.pm-article-gallery,
.pm-article-resources{
  margin-top: 40px;
}
.pm-article-actions .btn.btn-primary.download-card--protected{
  background-color: var(--download-protected-bg);
  border-color: var(--download-protected-bg);
  color: var(--download-protected-text);
}
.pm-article-actions .btn.btn-primary.download-card--protected:hover,
.pm-article-actions .btn.btn-primary.download-card--protected:focus-visible{
  background-color: var(--download-protected-bg-hover);
  border-color: var(--download-protected-bg-hover);
  color: var(--download-protected-text);
}
.pm-article-actions .btn.btn-primary.download-card--protected:focus-visible{
  outline: 2px solid var(--download-protected-focus-ring);
  outline-offset: 2px;
  box-shadow: none;
}
.pm-article-actions .btn.btn-primary.download-card--protected i,
.pm-article-actions .btn.btn-primary.download-card--protected span{
  color: inherit;
}
.pm-article-video h2,
.pm-article-resources h2{
  margin: 0 0 16px;
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: -.02em;
}
.pm-article-video-file{
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  background: #000;
}
.pm-article-gallery-item{
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
  cursor: zoom-in;
  text-decoration: none;
  color: inherit;
}
.pm-article-gallery-item:focus-visible{
  outline: 3px solid rgba(42,167,184,.55);
  outline-offset: 2px;
}
.pm-article-gallery-image{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.pm-article-gallery-modal-image{
  max-width: 100%;
  height: auto;
}
.pm-article-gallery-modal-caption{
  margin: 12px 0 0;
  color: rgba(11,18,32,.7);
}
.pm-article-resource{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px 0;
  border-bottom: 1px solid rgba(16,24,40,.10);
}
.pm-article-resource:first-of-type{
  border-top: 1px solid rgba(16,24,40,.10);
}
.pm-article-resource-info{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.pm-article-resource-info > i{
  font-size: 1.35rem;
  color: var(--color-primary);
  margin-top: 2px;
}
.pm-article-resource-name{
  display: block;
  font-weight: 700;
}
.pm-article-resource small{
  display: block;
  margin-top: 2px;
  color: rgba(11,18,32,.6);
}
.pm-article-footer-nav{
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(16,24,40,.10);
}

/* Sidebar ultimi contenuti (news_articolo.php) */
.pm-article-sidebar{
  position: sticky;
  top: 120px;
}
.pm-article-sidebar-head{
  margin-bottom: 1.5rem;
}
.pm-article-sidebar-title{
  margin: .25rem 0 0;
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: inherit;
}
.pm-latest-news{
  margin-bottom: 1.5rem;
}
.pm-latest-news-item{
  border-bottom: 1px solid rgba(16,24,40,.10);
}
.pm-latest-news-item:first-child{
  border-top: 1px solid rgba(16,24,40,.10);
}
.pm-latest-news-link{
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  color: inherit;
  text-decoration: none;
}
.pm-latest-news-media{
  flex: 0 0 104px;
  width: 104px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: rgba(16,24,40,.04);
}
.pm-latest-news-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pm-latest-news-content{
  flex: 1 1 auto;
  min-width: 0;
}
.pm-latest-news-meta{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  font-size: .78rem;
  font-weight: 700;
  color: rgba(11,18,32,.58);
}
.pm-latest-news-title{
  margin: .35rem 0 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: inherit;
  transition: color .2s ease;
}
.pm-latest-news-arrow{
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--color-primary);
  transition: transform .2s ease;
}
.pm-latest-news-link:hover .pm-latest-news-title,
.pm-latest-news-link:focus-visible .pm-latest-news-title{
  color: var(--color-primary);
}
.pm-latest-news-link:hover .pm-latest-news-arrow,
.pm-latest-news-link:focus-visible .pm-latest-news-arrow{
  transform: translateX(4px);
}
.pm-article-sidebar-btn{
  border-radius: 0;
  font-weight: 700;
}
@media (max-width: 991.98px){
  .pm-article-sidebar{
    position: static;
    margin-top: 2rem;
  }
}
@media (max-width: 575.98px){
  .pm-latest-news-media{
    flex-basis: 88px;
    width: 88px;
  }
}

