/* ─── Colibrì · Override per Block Editor / FSE ─────────────────────
   Piccole correzioni per far convivere il design system con i blocchi core.
   Carica DOPO styles.css. Niente nuovi colori o font qui — solo bridging.
─────────────────────────────────────────────────────────────────── */

/* Annulla margini default sui blocchi che mettiamo dentro container Colibrì */
.colibri-theme .wp-block-group.has-no-padding { padding: 0; }
.colibri-theme .wp-block-buttons { margin: 0; }
.colibri-theme .wp-block-button__link { white-space: nowrap; }

/* Allinea il bottone Gutenberg al nostro design pill */
.colibri-theme .wp-block-button .wp-block-button__link.is-style-fill {
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  background: var(--brand);
  color: #fff;
  transition: all .25s var(--ease);
}
.colibri-theme .wp-block-button .wp-block-button__link.is-style-fill:hover {
  background: var(--brand-deep);
  transform: translateY(-1px);
}
.colibri-theme .wp-block-button.is-style-outline .wp-block-button__link {
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 500;
  font-size: 15px;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--rule-strong);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all .25s var(--ease);
}
.colibri-theme .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}

/* Heading reset within Colibrì sections — il design system già definisce gerarchia */
.colibri-theme .wp-block-heading { margin: 0; }
.colibri-theme h1.wp-block-heading,
.colibri-theme h2.wp-block-heading,
.colibri-theme h3.wp-block-heading { text-wrap: pretty; }

/* Image block — default a copertina con radius design */
.colibri-theme .wp-block-image img { border-radius: var(--radius); display: block; }
.colibri-theme .wp-block-image.is-style-full-bleed img { border-radius: 0; }

/* Cover block — assicura che il testo sopra sia bianco di default sui cover scuri */
.colibri-theme .wp-block-cover { border-radius: var(--radius-lg); overflow: hidden; }

/* Columns: gap consistente */
.colibri-theme .wp-block-columns { gap: 24px; }
.colibri-theme .wp-block-columns.is-tight { gap: 12px; }

/* Group con sfondo "ink" deve invertire il testo */
.colibri-theme .wp-block-group.has-ink-background-color,
.colibri-theme .wp-block-group.has-ink-2-background-color {
  color: var(--paper);
}
.colibri-theme .wp-block-group.has-ink-background-color a,
.colibri-theme .wp-block-group.has-ink-2-background-color a {
  color: var(--paper);
}

/* Buttons block layout */
.colibri-theme .wp-block-buttons { display: flex; gap: 14px; flex-wrap: wrap; }

/* Latest posts / Query loop styling overrides per matchare il blog Colibrì */
.colibri-theme .wp-block-query .wp-block-post {
  border-top: 1px solid var(--ink);
  padding-top: 22px;
  margin-bottom: 28px;
}
.colibri-theme .wp-block-query .wp-block-post-title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 6px 0;
}
.colibri-theme .wp-block-query .wp-block-post-title a:hover { color: var(--brand); }
.colibri-theme .wp-block-query .wp-block-post-date,
.colibri-theme .wp-block-query .wp-block-post-terms {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
}
.colibri-theme .wp-block-query .wp-block-post-excerpt {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Site Editor canvas: simula il paper background */
.editor-styles-wrapper {
  background: var(--paper, #F6F3EC);
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif;
  color: var(--ink, #14231A);
}

/* Gli "embed" del template part (header, footer) sono full-width per default */
.wp-site-blocks > .wp-block-template-part { width: 100%; }

/* Footer bottom: 2 righe (legal + P.IVA / sede) */
.footer-bottom { align-items: flex-start; }
.footer-bottom > div span { display: block; }
.footer-bottom strong { color: var(--ink); font-weight: 500; }

/* Tweaks per i pattern Colibrì che usano CSS Grid via inline style */
.colibri-section-wrap { padding-left: 0; padding-right: 0; }

/* ─── Contact Form 7 bridge ──────────────────────────────────────
   Riveste i form CF7 con lo stesso look del design system Colibrì
   senza toccare il markup generato da CF7. Si aggancia ai contenitori
   standard `.wpcf7-form` + alle classi delle form-control.
─────────────────────────────────────────────────────────────── */

/* Reset del wrapper CF7 (i div paragrafo che CF7 mette di default) */
.wpcf7 .wpcf7-form { margin: 0; }
.wpcf7 .wpcf7-form p { margin: 0 0 14px; }
.wpcf7 .wpcf7-form > p:last-of-type { margin-bottom: 0; }

/* Label-as-stack: ogni <label> CF7 contiene la label + l'input. Li impiliamo. */
.wpcf7 .wpcf7-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--muted);
  text-transform: uppercase;
}
.wpcf7 .wpcf7-form-control-wrap { display: block; width: 100%; }

/* Input / select / textarea */
.wpcf7 .wpcf7-form input[type="text"],
.wpcf7 .wpcf7-form input[type="email"],
.wpcf7 .wpcf7-form input[type="tel"],
.wpcf7 .wpcf7-form input[type="url"],
.wpcf7 .wpcf7-form input[type="number"],
.wpcf7 .wpcf7-form input[type="date"],
.wpcf7 .wpcf7-form select,
.wpcf7 .wpcf7-form textarea {
  border: 1px solid var(--rule) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .2s var(--ease);
}
.wpcf7 .wpcf7-form textarea { min-height: 120px; resize: vertical; }
.wpcf7 .wpcf7-form input:focus,
.wpcf7 .wpcf7-form select:focus,
.wpcf7 .wpcf7-form textarea:focus {
  outline: none !important;
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--brand) 18%, transparent);
}
.wpcf7 .wpcf7-form ::placeholder { color: var(--muted); opacity: 0.7; }

