/* =========================================================
   Articoli — stesso stile del sito
   Titoli Playfair Display · testo Lato · arancione e blu
   ========================================================= */
main > .container.col-lg-8 { max-width: 52rem; margin-inline: auto; }
.article-body.card-fc {
  padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 5vw, 4rem) !important;
  border-radius: 1.5rem;
}
.article-body.card-fc:hover { transform: none; border-color: var(--fc-border); box-shadow: var(--fc-shadow-sm); }

.wp-articolo {
  color: var(--fc-text);
  font-size: 1.15rem;
  line-height: 1.9;
}
.wp-articolo > *:first-child { margin-top: 0 !important; }
.wp-articolo p { margin: 0 0 1.6rem; max-width: none; }
.wp-articolo p.gb-headline { font-family: inherit; font-weight: 400; color: var(--fc-text); margin-top: 0; }

.wp-articolo h1, .wp-articolo h2, .wp-articolo h3, .wp-articolo h4,
.wp-articolo .gb-headline:is(h1,h2,h3,h4), .wp-articolo .wp-block-heading {
  font-family: "Playfair Display", Georgia, serif;
  color: var(--fc-heading);
  font-weight: 700;
  line-height: 1.3;
  margin: 3.25rem 0 1.25rem;
  text-wrap: balance;
}
.wp-articolo h1 { font-size: 2rem; }
.wp-articolo h2 { font-size: 1.75rem; padding-bottom: 0.9rem; position: relative; }
.wp-articolo h2::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 48px; height: 3px; border-radius: 3px; background: var(--fc-orange);
}
.wp-articolo h3 { font-size: 1.4rem; }
.wp-articolo h4 { font-size: 1.2rem; color: var(--fc-blue); }
.wp-articolo h2 em, .wp-articolo h3 em { font-style: italic; }

/* Paragrafi che iniziano con un titoletto in grassetto (es. "1. Certificato SSL") */
.wp-articolo p > strong:first-child {
  display: inline-block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.2rem;
  color: var(--fc-heading);
  margin-bottom: 0.35rem;
}
.wp-articolo li > strong:first-child { color: var(--fc-heading); }

.wp-articolo a { color: var(--fc-blue); font-weight: 700; text-decoration-color: rgba(0,102,204,.3); text-underline-offset: 3px; word-break: break-word; }
.wp-articolo a:hover { color: var(--fc-blue-hover); text-decoration-color: currentColor; }

.wp-articolo ul, .wp-articolo ol { margin: 0 0 1.75rem; padding-left: 1.4rem; }
.wp-articolo li { margin-bottom: 0.85rem; line-height: 1.8; max-width: none; }
.wp-articolo li::marker { color: var(--fc-orange); font-weight: 700; }

.wp-articolo blockquote, .wp-articolo .wp-block-quote {
  margin: 2.5rem 0;
  padding: 1.5rem 1.75rem;
  border-left: 4px solid var(--fc-orange);
  background: var(--fc-orange-soft);
  border-radius: 0 1rem 1rem 0;
  font-family: "Playfair Display", Georgia, serif;
  font-style: italic;
  font-size: 1.2rem;
}
.wp-articolo blockquote p:last-child { margin-bottom: 0; }

.wp-articolo img { max-width: 100%; height: auto; border-radius: 1rem; box-shadow: var(--fc-shadow-sm); }
.wp-articolo figure { margin: 2.5rem 0; }
.wp-articolo figcaption { font-size: 0.95rem; color: var(--fc-muted); margin-top: 0.75rem; text-align: center; }
.wp-articolo .wp-block-image.is-resized img { border-radius: 50%; box-shadow: var(--fc-shadow); }
.wp-articolo hr, .wp-articolo .wp-block-separator { border: 0; height: 1px; background: var(--fc-border); opacity: 1; margin: 3rem 0; }
.wp-articolo .wp-block-spacer { display: none; }
.wp-articolo .gb-container { margin: 0; }
.wp-articolo .has-text-align-center { text-align: center; }

/* Barra finale con i pulsanti */
.fc-article-cta-bar {
  margin-top: 3.5rem !important;
  padding: 2rem !important;
  border-radius: 1.25rem;
  background: var(--fc-blue-soft);
  gap: 1rem !important;
}

/* Intestazione articolo */
.fc-article-intro { font-weight: 300; }

/* Ritratto autore */
.fc-article-with-photo { margin-bottom: 2.5rem; }
.fc-article-portrait img {
  width: 100%; height: auto; display: block;
  border-radius: 1.25rem; box-shadow: var(--fc-shadow);
  object-fit: cover; aspect-ratio: 3 / 4; object-position: center 30%;
}
.fc-article-portrait figcaption { line-height: 1.5; margin-top: 0.75rem; }
@media (min-width: 768px) { .fc-article-portrait { max-width: 280px; margin-left: auto; } }

@media (max-width: 575.98px) {
  .wp-articolo { font-size: 1.05rem; }
  .wp-articolo h2 { font-size: 1.5rem; }
  .wp-articolo h3 { font-size: 1.25rem; }
}
.wp-articolo p.fc-article-pillar { background: var(--fc-blue-soft); border-left: 4px solid var(--fc-blue); padding: 1.1rem 1.4rem; border-radius: 0 0.75rem 0.75rem 0; font-size: 1.05rem; }
@media (max-width: 767.98px) {
  .wp-articolo, .wp-articolo p, .wp-articolo li { font-size: 1.25rem !important; line-height: 1.9; }
  .wp-articolo h2 { font-size: 1.8rem !important; }
  .wp-articolo h3 { font-size: 1.5rem !important; }
  .wp-articolo h4 { font-size: 1.3rem !important; }
  .wp-articolo p > strong:first-child { font-size: 1.35rem; }
  .article-body.card-fc { padding: 1.75rem 1.25rem !important; }
}
