/* ------------------------------------------------------------------ *
 *  wp.css — quello che WordPress porta e il sito statico non aveva.
 *
 *  Regola: qui dentro non si ridisegna niente di ciò che esiste già in
 *  style.css. Ci stanno solo le forme nuove — corpo di un articolo,
 *  elenco degli articoli, impaginazione, commenti, ricerca, gli
 *  allineamenti e le didascalie dell'editor a blocchi.
 * ------------------------------------------------------------------ */

/* ---------- servizio ---------- */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

.salta-al-contenuto{position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--navy);color:#fff;padding:12px 20px;font-size:14.5px;
  text-decoration:none}
.salta-al-contenuto:focus{left:0}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--amber);outline-offset:2px}

/* ---------- corpo di un articolo o di una pagina scritta a paragrafi ---------- */
.prosa>*:last-child{margin-bottom:0}
.prosa h2{margin-top:44px}
.prosa h3{margin-top:32px}
.prosa h2:first-child,.prosa h3:first-child{margin-top:0}

.prosa ul,.prosa ol{margin:0 0 18px 22px}
.prosa li{margin-bottom:8px}
.prosa ul{list-style:none;margin-left:0}
.prosa ul>li{position:relative;padding-left:22px}
.prosa ul>li::before{content:"";position:absolute;left:2px;top:12px;
  width:6px;height:6px;background:var(--amber)}
.prosa ol{list-style:decimal}
.prosa ol>li::marker{font-family:var(--mono);font-size:.86em;color:var(--amber)}

.prosa blockquote{border-left:3px solid var(--amber);padding:2px 0 2px 22px;
  margin:26px 0;font-family:var(--serif);font-size:20px;line-height:1.55;
  color:var(--navy)}
.prosa blockquote p:last-child{margin-bottom:0}
.prosa blockquote cite{display:block;margin-top:10px;font-family:var(--sans);
  font-size:14.5px;font-style:normal;color:var(--grey)}

.prosa figure{margin:30px 0}
.prosa figcaption{font-size:13.5px;color:var(--grey);margin-top:10px;line-height:1.55}
.prosa img{display:block}

.prosa pre{background:#fff;border:1px solid var(--line);padding:20px 22px;
  overflow-x:auto;font-family:var(--mono);font-size:14px;line-height:1.6;
  margin:0 0 18px}
.prosa code{font-family:var(--mono);font-size:.88em;background:var(--navy-8);
  padding:2px 5px}
.prosa pre code{background:none;padding:0;font-size:1em}

.prosa hr{border:0;border-top:1px solid var(--line);margin:38px 0}

.prosa table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
.prosa th,.prosa td{border-bottom:1px solid var(--line);padding:11px 14px;
  text-align:left;vertical-align:top}
.prosa th{font-family:var(--sans);font-weight:600;color:var(--navy);
  font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}

.prosa a:not(.btn){color:var(--navy);text-decoration:underline;
  text-decoration-color:var(--navy-15);text-underline-offset:3px;
  transition:text-decoration-color .2s}
.prosa a:not(.btn):hover{text-decoration-color:var(--amber)}

/* ---------- allineamenti dell'editor a blocchi ---------- */
.alignleft{float:left;margin:6px 30px 22px 0;max-width:50%}
.alignright{float:right;margin:6px 0 22px 30px;max-width:50%}
.aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.alignwide{width:min(1000px,92vw);max-width:none;
  margin-left:calc(50% - min(500px,46vw));margin-right:0}
.alignfull{width:100vw;max-width:none;margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw)}
.prosa .wp-block-image{margin:30px 0}
.wp-block-image img{height:auto}
.wp-block-button__link{display:inline-block}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap}

/* colori dell'editor, sugli slug dichiarati dal tema */
.has-navy-color{color:var(--navy)}   .has-navy-background-color{background:var(--navy)}
.has-ambra-color{color:var(--amber)} .has-ambra-background-color{background:var(--amber)}
.has-carta-color{color:var(--paper)} .has-carta-background-color{background:var(--paper)}
.has-grigio-color{color:var(--grey)} .has-grigio-background-color{background:var(--grey)}
.has-bianco-color{color:#fff}        .has-bianco-background-color{background:#fff}
.has-piccolo-font-size{font-size:15px}
.has-normale-font-size{font-size:17px}
.has-grande-font-size{font-size:20px}

/* ---------- elenco degli articoli ---------- */
.card.art{display:flex;flex-direction:column;padding:0;overflow:hidden}
.card.art .art-img{display:block;line-height:0;border-bottom:1px solid var(--line)}
.card.art .art-img img{width:100%;height:196px;object-fit:cover;
  transition:transform .4s ease}
.card.art:hover .art-img img{transform:scale(1.03)}
.card.art>:not(.art-img){padding-left:28px;padding-right:28px}
.card.art .n{padding-top:24px;margin-bottom:10px;color:var(--grey)}
.card.art h3{margin-bottom:10px}
.card.art h3 a{text-decoration:none}
.card.art h3 a:hover{color:var(--amber)}
.card.art p.small{flex:1}
.card.art .art-piu{display:inline-block;padding-bottom:26px;font-size:14px;
  font-weight:600;color:var(--navy);text-decoration:none}
.card.art .art-piu:hover{color:var(--amber)}

/* Una scheda che è tutta un collegamento non va sottolineata: è il riquadro
   a dire che si può cliccare. */
a.card{display:block;text-decoration:none}
a.card .n{text-decoration:none}
a.card h3{text-decoration:none}
a.card:hover h3{color:var(--amber)}

.art-cover{margin:0}
.art-cover img{width:100%;height:auto;display:block;border:1px solid var(--line)}

/* ---------- impaginazione ---------- */
.pagination,.comments-pagination{margin-top:44px;display:flex;flex-wrap:wrap;
  gap:8px;align-items:center}
.pagination .nav-links,.comments-pagination .nav-links{display:flex;flex-wrap:wrap;
  gap:8px;align-items:center}
.pagination .page-numbers,.comments-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line);
  background:#fff;color:var(--navy);text-decoration:none;font-size:14.5px;
  font-family:var(--mono);transition:border-color .2s,color .2s}
