/*
 * Final UI parity layer.
 * Loaded after page-specific styles so the approved CTA and Home card art direction
 * remains identical across desktop, tablet and mobile; responsive files may still
 * control layout/width/stacking only.
 */

/* Buttons: one visual system and one physical height across the site. */
.injurease-button,
.wp-element-button,
.injurease-prose .wp-block-button__link {
  box-sizing: border-box;
  height: var(--inj-button-height, 48px);
  min-height: var(--inj-button-height, 48px);
  max-height: var(--inj-button-height, 48px);
  padding-block: 0;
  border-radius: var(--inj-button-radius, 14px);
  line-height: 1;
  box-shadow: none;
  text-shadow: none;
}

.injurease-button--glass,
.injurease-button--outline,
.injurease-final-cta--home .injurease-button--glass {
  border-color: rgba(8,63,28,.16);
  background: linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 40%,rgba(242,247,243,.96) 100%);
  color: var(--inj-primary);
  box-shadow: none;
  text-shadow: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.injurease-button--glass:hover,
.injurease-button--outline:hover,
.injurease-final-cta--home .injurease-button--glass:hover {
  border-color: rgba(8,63,28,.24);
  background: linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 40%,rgba(246,249,247,.99) 100%);
  color: var(--inj-primary);
  box-shadow: none;
}

.injurease-button[href*="book-an-assessment"] {
  border-color: #073a1b;
  background: linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.035) 38%,rgba(0,0,0,.07) 100%),linear-gradient(135deg,#155b30 0%,#0e4f28 48%,#093f20 100%);
  color: #fff;
  box-shadow: none;
  text-shadow: none;
}

.injurease-button[href*="book-an-assessment"]:hover {
  border-color: #063719;
  background: linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.05) 38%,rgba(0,0,0,.06) 100%),linear-gradient(135deg,#196536 0%,#11572d 48%,#0a4623 100%);
  color: #fff;
  box-shadow: none;
}

.injurease-header__cta,
.injurease-header__cta[href*="book-an-assessment"],
.injurease-header__cta[href*="book-an-assessment"]:hover,
.injurease-header__cta[href*="book-an-assessment"]:active {
  box-sizing: border-box;
  height: var(--inj-button-small-height, 42px);
  min-height: var(--inj-button-small-height, 42px);
  max-height: var(--inj-button-small-height, 42px);
  border: 0;
  box-shadow: none;
}

.injurease-home-story__action,
.injurease-home-story__action:hover {
  letter-spacing: 0;
}


/* Keep button typography visually stable: no vertical button motion on hover/press anywhere. */
.injurease-button,
.injurease-button:hover,
.injurease-button:focus-visible,
.injurease-button:active,
.wp-element-button,
.wp-element-button:hover,
.wp-element-button:focus-visible,
.wp-element-button:active,
.injurease-prose .wp-block-button__link,
.injurease-prose .wp-block-button__link:hover,
.injurease-prose .wp-block-button__link:focus-visible,
.injurease-prose .wp-block-button__link:active {
  transform: none;
}

/* Built for every person around the recovery journey. */
.injurease-audience-card {
  --audience-accent: #5f8f49;
  --audience-tint: rgba(95,143,73,.13);
  background: linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,247,.94));
  color: var(--inj-primary);
}

