
/* v6.3: accessibility effects truly affect whole page + heart icon for support */

/* Sitewide text scaling: scale page content, excluding the accessibility widget itself. */
:root{
  --jiv-font-scale:1;
}
html.jiv-font-scaled body{
  font-size:16px!important;
}
html.jiv-font-scaled body > *:not(.jiv-access){
  font-size:calc(1rem * var(--jiv-font-scale))!important;
}
html.jiv-font-scaled :is(
  main, section, article, aside, nav, header, footer,
  .ji-main, .ji-section, .ji-block-section, .ji-events-showcase,
  .ji-clean-hero, .ji-clean-dashboard, .ji-footer,
  .ji-unified-card, .ji-card-system, .ji-news-card, .ji-event-tile
):not(.jiv-access):not(.jiv-access *){
  font-size:calc(1em * var(--jiv-font-scale))!important;
}
html.jiv-font-scaled :is(
  h1, h2, h3, h4, h5, h6,
  p, li, a, button, label, input, textarea, select,
  span, small, strong, em, td, th, div
):not(.jiv-access):not(.jiv-access *){
  font-size:calc(1em * var(--jiv-font-scale))!important;
}

/* Extra safeguards for titles that were set with clamp/rem in older layers */
html.jiv-font-scaled .ji-clean-hero h1{
  font-size:calc(clamp(2.45rem, 12vw, 3.65rem) * var(--jiv-font-scale))!important;
}
html.jiv-font-scaled .ji-block-heading__title--bicolor,
html.jiv-font-scaled .ji-news-section__title{
  font-size:calc(clamp(2rem, 4vw, 3.35rem) * var(--jiv-font-scale))!important;
}
html.jiv-font-scaled #tramites .ji-unified-card__body h3{
  font-size:calc(1.28rem * var(--jiv-font-scale))!important;
}
html.jiv-font-scaled .ji-event-tile h3{
  font-size:calc(1.25rem * var(--jiv-font-scale))!important;
}

/* High contrast mode: make the whole page actually change. */
html.jiv-high-contrast body{
  background:#000!important;
  color:#fff!important;
}
html.jiv-high-contrast body *:not(.jiv-access):not(.jiv-access *){
  background-color:#000!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#fff!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html.jiv-high-contrast a:not(.jiv-access *),
html.jiv-high-contrast button:not(.jiv-access *){
  color:#ffff00!important;
  border-color:#ffff00!important;
}
html.jiv-high-contrast img,
html.jiv-high-contrast video{
  filter:grayscale(1) contrast(1.15)!important;
}
html.jiv-high-contrast .ji-clean-hero__media .ji-hero-slide:before,
html.jiv-high-contrast .ji-clean-hero__media .ji-hero-slide:after{
  background:#000!important;
}

/* Keep accessibility panel usable and not affected by site scaling/contrast */
.jiv-access,
.jiv-access *{
  font-size:14px!important;
}
html.jiv-high-contrast .jiv-access__toggle{
  background:#2f6cf3!important;
  border-color:#ffffff!important;
}
html.jiv-high-contrast .jiv-access__panel{
  background:#ffffff!important;
  color:#12344a!important;
  border-color:#dfe7e6!important;
}
html.jiv-high-contrast .jiv-access__panel button{
  background:#f3f7f6!important;
  color:#12344a!important;
}
html.jiv-invert-colors .jiv-access{
  filter:invert(1) hue-rotate(180deg)!important;
}

/* Heart icon: make support icon visually clear and slightly friendlier */
.ji-shortcut__icon--support svg{
  width:36px!important;
  height:36px!important;
}
.ji-shortcut__icon--support svg *{
  stroke-width:3!important;
}
