/* ==========================================================================
   Accoglienza FMA — integrazione con WordPress
   Solo ciò che la demo statica non aveva: barra di amministrazione, contenuti
   dell'editor a blocchi, paginazione, archivi, pagine generiche.
   ========================================================================== */

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; clip: auto; clip-path: none; margin: 0; }

/* Barra di amministrazione: la testata sticky le si ferma sotto. Sotto i 600px la barra scorre via. */
.admin-bar .mast { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .mast { top: 0; } }

/* Archivio strutture: la sezione è la prima della pagina, niente filetto sopra. */
.archivio-strutture .places { border-top: 0; padding-top: var(--space-2xl); }
.archivio-strutture .places .section-title { font-size: var(--text-display); font-weight: 350; line-height: 1; letter-spacing: -0.03em; }

/* Corpo delle pagine di servizio (404, elenchi vuoti). */
.page-body { max-width: var(--page-max); margin: 0 auto; padding: 0 var(--gutter) var(--space-4xl); }
.page-body__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

/* Paginazione del blog. */
.pagination { max-width: var(--page-max); margin: calc(-1 * var(--space-3xl)) auto 0; padding: 0 var(--gutter) var(--space-4xl); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-xs); border-top: var(--rule); padding-top: var(--space-lg); }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 var(--space-sm); border-radius: var(--radius-pill); text-decoration: none; color: var(--color-ink-2); font-variant-numeric: tabular-nums; }
.pagination a.page-numbers:hover { background: var(--color-paper-2); color: var(--color-ink); }
.pagination .page-numbers.current { background: var(--color-ink); color: var(--color-paper); }
.page-links { display: flex; gap: var(--space-xs); font-size: var(--text-sm); }

/* Pagina struttura: sezioni scritte nell'editor. */
.stay__main .prose > * + * { margin-top: var(--space-md); }
.stay__main .prose .block__title + * { margin-top: 0; }

/* Contenuti dell'editor a blocchi dentro articoli e pagine. */
.article__body > * + * { margin-top: var(--space-md); }
.article__body h2, .article__body h3 { font-family: var(--font-display); font-variation-settings: "SOFT" 100; font-weight: 450; line-height: 1.15; letter-spacing: -0.01em; color: var(--color-ink); text-wrap: balance; }
.article__body h2 { font-size: var(--text-lg); margin-top: var(--space-xl); }
.article__body h3 { font-size: var(--text-md); margin-top: var(--space-lg); }
.article__body h4 { font-size: var(--text-base); font-weight: 600; margin-top: var(--space-lg); }
.article__body ol { padding-left: var(--space-lg); display: grid; gap: var(--space-xs); }
.article__body ol li::before { content: none; }
.article__body ol, .article__body ol li { color: var(--color-ink); }
.article__body blockquote { border-left: 2px solid var(--color-accent); padding: var(--space-2xs) 0 var(--space-2xs) var(--space-lg); font-family: var(--font-display); font-variation-settings: "SOFT" 100; font-size: var(--text-md); line-height: 1.4; }
.article__body blockquote cite { display: block; margin-top: var(--space-xs); font-family: var(--font-body); font-size: var(--text-sm); font-style: normal; color: var(--color-muted); }
.article__body img { height: auto; border-radius: var(--radius-md); }
.article__body figure { margin-block: var(--space-lg); }
.article__body figcaption, .wp-element-caption { margin-top: var(--space-xs); font-size: var(--text-xs); color: var(--color-muted); line-height: 1.5; }
.article__body hr { border: 0; border-top: var(--rule); margin-block: var(--space-xl); }
.article__body table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.article__body th, .article__body td { padding: var(--space-xs) var(--space-sm); border-bottom: var(--rule-2); text-align: left; vertical-align: top; }
.article__body .wp-block-button__link { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 var(--space-lg); border-radius: var(--radius-pill); background: var(--color-accent); color: var(--color-accent-ink); text-decoration: none; font-weight: 500; }
.article__body .alignleft { float: left; margin: var(--space-2xs) var(--space-lg) var(--space-md) 0; max-width: 50%; }
.article__body .alignright { float: right; margin: var(--space-2xs) 0 var(--space-md) var(--space-lg); max-width: 50%; }
.article__body .aligncenter { margin-inline: auto; text-align: center; }
.article__body::after { content: ""; display: table; clear: both; }
.article__body iframe, .article__body video { max-width: 100%; }
.article__body .wp-block-embed__wrapper { position: relative; }
.article--page { padding-bottom: var(--space-4xl); }

/* Righe dei moduli dell'amministrazione (messaggi di sistema di WordPress). */
.post-password-form { display: grid; gap: var(--space-sm); max-width: 28rem; }
.post-password-form input[type="password"] { min-height: 2.75rem; padding: 0 var(--space-sm); border: var(--rule); border-radius: var(--radius-sm); background: var(--color-paper); }

@media (max-width: 40rem) {
  .article__body .alignleft, .article__body .alignright { float: none; margin: var(--space-lg) 0; max-width: 100%; }
}
