:root {
  --font-display: "Oswald", "Arial Narrow", sans-serif;
  --footer-background: oklch(0.125 0.014 260);
  --footer-blue: oklch(0.205 0.075 258);
  --footer-foreground: oklch(0.9 0.012 230);
  --footer-gold: oklch(0.78 0.1 85);
  --footer-social-surface: oklch(0.28 0.13 260);
  --footer-social-icon: oklch(0.4 0.16 25);
  --footer-background-image: linear-gradient(180deg, var(--footer-background) 20%, var(--footer-blue) 100%);
}
.concert-footer { position: relative; z-index: 2; background: var(--footer-background); background-image: var(--footer-background-image); color: var(--footer-foreground); font-family: var(--font-display); padding: 60px max(7.3%, calc((100% - 1230px) / 2)) 50px; }
.concert-footer-main { display: grid; grid-template-columns: 1fr 280px 1fr; align-items: start; gap: 35px; max-width: 1230px; margin: 0 auto; }
.concert-footer a { text-decoration: none; color: inherit; }
.concert-footer a:focus-visible { outline: 2px solid var(--footer-foreground); outline-offset: 5px; }
.concert-footer-nav { display: flex; align-items: center; gap: 56px; padding-top: 14px; font-size: 20px; }
.concert-footer-nav a, .concert-footer-legal a { transition: opacity .2s; }
.concert-footer-nav a:hover, .concert-footer-legal a:hover { opacity: .65; }
.concert-footer-brand { display: flex; align-items: center; width: 280px; }
.concert-footer-brand img { display: block; width: 100%; height: auto; }
.concert-footer-social { justify-self: end; padding-top: 12px; text-align: right; }
.concert-footer-social p { margin: 0 0 24px; font-size: 14px; font-weight: 400; white-space: nowrap; }
.concert-footer-social-links { display: flex; justify-content: flex-end; gap: 10px; }
.concert-footer .concert-footer-social-link { width: 48px; height: 48px; padding: 9px; border-radius: 50%; color: var(--footer-social-icon); background: var(--footer-social-surface); }
.concert-footer .concert-footer-social-link svg { width: 30px; height: 30px; }
.concert-footer .concert-footer-social-link:hover { color: var(--footer-foreground); }
.concert-footer-play { fill: var(--footer-social-surface); }
.concert-footer-bottom { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; margin-top: 25px; }
.concert-footer-copyright { color: rgb(232 237 244 / 72%); font-size: 12px; }
.concert-footer-legal { display: flex; justify-content: center; gap: 30px; font-size: 14px; }
@media (min-width: 1001px) and (max-width: 1250px) {
  .concert-footer-main { grid-template-columns: minmax(0, 1fr) 250px minmax(0, 1fr); gap: 20px; }
  .concert-footer-brand { width: 250px; }
  .concert-footer-nav { gap: 30px; font-size: 16px; }
  .concert-footer-social p { font-size: 11px; }
}
@media (max-width: 1000px) and (min-width: 601px) {
  .concert-footer { padding-top: 32px; padding-bottom: 27px; }
  .concert-footer-main { grid-template-columns: 1fr 150px 1fr; gap: 18px; }
  .concert-footer-brand { width: 150px; }
  .concert-footer-nav { gap: 29px; font-size: 10px; padding-top: 7px; }
  .concert-footer-social { padding-top: 6px; }
  .concert-footer-social p { font-size: 7px; margin-bottom: 12px; }
  .concert-footer .concert-footer-social-link { width: 26px; height: 26px; padding: 5px; }
  .concert-footer .concert-footer-social-link svg { width: 16px; height: 16px; }
  .concert-footer-social-links { gap: 6px; }
  .concert-footer-bottom { gap: 10px; margin-top: 13px; }
  .concert-footer-copyright, .concert-footer-legal { font-size: 7px; }
  .concert-footer-legal { gap: 20px; }
}
@media (max-width: 600px) {
  .concert-footer { padding: 38px 24px 30px; }
  .concert-footer-main { grid-template-columns: 1fr; justify-items: center; gap: 30px; }
  .concert-footer-brand { grid-row: 1; width: 200px; }
  .concert-footer-nav { gap: 32px; padding-top: 0; font-size: 14px; }
  .concert-footer-social { justify-self: center; text-align: center; padding-top: 0; }
  .concert-footer-social p { font-size: 9px; margin-bottom: 13px; }
  .concert-footer-social-links { justify-content: center; }
  .concert-footer .concert-footer-social-link { width: 36px; height: 36px; padding: 7px; }
  .concert-footer .concert-footer-social-link svg { width: 22px; height: 22px; }
  .concert-footer-bottom { gap: 16px; margin-top: 32px; }
  .concert-footer-copyright, .concert-footer-legal { font-size: 9px; }
  .concert-footer-legal { flex-wrap: wrap; gap: 18px; }
}

.concert-footer, .concert-footer * { box-sizing: border-box; }
.concert-footer-social-link { display: inline-flex; align-items: center; justify-content: center; transition: color .2s; }
@media (prefers-reduced-motion: reduce) { .concert-footer * { transition: none; } }
