/* Colourful footer (loaded last) */
body .site-footer{ --f-g:#7ddc5a; --f-y:#f5b800; --f-b:#5aa0ff; --f-r:#ff6b81; --f-p:#b48cff;
  background:linear-gradient(180deg,#0a2c63 0%,#08265a 55%,#061d47 100%); border-top:0; padding-top:56px; overflow:hidden; }
body .site-footer::before{ background:
  radial-gradient(circle at 8% 22%,rgba(125,220,90,.16),transparent 38%),
  radial-gradient(circle at 92% 12%,rgba(90,160,255,.20),transparent 40%),
  radial-gradient(circle at 78% 92%,rgba(255,107,129,.16),transparent 40%),
  radial-gradient(circle at 30% 100%,rgba(245,184,0,.12),transparent 38%); }
body .site-footer::after{ content:""; position:absolute; left:0; right:0; top:0; height:6px; z-index:2;
  background:linear-gradient(90deg,#2f8f22 0 25%,#f5b800 25% 50%,#1a6fd6 50% 75%,#e0505f 75%); }

/* CTA band */
body .ft-cta{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 38px; border-radius:26px; position:relative; overflow:hidden;
  background:linear-gradient(110deg,#2f8f22 0%,#12a39a 45%,#1a6fd6 100%); box-shadow:0 22px 44px rgba(0,0,0,.28); }
body .ft-cta::before{ content:""; position:absolute; right:-60px; top:-80px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,rgba(245,184,0,.65),transparent 68%); }
body .ft-cta::after{ content:""; position:absolute; left:30%; bottom:-110px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%); }
body .ft-cta > *{ position:relative; z-index:1; }
body .ft-cta-kick{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; }
body .ft-cta h3{ margin:12px 0 6px; font:800 clamp(22px,2.6vw,30px)/1.2 "DM Sans",sans-serif; color:#fff; text-transform:none; }
body .ft-cta p{ margin:0; font-size:15.5px; color:rgba(255,255,255,.9); text-align:left; }
body .ft-cta-btns{ display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }
body .ft-btn{ display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px; font:700 15.5px "DM Sans",sans-serif; text-decoration:none; white-space:nowrap; transition:transform .2s,box-shadow .2s; }
body .ft-btn:hover{ transform:translateY(-3px); }
body .ft-btn-y{ background:#f5b800; color:#0a2c63; box-shadow:0 12px 24px rgba(0,0,0,.25); }
body .ft-btn-w{ background:rgba(255,255,255,.16); color:#fff; border:1.5px solid rgba(255,255,255,.55); }
body .ft-btn-w:hover{ background:#fff; color:#0a2c63; }

body .footer-main{ padding:56px 0 40px; }
body .footer-logo{ border-radius:16px; box-shadow:0 0 0 4px rgba(125,220,90,.25),0 14px 28px rgba(0,0,0,.25); }

/* coloured column accents */
body .ft-col{ --a:#7ddc5a; }
body .ft-c1{ --a:#f5b800; } body .ft-c2{ --a:#5aa0ff; } body .ft-c3{ --a:#ff6b81; }
body .site-footer .footer-title{ color:#fff; display:inline-block; }
body .site-footer .footer-title::after{ width:46px; height:4px; background:var(--a,#7ddc5a); border-radius:3px; }
body .site-footer .footer-title::before{ left:52px; width:10px; height:4px; background:#fff; opacity:.7; }
body .ft-col .footer-menu a::before{ content:"\f054"; font-size:9px; width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#0a2c63; background:var(--a); flex:0 0 auto; transition:transform .2s; }
body .ft-col .footer-menu a:hover{ color:var(--a); }
body .ft-col .footer-menu a:hover::before{ transform:scale(1.2); }
body .footer-menu li{ margin-bottom:10px; }

/* contact icons each colour */
body .footer-contact li:nth-child(1) .fc-icon{ background:#7ddc5a; color:#0a2c63; }
body .footer-contact li:nth-child(2) .fc-icon{ background:#f5b800; color:#0a2c63; }
body .footer-contact li:nth-child(3) .fc-icon{ background:#5aa0ff; color:#0a2c63; }
body .fc-icon{ width:38px; height:38px; box-shadow:0 8px 16px rgba(0,0,0,.22); }
body .footer-contact a:hover{ color:#f5b800; }

/* brand coloured social buttons */
body .ft-social a{ width:42px; height:42px; color:#fff; font-size:18px; box-shadow:0 8px 16px rgba(0,0,0,.25); border:0; }
body .ft-social a.fb{ background:#1877f2; } body .ft-social a.yt{ background:#ff2e2e; }
body .ft-social a.ig{ background:linear-gradient(45deg,#f9a825,#e1306c 55%,#833ab4); } body .ft-social a.wa{ background:#25d366; }
body .ft-social a:hover{ color:#fff; transform:translateY(-5px) scale(1.06); }

/* bottom bar */
body .footer-bottom{ background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.18)); border-top:0; position:relative; }
body .footer-bottom::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#2f8f22,#7ddc5a,#f5b800,#5aa0ff,#ff6b81,#b48cff); }
body .footer-bottom .container{ padding-top:20px; padding-bottom:20px; }
body .ft-copy{ color:rgba(255,255,255,.82) !important; }
body .ft-copy .fa{ color:#f5b800; margin-right:6px; }
body .footer-credit{ position:relative; display:inline-flex; align-items:center; gap:10px; padding:9px 20px 9px 10px; border-radius:999px; font-size:14px; font-weight:500; color:rgba(255,255,255,.88) !important;
  background:linear-gradient(#0d2f69,#0d2f69) padding-box,linear-gradient(100deg,#7ddc5a,#f5b800,#5aa0ff,#ff6b81) border-box; border:1.5px solid transparent; box-shadow:0 10px 22px rgba(0,0,0,.25); transition:transform .25s,box-shadow .25s; }
body .footer-credit:hover{ transform:translateY(-3px); box-shadow:0 16px 28px rgba(0,0,0,.35); }
body .footer-credit .fa{ width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:14px; color:#0a2c63; background:linear-gradient(135deg,#7ddc5a,#f5b800); }
body .footer-credit strong{ font-weight:800; font-size:15.5px; letter-spacing:.01em; background:linear-gradient(100deg,#7ddc5a,#f5d34a 55%,#8cc2ff); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }

@media (max-width:991px){ body .ft-cta{ flex-direction:column; align-items:flex-start; padding:28px 26px; } body .ft-cta-btns{ justify-content:flex-start; } }
@media (max-width:575px){ body .site-footer{ padding-top:36px; } body .ft-btn{ padding:13px 20px; font-size:15px; } body .footer-credit{ padding:8px 16px 8px 8px; font-size:13px; } }

/* keep the floating scroll-to-top button clear of the credit pill */
@media (min-width:576px){ body .footer-bottom .container{ padding-right:84px; } }
@media (max-width:575px){ body .footer-bottom .container{ padding-bottom:84px; } }

body .footer-credit a{ text-decoration:none; }
body .footer-credit a strong{ cursor:pointer; transition:filter .2s; }
body .footer-credit a:hover strong{ filter:brightness(1.25); text-decoration:underline; text-underline-offset:4px; -webkit-text-fill-color:transparent; }

/* compact bottom bar */
body .footer-bottom .container{ padding-top:10px !important; padding-bottom:10px !important; min-height:0; }
body .footer-bottom p{ line-height:1.3; }
@media (max-width:575px){ body .ft-copy{ font-size:13px !important; } }
body .footer-credit{ padding:5px 16px 5px 5px; gap:9px; font-size:13.5px; }
body .footer-credit .fa{ width:26px; height:26px; font-size:12px; }
body .footer-credit strong{ font-size:14.5px; }
@media (min-width:576px){ body .footer-bottom .container{ padding-right:80px !important; } }
@media (max-width:575px){ body .footer-bottom .container{ padding-top:12px !important; padding-bottom:56px !important; gap:6px; } }

/* copyright pill = same design as credit pill */
body .ft-copy{ position:relative; display:inline-flex; align-items:center; gap:9px; margin:0; padding:5px 18px 5px 5px; border-radius:999px; font-size:13.5px; font-weight:500; color:rgba(255,255,255,.88) !important;
  background:linear-gradient(#0d2f69,#0d2f69) padding-box,linear-gradient(100deg,#7ddc5a,#f5b800,#5aa0ff,#ff6b81) border-box; border:1.5px solid transparent; box-shadow:0 10px 22px rgba(0,0,0,.25); transition:transform .25s,box-shadow .25s; }
body .ft-copy:hover{ transform:translateY(-3px); box-shadow:0 16px 28px rgba(0,0,0,.35); }
body .ft-copy .fa{ width:26px; height:26px; margin:0; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; color:#0a2c63; background:linear-gradient(135deg,#7ddc5a,#f5b800); }
@media (max-width:575px){ body .ft-copy{ font-size:12.5px !important; padding-right:14px; text-align:left; } }

@media (max-width:575px){
  body .footer-bottom .container{ flex-direction:column; align-items:center; }
  body .ft-copy,body .footer-credit{ width:auto; max-width:100%; justify-content:flex-start; text-align:left; }
  body .footer-credit{ white-space:nowrap; font-size:12.5px; padding-right:14px; }
  body .footer-credit strong{ font-size:13.5px; }
  body .ft-copy{ border-radius:22px; line-height:1.3; }
}
body .footer-credit .fa,body .ft-copy .fa{ flex:0 0 auto; }
@media (max-width:359px){ body .footer-credit{ font-size:11.5px; gap:7px; padding-right:10px; } body .footer-credit strong{ font-size:12.5px; } body .ft-copy{ font-size:12px !important; } }

/* single line on every screen */
body .ft-copy,body .footer-credit{ white-space:nowrap; }
@media (max-width:575px){
  body .ft-rights{ display:none; }
  body .ft-copy{ border-radius:999px; font-size:12.5px !important; }
}
@media (max-width:359px){ body .ft-copy{ font-size:11.5px !important; gap:7px; padding-right:10px; } }
@media (max-width:575px){ body .footer-bottom .container{ padding-bottom:68px !important; } }

/* remove empty gap at top of footer */
body .site-footer{ padding-top:0 !important; }
body .footer-main{ padding:44px 0 32px !important; row-gap:28px; }
body .footer-main .footer-title{ margin-top:0; }
@media (max-width:575px){ body .site-footer{ padding-top:0 !important; } body .footer-main{ padding:34px 0 24px !important; } }

/* ---- bottom bar: plain text left and right (no boxes / cards) ---- */
body .ft-copy, body .footer-credit{
  background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important;
  padding:0 !important; min-height:0; transform:none !important; font-size:14px; gap:10px;
}
body .ft-copy:hover, body .footer-credit:hover{ transform:none !important; box-shadow:none !important; }
body .ft-copy .fa, body .footer-credit .fa{ width:28px; height:28px; font-size:13px; }
body .footer-credit strong{ font-size:15px; }
@media (min-width:576px){
  body .footer-bottom .container{ justify-content:space-between !important; padding-left:calc(var(--bs-gutter-x,1.5rem) * .5) !important; padding-right:84px !important; }
}
@media (max-width:575px){
  body .footer-bottom .container{ justify-content:center !important; gap:8px !important; }
  body .ft-copy, body .footer-credit{ font-size:13px; } body .footer-credit strong{ font-size:14px; }
}
@media (max-width:767px){ body .footer-bottom .container{ justify-content:center !important; padding-left:calc(var(--bs-gutter-x,1.5rem) * .5) !important; padding-right:calc(var(--bs-gutter-x,1.5rem) * .5) !important; } }
