/* ==========================================================================
   CIPMD – site-wide enhancements (loaded on every page via header.php)
   Footer theme, accessibility helpers, small visual polish.
   ========================================================================== */

/* ---------- Accessibility helpers ---------- */
.skip-link {
  position: absolute; left: 16px; top: -60px; z-index: 10000;
  background: #FDC100; color: #002060 !important; font-weight: 700; padding: 12px 18px;
  border-radius: 0 0 8px 8px; text-decoration: none; transition: top .2s;
}
.skip-link:focus { top: 0; }
#site-main:focus { outline: none; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #FDC100 !important; outline-offset: 2px; border-radius: 4px;
  box-shadow: 0 0 0 5px rgba(0, 32, 96, .35);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ---------- Footer theme ---------- */
footer .cmp-experiencefragment--footer {
  background: linear-gradient(180deg, #002060 0%, #001845 100%);
  color: #c9d7e8; border-top: 4px solid #FDC100; position: relative;
}
footer .cmp-experiencefragment--footer .cmp-container,
footer .cmp-experiencefragment--footer .layout-container__wrapper,
footer .cmp-experiencefragment--footer .layout-container__inner,
footer #footer_fix { background: transparent !important; }
footer .layout-container__wave-wrapper { display: none !important; }

footer #footer_fix > .layout-container__inner { max-width: 1240px; margin: 0 auto; padding-top: 0; }
footer .cmp-experiencefragment--footer > .xfpage { padding-top: 0 !important; }

.cipmd-footer__heading {
  color: #FDC100 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .08em;
  text-transform: uppercase; margin: 0 0 16px !important; padding-bottom: 10px; position: relative;
}
.cipmd-footer__heading::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: rgba(253, 193, 0, .6); }
footer .cmp-title__text { color: #FDC100 !important; font-size: 13px !important; letter-spacing: .08em; text-transform: uppercase; }

footer .cmp-text ul { list-style: none; padding: 0; margin: 0; }
footer .cmp-text li { margin: 0 0 10px; }
footer .cmp-text a, footer .cmp-text a:visited {
  color: #e3ecf6 !important; text-decoration: none !important; font-size: 15px; transition: color .2s, padding-left .2s;
}
footer .cmp-text li a:hover { color: #FDC100 !important; padding-left: 4px; }
footer .cmp-text p { color: #b7c6da !important; font-size: 14px; line-height: 1.7; }
footer .cmp-text p a { color: #FDC100 !important; }

footer .social-icon__image img { filter: invert(1) brightness(2); opacity: .92; transition: transform .2s, opacity .2s; }
footer .social-icon__image:hover img { transform: translateY(-3px); opacity: 1; }

footer .separator_hr, footer .cmp-separator__horizontal-rule { border: 0; border-top: 1px solid rgba(255, 255, 255, .14) !important; background: none !important; }

/* Bottom legal bar */
.cipmd-footer__legalbar { display: flex !important; flex-wrap: wrap; gap: 8px 6px; padding: 6px 0 28px !important; margin: 0 !important; list-style: none; }
.cipmd-footer__legalbar li { margin: 0 !important; }
.cipmd-footer__legalbar p { margin: 0 !important; }
.cipmd-footer__legalbar a, .cipmd-footer__legalbar a:visited {
  display: inline-block; color: #e3ecf6 !important; text-decoration: none !important; font-size: 14px; font-weight: 600;
  padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; transition: background .2s, color .2s, border-color .2s;
}
.cipmd-footer__legalbar a:hover { background: #FDC100; border-color: #FDC100; color: #002060 !important; }

/* Back to top */
.cipmd-backtotop {
  position: fixed; right: 20px; bottom: 20px; z-index: 999; width: 46px; height: 46px; border-radius: 50%;
  background: #FDC100; color: #002060 !important; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .25); text-decoration: none; font-size: 18px;
  opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s, transform .25s;
}
.cipmd-backtotop.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.cipmd-backtotop:hover { background: #e6a800; }

@media (max-width: 768px) {
  footer #footer_fix > .layout-container__inner { padding: 28px 16px 0; }
  .cipmd-footer__legalbar a { font-size: 13px; padding: 6px 12px; }
}
