/* RGR Footer */

.rgr-footer,
.rgr-footer * { box-sizing: border-box; }

.rgr-footer {
  background: var(--rgr-bg-dark);
  color: var(--rgr-soft-white);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.rgr-footer__inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 40px 48px;
  width: min(100%, 1400px);
  margin-inline: auto;
  padding: clamp(40px, 5vw, 72px) clamp(24px, 3.6vw, 66px) clamp(32px, 4vw, 56px);
}

/* Brand column */
.rgr-footer__logo-link { display: inline-flex; }
.rgr-footer__logo      { display: block; height: auto; width: auto; }
.rgr-footer__logo-text {
  font-weight: 900;
  font-size: 1.3em;
  color: var(--rgr-white);
}

.rgr-footer__tagline {
  margin: 16px 0 10px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--rgr-muted-white);
  max-width: 280px;
}
.rgr-footer__license {
  margin: 0 0 16px;
  font-size: 13px;
  color: rgba(255,255,255,0.40);
}

.rgr-footer__socials { margin-top: 4px; }

/* Link columns */
.rgr-footer__col-heading {
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--rgr-red);
}

.rgr-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rgr-footer__links a {
  font-size: 14px;
  color: var(--rgr-muted-white);
  text-decoration: none;
  transition: color 160ms ease;
}
.rgr-footer__links a:hover,
.rgr-footer__links a:focus {
  color: var(--rgr-white);
}

/* Location column */
.rgr-footer__address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  color: var(--rgr-muted-white);
  margin-bottom: 10px;
}
.rgr-footer__phone {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--rgr-soft-white);
  text-decoration: none;
  margin-bottom: 16px;
  transition: color 160ms ease;
}
.rgr-footer__phone:hover { color: var(--rgr-white); }

.rgr-footer__hours {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 16px;
  margin: 0;
}
.rgr-footer__hours dt {
  font-size: 13px;
  font-weight: 600;
  color: var(--rgr-soft-white);
  white-space: nowrap;
}
.rgr-footer__hours dd {
  font-size: 13px;
  color: var(--rgr-muted-white);
  margin: 0;
}

/* Copyright bar */
.rgr-footer__copy {
  text-align: center;
  padding: 16px clamp(24px, 3.6vw, 66px);
  font-size: 13px;
  color: rgba(255,255,255,0.30);
  background: #000;
  border-top: 1px solid var(--rgr-line-light);
}

/* ── Tablet ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .rgr-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 36px 32px;
  }
  .rgr-footer__col--brand {
    grid-column: 1 / -1;
  }
  .rgr-footer__tagline { max-width: 100%; }
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .rgr-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .rgr-footer__col--brand { grid-column: auto; }
}
