/* =====================================================================
   FRANSCELLA — integrazioni WordPress
   (Contact Form 7, paginazione news, contenuto editor, footer legale)
   Il design system Fase 1 resta intatto in style.css.
   ===================================================================== */

/* ---------------------------------------------------------------------
   CONTACT FORM 7 — il wrapper .wpcf7-form-control-wrap spezza i selettori
   `input + label` dell'HTML statico: si replica il floating label con
   :focus-within e la classe .is-filled (aggiunta dal JS del tema).
   --------------------------------------------------------------------- */
.field .wpcf7-form-control-wrap{ display:block; }

.field:focus-within label,
.field.is-filled label{
  top:6px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
}

/* Bottone submit CF7 (input, non button: niente pseudo-elementi) */
.form input.btn{
  border:none; cursor:pointer; -webkit-appearance:none; appearance:none;
  transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease);
}
.form input.btn.btn--accent:hover{ background:var(--ink); color:var(--bone); transform:translateY(-2px); }
.form input.btn:disabled{ opacity:.6; pointer-events:none; }

/* Messaggi di validazione e risposta CF7, coerenti col design */
.wpcf7-not-valid-tip{
  display:block; margin-top:8px; font-size:12px; letter-spacing:.04em; color:var(--accent);
}
.wpcf7 form .wpcf7-response-output{
  margin:28px 0 0; padding:16px 20px; border:1px solid var(--line); border-left:2px solid var(--accent);
  font-size:14px; color:var(--ink);
}
.wpcf7 form.sent .wpcf7-response-output{ border-left-color:#2e7d32; }
.wpcf7-spinner{ margin:0 0 0 12px; }

/* ---------------------------------------------------------------------
   PAGINAZIONE NEWS (the_posts_pagination)
   --------------------------------------------------------------------- */
.blog-pagination{ margin-top:clamp(48px,6vw,80px); }
.blog-pagination .nav-links{
  display:flex; justify-content:center; align-items:center; gap:6px; flex-wrap:wrap;
}
.blog-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:44px; padding:0 14px;
  border:1px solid var(--line); color:var(--ink);
  font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  transition:.35s var(--ease);
}
.blog-pagination .page-numbers:hover{ border-color:var(--ink); }
.blog-pagination .page-numbers.current{
  background:var(--ink); color:var(--bone); border-color:var(--ink); pointer-events:none;
}
.blog-pagination .page-numbers.dots{ border:none; pointer-events:none; }
.blog-pagination .screen-reader-text{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}

/* ---------------------------------------------------------------------
   CONTENUTO EDITOR dentro .article__body (articoli scritti in WP admin)
   --------------------------------------------------------------------- */
.article__body h2,
.article__body h3{ margin:1.6em 0 .6em; max-width:24ch; }
.article__body ul,
.article__body ol{
  margin:1.2em 0 1.2em 1.2em; font-size:clamp(1.05rem,1.4vw,1.2rem); line-height:1.7; color:#33333a;
}
.article__body li + li{ margin-top:.5em; }
.article__body img{ width:100%; height:auto; margin:1.6em 0; }
.article__body figure{ margin:1.6em 0; }
.article__body figure img{ margin:0; }
.article__body figcaption{
  margin-top:10px; font-size:12.5px; letter-spacing:.06em; color:var(--steel);
}
.article__body blockquote{
  border-left:2px solid var(--accent); padding-left:24px; margin:1.6em 0;
  font-family:var(--display); font-size:clamp(1.15rem,1.8vw,1.45rem); line-height:1.5; font-weight:340;
}
.article__body a{ text-decoration:underline; text-underline-offset:3px; }
.article__body a:hover{ color:var(--accent); }

/* Lead automatico: se l'articolo non ha riassunto (excerpt),
   il primo paragrafo del contenuto assume lo stile lead. */
.article__body--autolead > p:first-of-type{
  font-family:var(--display); font-size:clamp(1.25rem,2.2vw,1.7rem); line-height:1.4; font-weight:340; margin-bottom:40px;
}

/* ---------------------------------------------------------------------
   FOOTER — riga link legali (Privacy / Impressum)
   --------------------------------------------------------------------- */
.footer__legal{
  display:flex; gap:28px; padding:0 0 28px; font-size:12.5px; letter-spacing:.06em;
}
.footer__legal a{ opacity:.75; transition:opacity .3s; }
.footer__legal a:hover{ opacity:1; }

/* ---------------------------------------------------------------------
   PAGINE LEGALI / GENERICHE — prose su pagina chiara
   --------------------------------------------------------------------- */
.legal-page .prose h2{ margin:1.8em 0 .5em; }
.legal-page .prose p + p{ margin-top:1em; }

/* Admin bar WP: l'header fixed non deve finirci sotto */
body.admin-bar .header{ top:32px; }
@media (max-width:782px){ body.admin-bar .header{ top:46px; } }
