footer button[data-cookie-settings]{border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:4px 8px}
footer button[data-cookie-settings]:focus-visible{outline:3px solid currentColor;outline-offset:4px}

/* Minimal/legal footers only: keep the settings control part of the legal copy. */
:root footer[data-minimal-legal]{padding-block-end:96px}
footer[data-minimal-legal] [data-cookie-settings]{
  display:inline;
  min-height:0;
  margin-block:0!important;
  padding:0;
  vertical-align:baseline;
  white-space:nowrap;
  text-decoration:none;
}
footer[data-minimal-legal] button[data-cookie-settings]{
  display:inline;
  margin-block-end:0!important;
}

/* Shared IAS slim/legal footer: keep the legal row on one line through tablet
   widths, then let each item wrap naturally and center on phones. */
footer.ias-footer[data-minimal-legal] .ias-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:8px 12px;
}
footer.ias-footer[data-minimal-legal] .ias-footer-bottom-group{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px;
  white-space:nowrap;
}
/* Keep legal links standalone navigation targets, not indistinguishable links
   inside a prose text block (WCAG link-in-text-block). */
footer.ias-footer[data-minimal-legal] .ias-footer-bottom nav{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px 14px;
  margin:0;
  white-space:nowrap;
}
footer.ias-footer[data-minimal-legal] .ias-footer-bottom nav>*{
  display:inline-flex;
  align-items:center;
  margin:0;
  white-space:nowrap;
}
footer.ias-footer[data-minimal-legal] .ias-footer-bottom nav>[data-cookie-settings]{
  color:#F9F8F4;
}
footer.ias-footer[data-minimal-legal] .ias-footer-bottom nav>[data-cookie-settings]:hover{
  color:var(--ias-chrome-gold);
}
@media (min-width:768px) and (max-width:900px){
  footer.ias-footer[data-minimal-legal] .ias-footer-bottom{
    gap:8px;
    font-size:11px;
  }
  footer.ias-footer[data-minimal-legal] .ias-footer-bottom-group{
    gap:8px;
  }
  footer.ias-footer[data-minimal-legal] .ias-footer-bottom nav{
    gap:8px;
  }
}
@media (max-width:767px){
  footer.ias-footer[data-minimal-legal] .ias-footer-bottom{
    justify-content:center;
    flex-wrap:wrap;
    text-align:center;
  }
  footer.ias-footer[data-minimal-legal] .ias-footer-bottom-group{
    justify-content:center;
  }
  footer.ias-footer[data-minimal-legal] .ias-footer-bottom nav{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px 16px;
  }
}

/* Shop legal footer uses a copyright span followed by its legal nav. */
footer[data-minimal-legal].legal .wrap{
  display:block;
}
footer[data-minimal-legal].legal .wrap>nav.legl{
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:0;
  margin-inline-start:.75em;
}
footer[data-minimal-legal].legal .wrap>nav.legl>*{
  display:inline;
  margin-inline-end:.75em;
}

/* STEM from Dance has the social nav between the copyright and cookie button
   in source order. Keep it out of the legal text flow without reordering it. */
footer.sfd-enrollment__footer[data-minimal-legal] .sfd-enrollment__footer-inner{
  position:relative;
  display:block;
  padding-right:250px;
}
footer.sfd-enrollment__footer[data-minimal-legal] .sfd-enrollment__copyright{
  display:inline;
}
footer.sfd-enrollment__footer[data-minimal-legal] .sfd-enrollment__social{
  position:absolute;
  top:50%;
  right:48px;
  transform:translateY(-50%);
}
footer.sfd-enrollment__footer[data-minimal-legal] [data-cookie-settings]{
  font-size:12px;
  color:rgba(255,255,255,.82);
}
footer.sfd-enrollment__footer[data-minimal-legal] [data-cookie-settings]::before{
  content:" | ";
  white-space:pre;
  padding-inline:2px;
}

@media(max-width:640px){
  footer.sfd-enrollment__footer[data-minimal-legal] .sfd-enrollment__footer-inner{
    min-height:100px;
    padding:16px 14px 62px;
    text-align:center;
  }
  footer.sfd-enrollment__footer[data-minimal-legal] .sfd-enrollment__social{
    top:auto;
    right:auto;
    bottom:16px;
    left:50%;
    transform:translateX(-50%);
  }
}
