/* abbeytotalcaregroup — SITE-ONLY overrides. Loaded last, after all shared CSS.
 * Put new per-site rules here (they win over shared rules of equal specificity). */
/* Site variants kept from Phase 0 live INSIDE the shared files, scoped to this site (search: data-site="group").
 *   rules only this site has: style.css 95, components.css 499, cookie-consent.css 35
 *   shared rules switched off for this site: style.css 58, components.css 350, cookie-consent.css 35
 * To adopt the shared design for a rule: delete the site-only rule / remove this slug from the :not() list (in _shared/css), then sync. */

/* ---- design tokens this site uses with different values (per breakpoint) ---- */
/* Keep the finder controls above the same mobile contact bar used on every page. */
@media (max-width: 767px) {
  body[data-page="care-home-finder"] .acc-mobile-quickbar {
    display: block !important;
  }
  body[data-page="care-home-finder"] .ff-fab,
  body[data-page="care-home-finder"] .acc-chatbot {
    bottom: calc(var(--acc-mobile-action-clearance) + env(safe-area-inset-bottom) + var(--acc-chat-keyboard-offset, 0px));
  }
}

:root {
  --acc-btn-min-h: 48px;
  --acc-btn-min-h-lg: 52px;
  --acc-btn-min-h-sm: 44px;
  --acc-container-max: 1220px;
  --acc-content-width: 680px;
  --acc-navbar-h: 88px;
  --acc-section-y: clamp(3.4rem, 2.3rem + 3.2vw, 6.8rem);
  --cookie-bg: rgba(255, 255, 255, 0.98);
  --cookie-border: rgba(12, 43, 45, 0.08);
  --cookie-shadow: 0 20px 60px rgba(12, 43, 45, 0.25);
  --cookie-text: var(--acc-ink-900, #151b26);
}
@media (max-width: 1199.98px) {
  :root {
    --acc-section-y: clamp(3rem, 2.4rem + 2.2vw, 4.8rem);
  }
}
@media (max-width: 991.98px) {
  :root {
    --acc-navbar-h: 72px;
    --acc-section-y: clamp(3rem, 2.4rem + 2.2vw, 4.8rem);
  }
}
@media (max-width: 767.98px) {
  :root {
    --acc-btn-min-h: 44px;
    --acc-btn-min-h-lg: 48px;
    --acc-btn-min-h-sm: 44px;
    --acc-content-width: 100%;
    --acc-navbar-h: 72px;
    --acc-section-y: clamp(2.5rem, 2.05rem + 2.2vw, 3.5rem);
  }
}
@media (max-width: 575.98px) {
  :root {
    --acc-btn-min-h: 44px;
    --acc-btn-min-h-lg: 48px;
    --acc-btn-min-h-sm: 44px;
    --acc-content-width: 100%;
    --acc-navbar-h: 72px;
    --acc-section-y: clamp(2.5rem, 2.05rem + 2.2vw, 3.5rem);
  }
}
@media (max-width: 375px) {
  :root {
    --acc-btn-min-h: 44px;
    --acc-btn-min-h-lg: 48px;
    --acc-btn-min-h-sm: 44px;
    --acc-content-width: 100%;
    --acc-navbar-h: 72px;
    --acc-section-y: clamp(2.5rem, 2.05rem + 2.2vw, 3.5rem);
  }
}
@media (min-width: 1600px) {
  :root {
    --acc-container-max: 1220px;
    --acc-section-y: clamp(3.4rem, 2.3rem + 3.2vw, 6.8rem);
  }
}
@media (min-width: 1920px) {
  :root {
    --acc-container-max: 1220px;
    --acc-section-y: clamp(3.4rem, 2.3rem + 3.2vw, 6.8rem);
  }
}


/* ---- site-only rules that cannot be scoped (:root variables, html, *, @keyframes) ---- */
html {
  scroll-behavior: smooth;
}
@media (max-width: 991.98px) {
  @keyframes accMenuOpen {
    from {
      opacity: 0;
      transform: translateY(-6px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes accNavItemIn {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  html,
  body {
    width: 100%;
    overflow-x: clip;
  }
  *,
  *::before,
  *::after {
    min-width: 0;
  }
}
@media (max-width: 400px) {
  @media (max-width: 575.98px) {
  .acc-floating-review-cta {
    bottom: 20px;
    right: 20px;
    left: 20px;
    justify-content: center;
    padding: 12px 15px;
  }
}
}
@keyframes cookieFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes cookieFadeOut {
  to {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
}


/* shared html rule caps width; this site never did (html rules cannot be scoped) */
html {
  max-width: none;
}

/* The group's six links are longer than a home's five. Under 1280 the type steps down with the width so Careers keeps clear of the button. */
@media (min-width: 992px) and (max-width: 1279.98px) {
  html body .acc-premium-navbar .nav-link {
    font-size: clamp(0.9375rem, 0.5rem + 0.7vw, 1.0625rem) !important;
  }
}
@media (min-width: 992px) and (max-width: 1099.98px) {
  html body .acc-premium-navbar .nav-link {
    padding-inline: 0.2rem !important;
  }
}

/* Our Journey (about.html): years run along a spine that fills as the page scrolls, one logo leaf colour per era.
 * The resting state is the finished look; main.js only animates it in, so nothing depends on the script. */
/* ScrollTrigger measures the page by jumping to the top and back. Smooth scrolling stops that jump, so a resize showed the whole timeline as finished. */
html:has(.acc-journey-timeline) { scroll-behavior: auto; }
html body .acc-journey-section {
  --acc-hl: var(--acc-clay);
  padding-block: var(--acc-section-y);
  background: var(--acc-band-oat);
}
html body .acc-journey-head {
  max-width: 48rem;
  margin: 0 auto var(--acc-journey-row-gap);
  text-align: center;
}
html body .acc-journey-section .acc-eyebrow { color: var(--acc-clay); }
html body .acc-journey-head p {
  margin: 1rem 0 0;
  color: var(--acc-ink-700);
}
html body .acc-journey-timeline {
  --acc-journey-marker-top: calc((var(--acc-journey-year-size) - var(--acc-journey-marker)) / 2);
  position: relative;
}
html body .acc-journey-line-wrapper {
  position: absolute;
  top: calc(var(--acc-journey-marker-top) + var(--acc-journey-marker) / 2);
  bottom: 0;
  left: calc(var(--acc-journey-marker) / 2);
  width: var(--acc-journey-spine);
  margin-left: calc(var(--acc-journey-spine) / -2);
  overflow: hidden;
  border-radius: var(--acc-journey-spine);
}
html body :is(.acc-journey-line-bg, .acc-journey-line-fill) {
  position: absolute;
  inset: 0;
}
html body .acc-journey-line-bg { background: var(--acc-tile-stone-2); }
html body .acc-journey-line-fill {
  background: linear-gradient(180deg, var(--acc-clay) 0%, var(--acc-leaf-blue) 30%, var(--acc-plum-700) 55%, var(--acc-forest) 78%, var(--acc-burgundy) 100%);
}
html body .acc-journey-items {
  position: relative;
  display: grid;
  gap: var(--acc-journey-row-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
html body .acc-journey-item {
  display: grid;
  grid-template-columns: var(--acc-journey-marker) minmax(0, 1fr);
  column-gap: var(--acc-journey-column-gap);
  align-items: start;
}
html body .acc-journey-marker {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  width: var(--acc-journey-marker);
  height: var(--acc-journey-marker);
  margin-top: var(--acc-journey-marker-top);
  border-radius: 50%;
  background: var(--tone-ink);
  box-shadow: 0 0 0 var(--acc-journey-marker-halo) var(--acc-band-oat);
}
html body .acc-journey-marker::after {
  content: '';
  position: absolute;
  inset: calc(var(--acc-journey-marker-halo) * -1 - var(--acc-journey-spine));
  border: 1px solid var(--tone-ink);
  border-radius: 50%;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 400ms var(--acc-ease-out), transform 400ms var(--acc-ease-out);
}
html body .acc-journey-item.is-active .acc-journey-marker::after {
  opacity: 1;
  transform: none;
}
html body .acc-journey-content {
  grid-column: 2;
  min-width: 0;
}
html body .acc-journey-year {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--tone-ink);
  font-family: var(--acc-font-heading);
  font-size: var(--acc-journey-year-size);
  font-weight: 600;
  line-height: 1;
}
html body .acc-journey-card {
  padding: var(--acc-journal-card-pad);
  border-radius: var(--acc-journal-card-radius);
  background: var(--acc-surface);
  box-shadow: var(--acc-shadow-sm);
}
html body .acc-journey-icon-box {
  display: grid;
  place-items: center;
  width: var(--acc-journey-icon);
  height: var(--acc-journey-icon);
  margin-bottom: 1rem;
  border-radius: var(--acc-journal-mini-thumb-radius);
  background: var(--tone-bg);
  color: var(--tone-ink);
  font-size: 1.25rem;
}
html body .acc-journey-card h3 {
  margin: 0 0 0.5rem;
  font-size: var(--acc-journey-title-size);
}
html body .acc-journey-card p {
  margin: 0;
  color: var(--acc-ink-700);
}
@media (min-width: 992px) {
  html body .acc-journey-line-wrapper { left: 50%; }
  html body .acc-journey-item { grid-template-columns: minmax(0, 1fr) var(--acc-journey-marker) minmax(0, 1fr); }
  html body .acc-journey-content { display: contents; }
  html body .acc-journey-marker { grid-column: 2; }
  html body :is(.acc-journey-year, .acc-journey-card) { grid-row: 1; }
  html body .acc-journey-year { margin-bottom: 0; }
  html body .acc-journey-item:nth-child(odd) .acc-journey-card { grid-column: 1; }
  html body .acc-journey-item:nth-child(odd) .acc-journey-year { grid-column: 3; }
  html body .acc-journey-item:nth-child(even) .acc-journey-card { grid-column: 3; }
  html body .acc-journey-item:nth-child(even) .acc-journey-year {
    grid-column: 1;
    text-align: right;
  }
}
