/* GAP Foundation premium footer — isolated styles, responsive across devices */
#tg-footer.gap-footer, #tg-footer.gap-footer * { box-sizing: border-box; }
#tg-footer.gap-footer {
  --gf-navy:#061633; --gf-navy2:#0b1b3b; --gf-pink:#ed0878; --gf-pink2:#ff3d9b;
  --gf-white:#fff; --gf-muted:#d3dced;
  position:relative; isolation:isolate; width:100%; overflow:hidden;
  color:var(--gf-white); font-family:'Poppins',Arial,sans-serif;
  background:radial-gradient(ellipse at 92% 58%,rgba(174,36,130,.34),transparent 28%),linear-gradient(112deg,#06132e 0%,#081a39 62%,#21143a 100%);
}
#tg-footer.gap-footer a { color:inherit; text-decoration:none; }
#tg-footer.gap-footer a:focus-visible, #tg-footer.gap-footer button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
#tg-footer .gap-footer-main { position:relative; padding:44px 0 38px; }
#tg-footer .gap-footer-main:before { content:""; position:absolute; z-index:-1; top:0; left:-2%; width:104%; height:7px; background:linear-gradient(90deg,#ff4ba5,var(--gf-pink),#ff72b5); border-radius:0 0 50% 50%; }
#tg-footer .gap-footer-container { width:min(100% - 64px,1500px); margin:0 auto; }
#tg-footer .gap-footer-layout { display:grid; grid-template-columns:minmax(250px, .9fr) minmax(0,2.5fr); gap:36px; align-items:stretch; }
#tg-footer .gap-footer-about { min-width:0; padding:8px 32px 4px 0; border-right:1px solid rgba(255,255,255,.25); }
#tg-footer .gap-footer-logo { display:inline-flex; margin:0 0 20px; max-width:100%; }
#tg-footer .gap-footer-logo img { display:block; width:auto; max-width:min(100%,285px); max-height:78px; object-fit:contain; }
#tg-footer .gap-footer-description { margin:0 0 20px; color:var(--gf-muted); font-size:14px; line-height:1.75; }
#tg-footer .gap-footer-description a { display:inline-block; margin-left:5px; color:#ff4b9e; font-weight:700; white-space:nowrap; }
#tg-footer .gap-footer-description a i { margin-left:5px; }
#tg-footer .gap-footer-contact, #tg-footer .gap-footer-social, #tg-footer .gap-footer-column ul, #tg-footer .gap-footer-bottom ul { list-style:none; margin:0; padding:0; }
#tg-footer .gap-footer-contact { display:grid; gap:12px; margin:0 0 20px; }
#tg-footer .gap-footer-contact li { display:flex; align-items:center; gap:13px; min-width:0; color:#fff; font-size:14px; }
#tg-footer .gap-footer-contact li>a { min-width:0; overflow-wrap:anywhere; }
#tg-footer .gap-footer-icon { display:inline-flex; flex:0 0 42px; width:42px; height:42px; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#ff2993,#d90070); box-shadow:0 5px 15px rgba(237,8,120,.2); font-size:17px; }
#tg-footer .gap-footer-social { display:flex; flex-wrap:wrap; gap:10px; }
#tg-footer .gap-footer-social li { margin:0; }
#tg-footer .gap-footer-social a { display:flex; width:39px; height:39px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; color:#fff; font-size:16px; transition:background .2s,border-color .2s,transform .2s; }
#tg-footer .gap-footer-social a:hover { background:var(--gf-pink); border-color:var(--gf-pink); transform:translateY(-3px); }
#tg-footer .gap-footer-content { min-width:0; }
#tg-footer .gap-footer-cta { display:grid; grid-template-columns:76px minmax(220px,1fr) auto; align-items:center; gap:18px; padding:0 0 24px; margin:0 0 28px; border-bottom:1px solid rgba(255,255,255,.22); }
#tg-footer .gap-footer-cta-icon { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; color:#ff2993; font-size:35px; line-height:1.05; }
#tg-footer .gap-footer-cta-icon i:last-child { font-size:24px; margin-top:-3px; }
#tg-footer .gap-footer-cta-copy { min-width:0; padding-left:20px; border-left:2px solid var(--gf-pink); }
#tg-footer .gap-footer-cta-copy h2 { margin:0 0 7px; color:#fff; font-size:20px; line-height:1.35; font-weight:700; }
#tg-footer .gap-footer-cta-copy p { margin:0; color:var(--gf-muted); font-size:14px; line-height:1.6; }
#tg-footer .gap-footer-cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
#tg-footer .gap-footer-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:9px; padding:11px 18px; border:1px solid var(--gf-pink); border-radius:10px; font-size:13px; font-weight:700; white-space:nowrap; transition:background .2s,border-color .2s,transform .2s; }
#tg-footer .gap-footer-button-primary { background:linear-gradient(110deg,#ff2993,#e50072); color:#fff; }
#tg-footer .gap-footer-button-outline { border-color:rgba(255,255,255,.8); background:rgba(255,255,255,.035); color:#fff; }
#tg-footer .gap-footer-button:hover { background:#a80b72; border-color:#a80b72; color:#fff; transform:translateY(-2px); }
#tg-footer .gap-footer-links { display:grid; grid-template-columns:1fr 1.12fr 1.15fr; gap:26px; }
#tg-footer .gap-footer-column { min-width:0; padding-right:20px; border-right:1px solid rgba(255,255,255,.22); }
#tg-footer .gap-footer-column:last-child { padding-right:0; border-right:0; }
#tg-footer .gap-footer-column h3 { position:relative; margin:0 0 20px; padding:0 0 13px; color:#fff; font-size:19px; line-height:1.3; font-weight:700; }
#tg-footer .gap-footer-column h3:after { content:""; position:absolute; left:0; bottom:0; width:48px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--gf-pink),#ff69b0); }
#tg-footer .gap-footer-column li { margin:0 0 10px; padding:0; }
#tg-footer .gap-footer-column li>a { display:flex; align-items:center; gap:11px; color:var(--gf-muted); font-size:14px; line-height:1.55; transition:color .2s,transform .2s; }
#tg-footer .gap-footer-column li>a:before { content:"\f105"; flex:0 0 12px; color:#ff2993; font-family:FontAwesome; font-size:21px; line-height:1; }
#tg-footer .gap-footer-column li>a:hover { color:#fff; transform:translateX(3px); }
#tg-footer .gap-footer-involved li>a:before { content:none; }
#tg-footer .gap-footer-involved li>a>span { display:inline-flex; flex:0 0 42px; width:42px; height:42px; align-items:center; justify-content:center; border-radius:9px; color:#fff; background:linear-gradient(145deg,#ff2993,#d90070); font-size:17px; }
#tg-footer .gap-footer-bottom { position:relative; padding:17px 0; border-top:1px solid rgba(255,255,255,.23); background:rgba(0,0,0,.17); }
#tg-footer .gap-footer-bottom:before { content:""; position:absolute; left:0; right:0; top:-4px; height:4px; background:linear-gradient(90deg,transparent 0%,#e90078 18%,#ff4ca5 50%,#e90078 82%,transparent 100%); opacity:.9; }
#tg-footer .gap-footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:16px 25px; padding-right:64px; }
#tg-footer .gap-footer-copyright { color:var(--gf-muted); font-size:13px; line-height:1.6; }
#tg-footer .gap-footer-bottom ul { display:flex; flex-wrap:wrap; align-items:center; gap:8px 25px; }
#tg-footer .gap-footer-bottom li { position:relative; margin:0; }
#tg-footer .gap-footer-bottom li+li:before { content:""; position:absolute; left:-13px; top:3px; height:17px; border-left:1px solid rgba(255,255,255,.45); }
#tg-footer .gap-footer-bottom li a { color:var(--gf-muted); font-size:13px; transition:color .2s; }
#tg-footer .gap-footer-bottom li a:hover { color:#ff4b9e; }
#tg-footer #myBtn.gap-footer-top { position:fixed; z-index:999; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); display:none; width:52px; height:52px; padding:0; border:0; border-radius:50%; background:linear-gradient(145deg,#ff2993,#d90070); color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.25); font-size:20px; cursor:pointer; transition:transform .2s,background .2s; }
#tg-footer #myBtn.gap-footer-top:hover { transform:translateY(-3px); background:#a80b72; }
@media (max-width:1199px) {
 #tg-footer .gap-footer-container { width:min(100% - 44px,1100px); }
 #tg-footer .gap-footer-layout { grid-template-columns:minmax(220px,.8fr) minmax(0,2fr); gap:26px; }
 #tg-footer .gap-footer-about { padding-right:24px; }
 #tg-footer .gap-footer-cta { grid-template-columns:58px minmax(190px,1fr); }
 #tg-footer .gap-footer-cta-actions { grid-column:2; justify-content:flex-start; }
 #tg-footer .gap-footer-links { gap:18px; }
 #tg-footer .gap-footer-column { padding-right:13px; }
}
@media (max-width:900px) {
 #tg-footer .gap-footer-main { padding:38px 0 28px; }
 #tg-footer .gap-footer-layout { grid-template-columns:1fr; gap:30px; }
 #tg-footer .gap-footer-about { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.9fr); column-gap:28px; padding:0 0 26px; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); }
 #tg-footer .gap-footer-logo, #tg-footer .gap-footer-description { grid-column:1; }
 #tg-footer .gap-footer-contact, #tg-footer .gap-footer-social { grid-column:2; }
 #tg-footer .gap-footer-contact { grid-row:1; align-self:end; margin-top:0; }
 #tg-footer .gap-footer-social { grid-row:2; align-self:start; margin-top:0; }
 #tg-footer .gap-footer-cta { grid-template-columns:64px minmax(0,1fr); }
 #tg-footer .gap-footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
 #tg-footer .gap-footer-container { width:calc(100% - 36px); }
 #tg-footer .gap-footer-main { padding:32px 0 24px; }
 #tg-footer .gap-footer-about { display:block; padding-bottom:24px; }
 #tg-footer .gap-footer-logo img { max-width:245px; max-height:70px; }
 #tg-footer .gap-footer-description { font-size:13px; line-height:1.7; }
 #tg-footer .gap-footer-contact li { font-size:13px; }
 #tg-footer .gap-footer-cta { display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; padding-bottom:23px; margin-bottom:24px; }
 #tg-footer .gap-footer-cta-icon { flex-direction:row; gap:8px; font-size:30px; }
 #tg-footer .gap-footer-cta-icon i:last-child { margin:0; font-size:24px; }
 #tg-footer .gap-footer-cta-copy { padding:0; border:0; }
 #tg-footer .gap-footer-cta-copy h2 { font-size:19px; }
 #tg-footer .gap-footer-cta-copy p { font-size:13px; }
 #tg-footer .gap-footer-cta-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:9px; }
 #tg-footer .gap-footer-button { min-width:0; min-height:44px; padding:10px 8px; font-size:11px; white-space:normal; }
 #tg-footer .gap-footer-links { grid-template-columns:1fr; gap:0; }
 #tg-footer .gap-footer-column { padding:0 0 18px; margin:0 0 18px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
 #tg-footer .gap-footer-column:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
 #tg-footer .gap-footer-column h3 { margin-bottom:14px; font-size:17px; }
 #tg-footer .gap-footer-column li { margin-bottom:9px; }
 #tg-footer .gap-footer-column li>a { font-size:13px; }
 #tg-footer .gap-footer-involved li>a>span { flex-basis:38px; width:38px; height:38px; }
 #tg-footer .gap-footer-bottom { padding:17px 0 22px; }
 #tg-footer .gap-footer-bottom-inner { display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; padding-right:0; }
 #tg-footer .gap-footer-bottom ul { justify-content:center; gap:8px 18px; }
 #tg-footer .gap-footer-bottom li+li:before { left:-10px; }
 #tg-footer .gap-footer-copyright, #tg-footer .gap-footer-bottom li a { font-size:11px; }
 #tg-footer #myBtn.gap-footer-top { right:12px; bottom:12px; width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) { #tg-footer.gap-footer *, #tg-footer.gap-footer *:before, #tg-footer.gap-footer *:after { transition:none !important; animation:none !important; } }


/* Robust layout normalization: prevents legacy theme/Bootstrap rules from collapsing the grid. */
#tg-footer.gap-footer { display:block !important; clear:both; }
#tg-footer.gap-footer .gap-footer-main,
#tg-footer.gap-footer .gap-footer-bottom { display:block; width:100%; }
#tg-footer.gap-footer .gap-footer-layout { display:grid !important; }
#tg-footer.gap-footer .gap-footer-links { display:grid !important; }
#tg-footer.gap-footer .gap-footer-column ul,
#tg-footer.gap-footer .gap-footer-contact,
#tg-footer.gap-footer .gap-footer-social,
#tg-footer.gap-footer .gap-footer-bottom ul { display:flex; }
#tg-footer.gap-footer .gap-footer-column ul { flex-direction:column; align-items:stretch; }
#tg-footer.gap-footer .gap-footer-column li { display:block; list-style:none !important; }
#tg-footer.gap-footer .gap-footer-column li::marker,
#tg-footer.gap-footer .gap-footer-contact li::marker,
#tg-footer.gap-footer .gap-footer-social li::marker { content:""; }
#tg-footer.gap-footer .gap-footer-column li>a { display:flex !important; width:100%; }
#tg-footer.gap-footer .gap-footer-involved li>a { display:flex !important; }
#tg-footer.gap-footer .gap-footer-bottom ul { flex-direction:row; }
#tg-footer.gap-footer .gap-footer-about,
#tg-footer.gap-footer .gap-footer-content,
#tg-footer.gap-footer .gap-footer-column { float:none !important; }
#tg-footer.gap-footer .gap-footer-column h3 { display:block; }
#tg-footer.gap-footer .gap-footer-description { display:block; }
#tg-footer.gap-footer .gap-footer-cta { width:100%; }
@media (min-width:901px) {
  #tg-footer.gap-footer .gap-footer-layout { grid-template-columns:minmax(250px,.9fr) minmax(0,2.5fr) !important; }
  #tg-footer.gap-footer .gap-footer-links { grid-template-columns:1fr 1.12fr 1.15fr !important; }
}
@media (min-width:601px) and (max-width:900px) {
  #tg-footer.gap-footer .gap-footer-layout { grid-template-columns:1fr !important; }
  #tg-footer.gap-footer .gap-footer-links { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:600px) {
  #tg-footer.gap-footer .gap-footer-layout,
  #tg-footer.gap-footer .gap-footer-links { grid-template-columns:minmax(0,1fr) !important; }
  #tg-footer.gap-footer .gap-footer-about { display:block !important; }
}


/* Contact details: keep phone and email on separate full-width rows. */
#tg-footer.gap-footer .gap-footer-contact {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
}
#tg-footer.gap-footer .gap-footer-contact li {
  display: flex !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}
#tg-footer.gap-footer .gap-footer-contact li > a {
  display: block !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(11px, 1.05vw, 14px) !important;
}
@media (max-width: 600px) {
  #tg-footer.gap-footer .gap-footer-contact li > a { font-size: 12px !important; }
}
