/*
  TriPago | regole minime per i blocchi core (frontend e editor).
  Obiettivo: i blocchi convertiti dal sito statico si vedono come il sito originale.
  Si caricano per ultime. Dove si azzera qualcosa si usa :where() (specificità 0): le classi del sito vincono sempre.
*/

/* Gruppo: contenitore neutro, senza margini né riempimenti propri */
:where(.wp-block-group) { margin: 0; }
:where(.wp-block-group.is-layout-flow, .wp-block-group.is-layout-constrained) > * { margin-block: 0; }

/* Titoli, paragrafi, elenchi: tipografia e margini restano quelli di base.css */
:where(.wp-block-heading, .wp-block-list) { margin: 0; }
:where(.wp-block-list) { padding: 0; list-style: none; }
:where(ol.wp-block-list) { list-style: none; }

/* Pulsanti: il convertitore usa classi del sito (btn, link-arrow...) sul blocco; il tema le sposta sul solo <a> in
   output (inc/blocks.php). Qui i casi in cui il wrapper di WordPress resta (editor, pulsanti con altro layout). */
.wp-block-buttons.tp-bw { display: contents; }
.wp-block-button.btn, .wp-block-button.link-arrow, .wp-block-button.hero__tel { width: auto; }
.wp-block-button[class*="btn"] > .wp-block-button__link,
.wp-block-button.link-arrow > .wp-block-button__link,
.wp-block-button.hero__tel > .wp-block-button__link {
  background: none; color: inherit; border: 0; border-radius: 0; padding: 0; font: inherit; text-decoration: none; box-shadow: none;
}

/* Immagini: nessun margine né allineamento forzato; le dimensioni arrivano dal CSS del sito */
:where(.wp-block-image) { margin: 0; }
.wp-block-image img { max-width: 100%; height: auto; }
.provider-logos .wp-block-image img { height: 32px; width: auto; }

/* Tabelle: il tema non impone bordi, il CSS del sito decide (le tabelle con classi restano HTML) */
:where(.wp-block-table) { margin: 0; }
:where(.wp-block-table) table { border-collapse: collapse; width: 100%; }
:where(.wp-block-table) :is(td, th) { border: 0; padding: 0; text-align: left; }

/* Dettagli (FAQ): il CSS del sito stilizza .faq__item e il suo primo figlio <summary> (vedi components.css) */
:where(.wp-block-details) { box-sizing: border-box; }
.wp-block-details > summary { cursor: pointer; }

/* Colori della palette dell'editor (theme.json) anche senza lo stile globale */
.has-paper-color { color: var(--paper); } .has-paper-background-color { background-color: var(--paper); }
.has-paper-2-color { color: var(--paper-2); } .has-paper-2-background-color { background-color: var(--paper-2); }
.has-mint-color { color: var(--mint); } .has-mint-background-color { background-color: var(--mint); }
.has-ink-color { color: var(--ink); } .has-ink-background-color { background-color: var(--ink); }
.has-brand-color { color: var(--brand); } .has-brand-background-color { background-color: var(--brand); }
.has-accent-color { color: var(--accent); } .has-accent-background-color { background-color: var(--accent); }
.has-ok-color { color: var(--ok); } .has-ok-background-color { background-color: var(--ok); }
.has-night-color { color: var(--night); } .has-night-background-color { background-color: var(--night); }
.has-leaf-color { color: var(--leaf); } .has-leaf-background-color { background-color: var(--leaf); }

/* Modulo di ricerca */
.searchform { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: end; max-width: 32rem; margin-top: var(--sp-3); }
.searchform .field { flex: 1 1 14rem; }

/* Paginazione */
.navigation.pagination { margin-top: var(--sp-4); }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.navigation.pagination .page-numbers { min-height: 44px; display: inline-flex; align-items: center; padding-inline: 12px; }

/* Editor: le sezioni a pieno bordo non devono essere strette dalla larghezza del contenuto */
.editor-styles-wrapper .is-root-container > .wp-block-group { max-width: none; }
.editor-styles-wrapper .is-root-container > .wp-block { max-width: none; }
.editor-styles-wrapper .js .reveal, .editor-styles-wrapper .reveal { opacity: 1; transform: none; }
.editor-styles-wrapper .reveal--stagger > * { opacity: 1; transform: none; }