.injurease-audience-card__visual {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: linear-gradient(135deg,#5f8f49,#81af60);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28),0 10px 22px rgba(89,131,28,.14);
}

.injurease-audience-card__visual > .injurease-icon {
  width: 28px;
  height: 28px;
  stroke-width: 1.7;
  shape-rendering: geometricPrecision;
}

.injurease-audience-card__arrow {
  width: 36px;
  height: 36px;
  border-color: rgba(95,143,73,.20);
  background: #fff;
  color: #5f8f49;
  box-shadow: none;
}

.injurease-audience-card:hover .injurease-audience-card__arrow,
.injurease-audience-card:focus-visible .injurease-audience-card__arrow,
.injurease-audience-card:active .injurease-audience-card__arrow {
  border-color: rgba(95,143,73,.32);
  background: linear-gradient(135deg,#5f8f49,#81af60);
  color: #fff;
}

/* Support designed around your situation + Why Injurease. */
.injurease-home-situations__cards article > .injurease-home-card__icon,
.injurease-home-difference__cards article .injurease-home-card__icon {
  width: 60px;
  height: 60px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg,#eaf2e4 0%,#deead6 52%,#d2e2c8 100%);
  color: #527f46;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82),0 8px 18px rgba(89,131,28,.10);
}

.injurease-home-situations__cards article:hover > .injurease-home-card__icon,
.injurease-home-situations__cards article:focus-within > .injurease-home-card__icon,
.injurease-home-situations__cards article:active > .injurease-home-card__icon,
.injurease-home-difference__cards article:hover .injurease-home-card__icon,
.injurease-home-difference__cards article:focus-within .injurease-home-card__icon,
.injurease-home-difference__cards article:active .injurease-home-card__icon {
  background: linear-gradient(135deg,#5f8f49,#81af60);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28),0 10px 22px rgba(89,131,28,.14);
}

.injurease-home-situations__header .injurease-card-slider__controls button,
.injurease-home-difference__header .injurease-card-slider__controls button {
  width: 44px;
  height: 44px;
  border-color: rgba(8,63,28,.16);
  background: rgba(255,255,255,.82);
  color: var(--inj-primary);
}

.injurease-home-situations__header .injurease-card-slider__controls button:hover,
.injurease-home-situations__header .injurease-card-slider__controls button:focus-visible,
.injurease-home-situations__header .injurease-card-slider__controls button:active,
.injurease-home-difference__header .injurease-card-slider__controls button:hover,
.injurease-home-difference__header .injurease-card-slider__controls button:focus-visible,
.injurease-home-difference__header .injurease-card-slider__controls button:active {
  border-color: rgba(63,101,79,.46);
  background: linear-gradient(135deg,#3f654f 0%,#55745a 54%,#6b8565 100%);
  color: #fff;
}

/* Phones keep the responsive stacking/slider behavior but not a reduced visual style. */
@media (max-width: 680px) {
  .injurease-audience-card,
  .injurease-audience-card:first-of-type {
    grid-template-columns: 56px minmax(0,1fr) 36px;
  }

  .injurease-audience-card__visual {
    width: 56px;
    height: 56px;
    border-radius: 18px;
  }

  .injurease-audience-card__arrow {
    width: 36px;
    height: 36px;
  }

  .injurease-card-slider__controls button,
  .injurease-home-situations__header .injurease-card-slider__controls button,
  .injurease-home-difference__header .injurease-card-slider__controls button {
    width: 44px;
    height: 44px;
  }
}

/* Home final CTA: keep the phone CTA on the exact same outer height as its adjacent primary CTA. */
.injurease-final-cta--home .injurease-final-cta__actions > .injurease-button {
  box-sizing: border-box;
  height: var(--inj-button-height, 48px);
  min-height: var(--inj-button-height, 48px);
  max-height: var(--inj-button-height, 48px);
  padding-top: 0;
  padding-bottom: 0;
  border-width: 1px;
  line-height: 1;
}

/* Home final CTA: optically match the white phone CTA to the adjacent green CTA. */
.injurease-final-cta--home .injurease-final-cta__actions > .injurease-button--glass {
  height: calc(var(--inj-button-height, 48px) - 2px);
  min-height: calc(var(--inj-button-height, 48px) - 2px);
  max-height: calc(var(--inj-button-height, 48px) - 2px);
  align-self: center;
}


/* Locations CTA: keep the approved hover on the buttons without repainting or shifting the CTA background. */
.injurease-locations-final-cta .injurease-final-cta__inner {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.injurease-locations-final-cta .injurease-final-cta__inner::before,
.injurease-locations-final-cta .injurease-final-cta__inner::after {
  pointer-events: none;
  animation: none !important;
  transition: none !important;
  will-change: auto;
}

.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button,
.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button:hover,
.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button:focus-visible,
.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button:active {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button {
  /* Do not animate gradients/background layers: that was causing the faint white movement behind the CTA on hover. */
  transition: border-color 180ms ease, color 180ms ease !important;
}

.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button:hover,
.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button:focus-visible,
.injurease-locations-final-cta .injurease-final-cta__actions > .injurease-button:active {
  transform: none !important;
}


@media (min-width: 961px) {
  .injurease-service-detail__hero-grid,
  .injurease-service-suite__hero-grid,
  .injurease-stakeholder-detail__hero-grid,
  .injurease-patient-journey__hero-grid {
    grid-template-columns: minmax(0, 1.03fr) minmax(var(--detail-hero-width-desktop, 490px), .97fr);
  }

  .injurease-faqs-page__hero-grid,
  .injurease-workcover-resources__hero-grid {
    grid-template-columns: minmax(0, 1.03fr) minmax(var(--detail-hero-width-desktop, 490px), .78fr);
  }

  .injurease-service-detail__hero-image,
  .injurease-service-suite__hero-image,
  .injurease-faqs-page__hero-image,
  .injurease-patient-journey__hero-image {
    width: min(100%, var(--detail-hero-width-desktop, 490px)) !important;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .injurease-stakeholder-detail__hero-visual picture,
  .injurease-workcover-resources__hero-visual .injurease-workcover-resources__picture,
  .injurease-patient-journey__hero-picture {
    width: min(100%, var(--detail-hero-width-desktop, 490px));
  }
}

@media (max-width: 960px) {
  .injurease-service-detail__hero-image,
  .injurease-service-suite__hero-image,
  .injurease-faqs-page__hero-image,
  .injurease-patient-journey__hero-image {
    width: min(100%, var(--detail-hero-width-mobile, 560px)) !important;
    max-width: 100%;
    height: auto;
    max-height: none;
    margin-inline: auto;
    object-fit: contain;
  }

  .injurease-stakeholder-detail__hero-visual picture,
  .injurease-faqs-page__hero-visual,
  .injurease-workcover-resources__hero-visual,
  .injurease-workcover-resources__hero-visual .injurease-workcover-resources__picture,
  .injurease-patient-journey__hero-picture {
    width: min(100%, var(--detail-hero-width-mobile, 560px));
    max-width: 100%;
    margin-inline: auto;
  }
}


.injurease-approved-detail-cta {
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: #f5f8f1;
}

.injurease-approved-detail-cta .injurease-final-cta__picture {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 680px) {
  .injurease-approved-detail-cta {
    padding-top: 52px;
    padding-bottom: 52px;
  }
}
