/* Site footer drawn by includes/site-footer.php, on every page. Dark green like the Elementor footer it replaces;
   self-contained (does not need style.css variables to exist on the page). */
.sc-foot { --f-dark:#0E400F; --f-dark-2:#185a1a; --f-mint:#36E383; --f-cream:#F7F4EE; --f-line:rgba(247,244,238,.16);
  position:relative; margin-top:72px; background:var(--f-dark); color:var(--f-cream); font-family:ubuntu, sans-serif; font-size:15px; line-height:1.5; }
.sc-foot::before { content:""; position:absolute; left:0; right:0; top:-40px; height:41px; background:var(--f-dark); border-radius:50% 50% 0 0 / 100% 100% 0 0; }
.sc-foot *, .sc-foot *::before, .sc-foot *::after { box-sizing:border-box; }
.sc-foot p, .sc-foot ul, .sc-foot h2 { margin:0; }
.sc-foot ul { padding:0; list-style:none; }
.sc-foot a { color:inherit; text-decoration:none; }
.sc-foot a:hover { color:var(--f-mint); }
.sc-foot mark { background:none; color:var(--f-mint); padding:0; }
.sc-foot__wrap { position:relative; width:90%; max-width:var(--sc-wrap, 1400px); margin:0 auto; padding:16px 0 28px; display:grid; gap:44px; }

/* Promo cards */
.sc-foot__promos { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.sc-foot__promo { display:grid; gap:10px; align-content:start; padding:28px; border-radius:16px; background:var(--f-dark-2); border:1px solid var(--f-line); }
.sc-foot__promo--biz { background:var(--f-cream); color:var(--f-dark); border-color:transparent; }
.sc-foot__promo--biz mark { color:var(--f-dark); background:var(--f-mint); padding:0 .15em; border-radius:6px; }
.sc-foot__kicker { font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--f-mint); }
.sc-foot__promo--biz .sc-foot__kicker { color:#1B6520; }
.sc-foot__promo-title { font-family:var(--sc-font-title, Outfit, sans-serif); font-size:clamp(22px, 2.4vw, 28px); font-weight:700; line-height:1.2; color:inherit; }
.sc-foot__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.sc-foot__btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:8px 20px; border-radius:12px; border:2px solid currentColor; font-weight:700; }
.sc-foot a.sc-foot__btn--primary { background:var(--f-mint); border-color:var(--f-mint); color:var(--f-dark); }
.sc-foot a.sc-foot__btn:hover { background:var(--f-cream); border-color:var(--f-cream); color:var(--f-dark); }
.sc-foot__promo--biz a.sc-foot__btn:hover { background:var(--f-dark); border-color:var(--f-dark); color:var(--f-cream); }

/* Link columns */
.sc-foot__main { display:grid; grid-template-columns:minmax(0,1.4fr) repeat(4, minmax(0,1fr)); gap:32px; padding-top:8px; }
.sc-foot__brand { display:grid; gap:14px; align-content:start; }
.sc-foot__brand img { display:block; width:190px; height:auto; }
.sc-foot__brand p { opacity:.85; max-width:320px; }
.sc-foot__h { font-family:var(--sc-font-title, Outfit, sans-serif); font-size:16px; font-weight:700; color:var(--f-mint); margin-bottom:12px; }
.sc-foot__col ul { display:grid; gap:8px; }
.sc-foot__col a { opacity:.9; }
.sc-foot__all { display:inline-block; margin-top:10px; font-weight:700; color:var(--f-mint); }

/* Programmes and events: small tags (pills are fine for small tags) */
.sc-foot__tags { display:grid; gap:22px; padding-top:28px; border-top:1px solid var(--f-line); }
.sc-foot__tagrow ul { display:flex; flex-wrap:wrap; gap:8px; }
.sc-foot__tagrow a { display:inline-block; padding:5px 12px; border-radius:999px; border:1px solid var(--f-line); font-size:14px; }
.sc-foot__tagrow a:hover { border-color:var(--f-mint); }
.sc-foot__tagrow a.sc-foot__tag-all { border-color:transparent; font-weight:700; color:var(--f-mint); }

/* Bottom bar */
.sc-foot__bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding-top:22px; border-top:1px solid var(--f-line); font-size:13px; opacity:.85; }
.sc-foot__legal ul { display:flex; flex-wrap:wrap; gap:6px 18px; }
.sc-foot__bottom a { text-decoration:underline; text-underline-offset:2px; }

@media (max-width: 1024px) {
  .sc-foot__main { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .sc-foot__brand { grid-column:1 / -1; }
}
@media (max-width: 767px) {
  .sc-foot { margin-top:56px; font-size:15px; }
  .sc-foot::before { top:-24px; height:25px; }
  .sc-foot__wrap { gap:32px; padding-bottom:24px; }
  .sc-foot__promos { grid-template-columns:1fr; }
  .sc-foot__promo { padding:22px 20px; }
  .sc-foot__btn { flex:1 1 auto; }
  .sc-foot__main { gap:28px 20px; }
  .sc-foot__col ul { gap:10px; }
  .sc-foot__bottom { flex-direction:column; align-items:flex-start; }
}