/* Acceptance (checkbox privacy) */
.wpcf7 .wpcf7-acceptance {
  display: block;
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif;
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink-2);
  margin: 8px 0 14px;
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; display: flex; align-items: flex-start; gap: 10px; }
.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
  width: 18px; height: 18px;
  accent-color: var(--brand);
  margin-top: 2px;
  flex-shrink: 0;
}
.wpcf7 .wpcf7-acceptance a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }

/* Submit */
.wpcf7 .wpcf7-form input[type="submit"],
.wpcf7 .wpcf7-form button[type="submit"] {
  background: var(--brand) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 14px 22px !important;
  border-radius: var(--radius-pill, 999px) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif !important;
  letter-spacing: -0.005em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  transition: background .25s var(--ease), transform .25s var(--ease);
}
.wpcf7 .wpcf7-form input[type="submit"]:hover,
.wpcf7 .wpcf7-form button[type="submit"]:hover {
  background: var(--brand-deep) !important;
  transform: translateY(-1px);
}

/* Spinner CF7 */
.wpcf7 .wpcf7-spinner { background-color: var(--brand); }

/* Response messages */
.wpcf7 .wpcf7-response-output {
  border-radius: 10px;
  border: 1px solid var(--rule) !important;
  padding: 12px 14px !important;
  margin: 16px 0 0 !important;
  font-size: 14px;
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif;
}
.wpcf7 form.sent .wpcf7-response-output {
  background: color-mix(in oklab, var(--brand) 10%, var(--paper));
  border-color: var(--brand) !important;
  color: var(--brand-deep);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  background: #fff3f3;
  border-color: #d63638 !important;
  color: #a00;
}
.wpcf7 .wpcf7-not-valid-tip {
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif;
  font-size: 12px;
  color: #d63638;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 6px;
}

/* ─── Versione "dark" (dentro la CTA scura .cta) ────────────── */
.cta .wpcf7 .wpcf7-form label { color: rgba(246,243,236,0.6); }
.cta .wpcf7 .wpcf7-form input[type="text"],
.cta .wpcf7 .wpcf7-form input[type="email"],
.cta .wpcf7 .wpcf7-form input[type="tel"],
.cta .wpcf7 .wpcf7-form input[type="url"],
.cta .wpcf7 .wpcf7-form select,
.cta .wpcf7 .wpcf7-form textarea {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(246,243,236,0.3) !important;
  border-radius: 0 !important;
  color: var(--paper) !important;
  padding: 14px 4px !important;
}
.cta .wpcf7 .wpcf7-form input:focus,
.cta .wpcf7 .wpcf7-form textarea:focus,
.cta .wpcf7 .wpcf7-form select:focus {
  border-bottom-color: var(--brand) !important;
  box-shadow: none;
}
.cta .wpcf7 .wpcf7-form ::placeholder { color: rgba(246,243,236,0.4); }
.cta .wpcf7 .wpcf7-acceptance { color: rgba(246,243,236,0.6); }
.cta .wpcf7 .wpcf7-acceptance a { color: var(--brand); }

/* ─── Newsletter inline (un solo campo email + submit affiancato) ─── */
.section .wpcf7-form .wpcf7-form-control-wrap[data-name="your-email"] + br { display: none; }

/* ─── Placeholder per quando un form non è ancora configurato ─── */
.colibri-form-placeholder {
  border: 1px dashed var(--rule-strong);
  padding: 22px 24px;
  border-radius: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}
.colibri-form-placeholder strong {
  color: var(--ink);
  font-family: 'Google Sans', system-ui, -apple-system, sans-serif;
  font-size: 15px;
  display: inline-block;
  margin-bottom: 8px;
}
