/* BrounStack compact public footer — shared across Home, About, Learning, Playground and Contact. */

:is(.home-footer,.about-footer,.contact-footer,.learning-footer,.playground-footer){
  position:relative!important;
  overflow:hidden!important;
  margin-top:0!important;
  padding:0!important;
  border-top:1px solid #dbe7f6!important;
  background:linear-gradient(180deg,#f6f9fe 0%,#eef5fc 100%)!important;
  color:#0b2a50!important;
}

:is(.home-footer,.about-footer,.contact-footer,.learning-footer,.playground-footer)::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,#2563eb 0%,#38bdf8 48%,#7c3aed 100%);
  opacity:.75;
}

:is(.home-footer .home-container,.about-footer .about-container,.contact-footer .contact-container,.learning-footer .learning-container,.playground-footer .playground-container){
  width:min(1160px,calc(100% - 40px))!important;
  max-width:1160px!important;
  margin:0 auto!important;
  padding:30px 0 16px!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid){
  display:grid!important;
  grid-template-columns:minmax(300px,1.25fr) repeat(3,minmax(135px,.62fr))!important;
  gap:28px!important;
  align-items:start!important;
  margin:0!important;
  padding:24px 26px!important;
  border:1px solid rgba(74,108,153,.13)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 16px 36px rgba(29,63,111,.065)!important;
  backdrop-filter:blur(10px);
}

:is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand){
  min-width:0;
  padding:0 26px 0 0!important;
  border:0!important;
  border-right:1px solid #e1eaf5!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

:is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand)>a{
  display:inline-flex!important;
  align-items:center!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
}

:is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand) img{
  display:block!important;
  width:160px!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  filter:none!important;
  opacity:1!important;
}

:is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand) p{
  max-width:355px!important;
  margin:0 0 10px!important;
  color:#5a708d!important;
  font-size:12.5px!important;
  font-weight:500!important;
  line-height:1.6!important;
}

:is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand)>span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:4px 9px!important;
  border:1px solid #dbe8f8!important;
  border-radius:999px!important;
  background:#f1f6fd!important;
  color:#4d6d93!important;
  font-size:8.5px!important;
  font-weight:850!important;
  letter-spacing:.1em!important;
  line-height:1.2!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child){
  min-width:0;
  padding:1px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)::before{
  display:none!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child) :is(h3,h4){
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 9px!important;
  color:#12345d!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child) :is(h3,h4)::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:#1677ff;
  box-shadow:0 0 0 3px rgba(22,119,255,.08);
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)>a{
  position:relative;
  display:flex!important;
  width:fit-content!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:5px 0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#55708f!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
  text-decoration:none!important;
  transition:color .16s ease,transform .16s ease!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)>a+a{
  margin-top:1px!important;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)>a::after{
  content:"→";
  color:#1677ff;
  font-size:10px;
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .16s ease,transform .16s ease;
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)>a:hover{
  color:#0b67d1!important;
  transform:translateX(2px);
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)>a:hover::after{
  opacity:1;
  transform:translateX(0);
}

:is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child)>a:focus-visible{
  outline:3px solid rgba(37,99,235,.18)!important;
  outline-offset:3px!important;
}

:is(.footer-bottom,.about-footer-bottom,.contact-footer-bottom,.learning-footer-bottom,.playground-footer-bottom){
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:11px 0 0!important;
  padding:10px 2px 0!important;
  border:0!important;
  border-top:1px solid #dbe6f3!important;
  border-radius:0!important;
  background:transparent!important;
  color:#71839a!important;
  font-size:10px!important;
  font-weight:550!important;
  line-height:1.45!important;
}

@media(max-width:900px) and (min-width:661px){
  :is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid){
    grid-template-columns:1.25fr repeat(3,minmax(0,.75fr))!important;
    gap:20px!important;
    padding:22px!important;
  }
  :is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand){
    padding-right:18px!important;
  }
}

@media(max-width:760px){
  :is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid){
    grid-template-columns:1fr 1fr!important;
    gap:20px 28px!important;
  }
  :is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand){
    grid-column:1/-1!important;
    padding:0 0 18px!important;
    border-right:0!important;
    border-bottom:1px solid #e1eaf5!important;
  }
}

@media(max-width:540px){
  :is(.home-footer .home-container,.about-footer .about-container,.contact-footer .contact-container,.learning-footer .learning-container,.playground-footer .playground-container){
    width:min(100% - 26px,1160px)!important;
    padding:24px 0 14px!important;
  }
  :is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid){
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:20px!important;
    border-radius:18px!important;
  }
  :is(.footer-brand,.about-footer-brand,.contact-footer-brand,.learning-footer-brand,.playground-footer-brand){
    grid-column:auto!important;
    padding-bottom:16px!important;
  }
  :is(.footer-grid,.about-footer-grid,.contact-footer-grid,.learning-footer-grid,.playground-footer-grid)>div:not(:first-child){
    padding-top:1px!important;
  }
  :is(.footer-bottom,.about-footer-bottom,.contact-footer-bottom,.learning-footer-bottom,.playground-footer-bottom){
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
    margin-top:10px!important;
    padding-top:10px!important;
  }
}
