/* Reuse the light iSoluce footer on pages rendered by Qwery. */
body.isoluce-site-footer-active .footer_wrap { display:none !important; }
.isoluce-site-footer-shell { padding:0 32px; border-top:1px solid #e4e8e1; background:#fbfcf9; }
.isoluce-site-footer-inner { max-width:1160px; margin:0 auto; }
.isoluce-site-footer-shell .ia-footer { display:grid; grid-template-columns:1.3fr repeat(3,minmax(0,1fr)); gap:40px; padding:50px 0; color:#465047; font-size:14px; line-height:1.55; }
.isoluce-site-footer-shell .ia-footer > * { min-width:0; }
.isoluce-site-footer-shell .ia-footer img { display:block; width:170px; height:auto; }
.isoluce-site-footer-shell .ia-footer p { margin:18px 0 0; color:#465047; }
.isoluce-site-footer-shell .ia-footer nav { display:grid; align-content:start; gap:11px; }
.isoluce-site-footer-shell .ia-footer strong { display:block; color:#161d18; font-size:15px; margin-bottom:4px; }
.isoluce-site-footer-shell .ia-footer a { color:#354931; text-decoration:none; text-underline-offset:3px; transition:color .18s ease; }
.isoluce-site-footer-shell .ia-footer a:hover { color:#a7003c; text-decoration:underline; }
.isoluce-site-footer-shell .ia-footer a:focus-visible { outline:3px solid #267e0b; outline-offset:3px; }

/* One button language across Elementor, Gutenberg, Qwery and the training cards. */
body.isoluce-ui-unified :is(
  a.isoluce-cta, a.isoluce-ux-cta, a.iso-btn, a.sc_button, .ia-nav a.ia-contact,
  .elementor-widget-button a.elementor-button, a.wp-block-button__link,
  .isoluce-training-booking a.itb-link, .isoluce-training-quick-cta a,
  input.wpcf7-submit, button[type="submit"]
) {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  gap:.65em; min-height:48px; padding:.72em 1.35em !important;
  border:2px solid #d0004a !important; border-radius:999px !important;
  background:#d0004a !important; color:#fff !important;
  font-family:inherit; font-size:1rem; font-weight:700; line-height:1.3;
  text-align:center; text-decoration:none !important;
  box-shadow:0 7px 20px rgba(123,0,44,.15);
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  cursor:pointer;
}
body.isoluce-ui-unified :is(
  a.isoluce-cta, a.isoluce-ux-cta, a.iso-btn, a.sc_button, .ia-nav a.ia-contact,
  .elementor-widget-button a.elementor-button, a.wp-block-button__link,
  .isoluce-training-booking a.itb-link, .isoluce-training-quick-cta a,
  input.wpcf7-submit, button[type="submit"]
):hover {
  background:#a7003c !important; border-color:#a7003c !important;
  color:#fff !important; box-shadow:0 11px 24px rgba(123,0,44,.22);
  transform:translateY(-2px);
}
body.isoluce-ui-unified :is(
  a.isoluce-cta, a.isoluce-ux-cta, a.iso-btn, a.sc_button, .ia-nav a.ia-contact,
  .elementor-widget-button a.elementor-button, a.wp-block-button__link,
  .isoluce-training-booking a.itb-link, .isoluce-training-quick-cta a,
  input.wpcf7-submit, button[type="submit"]
):focus-visible { outline:3px solid #267e0b !important; outline-offset:3px; }
body.isoluce-ui-unified :is(
  a.isoluce-cta-secondary, a.iso-btn-secondary, .ia-nav a.ia-contact,
  .isoluce-training-booking a.itb-secondary,
  .wp-block-button.is-style-outline a.wp-block-button__link
) {
  background:transparent !important; color:#a7003c !important;
  box-shadow:none;
}
body.isoluce-ui-unified :is(
  a.isoluce-cta-secondary, a.iso-btn-secondary, .ia-nav a.ia-contact,
  .isoluce-training-booking a.itb-secondary,
  .wp-block-button.is-style-outline a.wp-block-button__link
):hover { background:#fbe8ef !important; color:#85002f !important; border-color:#a7003c !important; }

body.isoluce-ui-unified .isoluce-course-end {
  box-sizing:border-box; max-width:1100px; margin:46px auto 22px !important;
  padding:clamp(24px,3vw,36px) !important; border:1px solid #dce8d8 !important;
  border-radius:18px !important; background:#f5f9f2 !important;
}
body.isoluce-ui-unified .isoluce-course-end h2 { margin:0 0 10px !important; color:#26352b; font-size:clamp(1.4rem,2.4vw,1.85rem); line-height:1.25; }
body.isoluce-ui-unified .isoluce-course-end p { max-width:65ch; margin:0 0 12px; color:#45514a; }
body.isoluce-ui-unified .isoluce-course-end .isoluce-training-updated { margin-bottom:16px; color:#536052; font-size:.9rem; }
body.isoluce-ui-unified .isoluce-course-end .isoluce-cta-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
body.isoluce-ui-unified #callnowbutton { transition:filter .2s ease,transform .2s ease; }
body.isoluce-ui-unified #callnowbutton:hover { filter:brightness(.88); transform:scale(1.06); }
body.isoluce-ui-unified #callnowbutton:focus-visible { outline:3px solid #d0004a; outline-offset:3px; }

@media(max-width:767px) {
  .isoluce-site-footer-shell { padding:0 22px; }
  .isoluce-site-footer-shell .ia-footer { grid-template-columns:1fr 1fr; gap:28px 18px; padding:40px 0; }
  .isoluce-site-footer-shell .ia-footer > div { grid-column:1/-1; }
  .isoluce-site-footer-shell .ia-footer nav { gap:10px; }
  body.isoluce-ui-unified .isoluce-course-end .isoluce-cta-actions > a { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  body.isoluce-ui-unified :is(a.isoluce-cta,a.isoluce-ux-cta,a.iso-btn,a.sc_button,.ia-nav a.ia-contact,.elementor-widget-button a.elementor-button,a.wp-block-button__link,.isoluce-training-booking a.itb-link,.isoluce-training-quick-cta a,input.wpcf7-submit,button[type="submit"]),
  .isoluce-site-footer-shell .ia-footer a, body.isoluce-ui-unified #callnowbutton { transition:none; }
  body.isoluce-ui-unified :is(a.isoluce-cta,a.isoluce-ux-cta,a.iso-btn,a.sc_button,.ia-nav a.ia-contact,.elementor-widget-button a.elementor-button,a.wp-block-button__link,.isoluce-training-booking a.itb-link,.isoluce-training-quick-cta a,input.wpcf7-submit,button[type="submit"]):hover,
  body.isoluce-ui-unified #callnowbutton:hover { transform:none; }
}
