/* Student Apps shared legal footer.
 * Shared by Flagship and Quick Diagnosis shells so future apps inherit the same trust surface.
 */
.legal-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(760px,100%);
  margin:18px auto 0;
  padding:24px 18px calc(27px + env(safe-area-inset-bottom));
  border-top:1px solid color-mix(in srgb,var(--sd-accent) 16%,var(--sd-border));
  border-radius:28px 28px 0 0;
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--sd-secondary-soft) 42%,#fff) 0%,
      #fff 48%,
      color-mix(in srgb,var(--sd-accent-soft) 48%,#fff) 100%);
  box-shadow:0 -12px 36px rgba(28,37,72,.045);
  color:var(--sd-text-secondary);
  text-align:center;
}

.legal-footer::before,
.legal-footer::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:132px;
  height:132px;
  bottom:-86px;
  border-radius:999px;
  pointer-events:none;
}

.legal-footer::before{
  left:-52px;
  background:
    radial-gradient(circle at 64% 28%,
      color-mix(in srgb,var(--sd-secondary) 17%,transparent) 0 34%,
      color-mix(in srgb,var(--sd-secondary) 8%,transparent) 35% 61%,
      transparent 62%);
}

.legal-footer::after{
  right:-48px;
  background:
    radial-gradient(circle at 34% 30%,
      color-mix(in srgb,var(--sd-accent) 16%,transparent) 0 34%,
      color-mix(in srgb,var(--sd-accent) 7%,transparent) 35% 61%,
      transparent 62%);
}

.legal-footer__inner{
  position:relative;
  z-index:1;
  width:min(100%,640px);
  margin:0 auto;
}

.legal-footer__links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 auto 17px;
}

.site-footer .legal-footer__links{
  gap:8px;
  margin:0 auto 17px;
}

.legal-footer__links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 13px;
  border:1px solid color-mix(in srgb,var(--sd-accent) 21%,var(--sd-border));
  border-radius:var(--sd-radius-pill);
  background:color-mix(in srgb,#fff 87%,var(--sd-accent-soft));
  box-shadow:0 5px 14px rgba(28,37,72,.045);
  color:color-mix(in srgb,var(--sd-accent) 88%,var(--sd-text-primary));
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  transition:
    transform var(--sd-motion-feedback) ease,
    border-color var(--sd-motion-feedback) ease,
    background var(--sd-motion-feedback) ease,
    box-shadow var(--sd-motion-feedback) ease;
}

.legal-footer__links a:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--sd-accent) 42%,var(--sd-border));
  background:#fff;
  box-shadow:0 8px 18px color-mix(in srgb,var(--sd-accent) 10%,transparent);
}

.legal-footer__links a:focus-visible,
.legal-footer__email:focus-visible{
  outline:3px solid color-mix(in srgb,var(--sd-focus) 70%,#fff);
  outline-offset:3px;
}

.legal-footer__operator{
  margin:0;
  color:color-mix(in srgb,var(--sd-text-secondary) 88%,#fff);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.01em;
}

.legal-footer__email{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  margin-top:3px;
  padding:3px 6px;
  border-radius:10px;
  color:var(--sd-text-secondary);
  font-size:11.5px;
  font-weight:650;
  text-decoration:none;
}

.legal-footer__email:hover{
  color:var(--sd-accent);
  background:color-mix(in srgb,var(--sd-accent-soft) 45%,transparent);
}

.legal-footer__mail-icon{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  color:color-mix(in srgb,var(--sd-accent) 58%,var(--sd-text-secondary));
  font-size:14px;
  line-height:1;
}

.legal-footer__disclaimer{
  max-width:580px;
  margin:0 auto 17px;
  color:var(--sd-text-secondary);
  font-size:11px;
  font-weight:600;
  line-height:1.7;
}

.site-footer.legal-footer{
  width:min(760px,100%);
}

@media(max-width:390px){
  .legal-footer{
    margin-top:12px;
    padding:21px 13px calc(24px + env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0;
  }
  .legal-footer__links,
  .site-footer .legal-footer__links{gap:6px;margin-bottom:15px}
  .legal-footer__links a{min-height:36px;padding:8px 10px;font-size:11px}
  .legal-footer__operator,.legal-footer__email{font-size:11px}
}

@media(max-width:340px){
  .legal-footer__links,
  .site-footer .legal-footer__links{gap:5px}
  .legal-footer__links a{padding-inline:8px;font-size:10.5px}
}

@media(prefers-reduced-motion:reduce){
  .legal-footer__links a:hover{transform:none}
}
