/* ==========================================================================
   ICA site footer — four short columns
   Scope: .ica-footer  |  Tokens fall back to live site values
   ========================================================================== */
.ica-footer{
  --ft-primary:var(--bs-primary-hex,#0072bc);
  --ft-navy:var(--bs-tertiary-hex,#1e2d3b);
  --ft-ink:var(--bs-heading-color-hex,#212124);
  --ft-yellow:var(--bs-warning-hex,#ffd240);
  --ft-yellow-hover:#f5c724;
  --ft-accent:#80b7e3;
  --ft-soft:#c9d6e2;
  --ft-line:rgba(255,255,255,.14);
  --ft-heading:'Catamaran',sans-serif;
  --ft-font:'Nunito Sans',system-ui,sans-serif;
  font-family:var(--ft-font);color:#fff;background:var(--ft-navy);
}
.ica-footer *,.ica-footer *::before,.ica-footer *::after{box-sizing:border-box}
.ica-footer a{color:inherit;text-decoration:none;transition:color .15s}
.ica-footer a:hover,.ica-footer a:focus-visible{color:var(--ft-yellow);outline:none}
.ica-footer ul{list-style:none;margin:0;padding:0}

.ica-footer__inner{max-width:1440px;margin:0 auto;padding:56px 64px 28px;display:flex;flex-direction:column;gap:44px}

/* ---- columns ---- */
.ica-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px}

.ica-footer__brand{display:flex;flex-direction:column;gap:18px}
.ica-footer__logo{display:flex;align-items:center;gap:12px;color:#fff}
.ica-footer__logo img{height:44px;width:auto}
.ica-footer__logo-name{display:flex;flex-direction:column;line-height:1.05}
.ica-footer__logo-name b{font-family:var(--ft-heading);font-weight:600;font-size:21px;letter-spacing:-.01em}
.ica-footer__logo-name small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ft-soft);margin-top:3px}
.ica-footer__blurb{margin:0;font-size:14.5px;line-height:1.55;color:var(--ft-soft);max-width:340px}
.ica-footer__book{align-self:flex-start;display:inline-flex;align-items:center;padding:12px 22px;border-radius:999px;background:var(--ft-yellow);color:var(--ft-ink);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;transition:background .15s}
.ica-footer__book:hover,.ica-footer__book:focus-visible{background:var(--ft-yellow-hover);color:var(--ft-ink)}

.ica-footer__col{display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.ica-footer__label{font-family:var(--ft-heading);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ft-accent);margin:0 0 6px}
.ica-footer__col ul{display:flex;flex-direction:column;gap:10px}

.ica-footer__clinics{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0}
.ica-footer__clinics dt{font-weight:400}
.ica-footer__clinics dd{margin:0;color:var(--ft-soft)}
.ica-footer__more{color:var(--ft-yellow);font-weight:700;margin-top:4px}
.ica-footer__more:hover{color:#fff}

/* ---- legal bar ---- */
.ica-footer__bar{border-top:1px solid var(--ft-line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px;color:var(--ft-soft)}
.ica-footer__legal{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.ica-footer__social{display:flex;gap:14px}
.ica-footer__social a{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;transition:border-color .15s,color .15s}
.ica-footer__social a:hover,.ica-footer__social a:focus-visible{border-color:var(--ft-yellow);color:var(--ft-yellow)}
.ica-footer__social svg{width:16px;height:16px;fill:currentColor}

/* ---- responsive ---- */
@media (max-width:1100px){
  .ica-footer__grid{grid-template-columns:1fr 1fr 1fr}
  .ica-footer__brand{grid-column:1/-1;max-width:none}
  .ica-footer__clinics-col{grid-column:1/-1}
  .ica-footer__clinics{grid-template-columns:repeat(4,auto);justify-content:start;gap:8px 28px}
}
@media (max-width:720px){
  .ica-footer__inner{padding:44px 24px 24px;gap:36px}
  .ica-footer__grid{grid-template-columns:1fr 1fr;gap:32px 24px}
  .ica-footer__clinics{grid-template-columns:auto 1fr}
  .ica-footer__bar{flex-direction:column;align-items:flex-start;gap:18px}
}
@media (max-width:480px){
  .ica-footer__grid{grid-template-columns:1fr}
}

/* === footer: site integration (appended 2026-09-17) ======================= */
.ica-footer__overlay{color:#fff}
.ica-footer__logo svg{height:44px;width:auto;display:block}
.ica-footer h2.ica-footer__label{color:var(--ft-accent)}
.ica-footer__legal{list-style:none;margin:0;padding:0}
.ica-footer__legal li{margin:0;padding:0;display:inline-flex;align-items:center;gap:6px}
.ica-footer__legal .copy-link{color:inherit}
.ica-footer__credit a{display:inline-flex;align-items:center;color:inherit}
.ica-footer__credit svg{height:1em;width:auto}

/* === footer: 24px tap targets (appended 2026-10-04, responsive audit L5) ===
   WCAG 2.5.8 asks for a 24px target. The footer's text links measured 20px
   (14.5px column and clinic links), 19.5px (13px legal bar) and 13px (the
   credit mark). Vertical padding grows the border box, which is the clickable
   area; the equal negative margin hands that space straight back, so the
   margin box that line and flex layout measure is unchanged and nothing moves
   at any width. Inline links ignore vertical margins and never reflow from
   vertical padding, so the pair is safe for both kinds. 4px, not 3: while the
   webfont is still loading (or is blocked) the 14.5px links fall back to
   system-ui / sans-serif, whose 16-19px content area needs 4px a side to reach
   24. 4px is also the most the clinic grid's 8px row gap allows before
   neighbouring hit areas overlap. The logo, the book button and the 34px
   social icons already clear 24px and are not matched. */
.ica-footer__col a,
.ica-footer__legal a{padding:4px 0;margin:-4px 0}
.ica-footer__col a.ica-footer__more{margin-top:0} /* keeps its 4px text offset: 4 - 4 */
.ica-footer__legal .ica-footer__credit a{min-height:24px} /* 13px mark: padding alone reaches 21px */
