/*
 * Shared CubeSat Salon contact footer.
 *
 * Runtime scope is S030/S031 only. The body selector below is a second guard
 * against the component styles leaking into other UNISEC sections.
 */

body.section-group-s03 .unisec-cubesat-salon-footer {
  box-sizing: border-box;
  width: 100%;
  border-top: 1px solid #d7e0e4;
  background: #ffffff;
  color: #17242d;
}

body.section-group-s03 .unisec-cubesat-salon-footer__inner {
  display: grid;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  box-sizing: border-box;
  width: min(100%, var(--unisec-container));
  margin-inline: auto;
  padding: clamp(44px, 7vw, 76px) clamp(20px, 4vw, 40px);
}

body.section-group-s03 .unisec-cubesat-salon-footer__logo-wrap {
  min-width: 0;
}

body.section-group-s03 .unisec-cubesat-salon-footer__logo {
  display: block;
  width: min(100%, 160px);
  height: auto;
  margin: 0;
}

body.section-group-s03 .unisec-cubesat-salon-footer__content {
  min-width: 0;
}

body.section-group-s03 .unisec-cubesat-salon-footer__content h2 {
  margin: 0 0 12px;
  color: #17242d;
  font-size: clamp(1.15rem, 2vw, 1.38rem);
  font-weight: 800;
  line-height: 1.45;
}

body.section-group-s03 .unisec-cubesat-salon-footer__address {
  display: grid;
  gap: 2px;
  margin: 0;
  color: #35464f;
  font-style: normal;
  font-size: clamp(0.94rem, 1.5vw, 1.06rem);
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.section-group-s03 .unisec-cubesat-salon-footer__address > span {
  display: block;
}

body.section-group-s03 .unisec-cubesat-salon-footer__address a {
  color: #0b4f6c;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.section-group-s03 .unisec-cubesat-salon-footer__address a:hover {
  color: #007d93;
}

body.section-group-s03 .unisec-cubesat-salon-footer__address a:focus-visible {
  border-radius: 2px;
  outline: 3px solid #007d93;
  outline-offset: 3px;
}

body.section-group-s03 .unisec-cubesat-salon-footer__copyright {
  margin: clamp(20px, 3vw, 30px) 0 0;
  color: #17242d;
  font-size: clamp(0.94rem, 1.5vw, 1.06rem);
  line-height: 1.65;
}

body.section-group-s03 .unisec-cubesat-salon-footer__copyright small {
  font-size: inherit;
}

@media (max-width: 720px) {
  body.section-group-s03 .unisec-cubesat-salon-footer__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    padding-block: 40px;
  }

  body.section-group-s03 .unisec-cubesat-salon-footer__logo {
    width: min(42vw, 160px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.section-group-s03 .unisec-cubesat-salon-footer a {
    transition: none;
  }
}