.pagination .page-numbers:hover,.comments-pagination .page-numbers:hover{
  border-color:var(--navy-15)}
.pagination .page-numbers.current,.comments-pagination .page-numbers.current{
  background:var(--navy);border-color:var(--navy);color:#fff}
.pagination .page-numbers.dots{border-color:transparent;background:none}
.pagination .screen-reader-text{display:none}

/* ---------- ricerca ---------- */
form.cerca{display:flex;gap:10px;align-items:stretch}
form.cerca input[type=search]{flex:1;min-width:0;border:1px solid var(--line);
  background:#fff;padding:0 16px;height:46px;font-family:var(--sans);
  font-size:15.5px;color:var(--ink)}
form.cerca input[type=search]:focus{outline:none;border-color:var(--navy-15)}
form.cerca .btn{flex:none}

/* ---------- commenti ---------- */
.commenti{margin-top:52px;border-top:1px solid var(--line);padding-top:38px}
.commenti h2,.commenti .comment-reply-title{font-size:24px;margin-bottom:22px}
.lista-commenti,.lista-commenti ol{list-style:none;margin:0;padding:0}
.lista-commenti ol.children{margin-left:28px;border-left:1px solid var(--line);
  padding-left:22px}
.lista-commenti li.comment{padding:22px 0;border-top:1px solid var(--line)}
.lista-commenti li.comment:first-child{border-top:0;padding-top:0}
.lista-commenti .comment-meta{display:flex;align-items:center;gap:10px;
  margin-bottom:10px;font-size:14px;color:var(--grey)}
.lista-commenti .avatar{border-radius:50%;flex:none}
.lista-commenti .fn{font-style:normal;font-weight:600;color:var(--navy)}
.lista-commenti .comment-metadata a{font-family:var(--mono);font-size:12.5px;
  color:var(--grey);text-decoration:none}
.lista-commenti .reply a{font-size:14px;font-weight:600;color:var(--navy);
  text-decoration:none}
.lista-commenti .reply a:hover{color:var(--amber)}

.comment-form{margin-top:36px}
.comment-form p{margin-bottom:16px}
.comment-form label{display:block;font-size:13px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:var(--navy);
  margin-bottom:7px}
.comment-form input[type=text],.comment-form input[type=email],
.comment-form input[type=url],.comment-form textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:12px 15px;
  font-family:var(--sans);font-size:15.5px;color:var(--ink)}
.comment-form textarea{min-height:150px;line-height:1.6;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{outline:none;
  border-color:var(--navy-15)}
.comment-form .comment-notes,.comment-form .comment-form-cookies-consent label{
  font-size:14px;color:var(--grey);font-weight:400;text-transform:none;
  letter-spacing:0;display:inline}
.comment-form .comment-form-cookies-consent{display:flex;gap:9px;
  align-items:flex-start}

/* ---------- schermi stretti ---------- */
@media(max-width:760px){
  .alignleft,.alignright{float:none;margin:22px 0;max-width:100%}
  .alignwide{width:auto;margin-left:0}
  .card.art .art-img img{height:180px}
  .lista-commenti ol.children{margin-left:12px;padding-left:14px}
}

/* ---------- modulo di download: il campo esca e gli esiti ---------- */
.vfa-esca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gate-msg .err{color:#A6362C;font-weight:600}
.gate-msg .ok{color:#4E7A62;font-weight:600}
.gate-msg a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;margin-left:6px}
/* I campi e le pastiglie di consenso li disegna già il foglio del sito
   (.field, label, input, .consent): qui non si ripete niente. */

/* ---------- messe a punto per l'editor a blocchi ---------- */
/* Le note dentro una griglia non hanno margine proprio: a distanziarle ci
   pensa la griglia, e un margine in più spezzerebbe l'allineamento. */
.grid>.callout{margin:0}

/* L'elenco dei corsi non ha margine sotto: lo dà il paragrafo che lo segue. */
.course-list+p{margin-top:18px}

/* ---------- modulo di contatto ---------- */
.modulo-errore{background:rgba(166,54,44,.07);border-left:3px solid var(--brick);
  color:var(--brick);padding:12px 16px;margin-bottom:20px;font-size:14.5px;font-weight:600}
