.site-footer {
  --yellow: #ffd000;
  --white: #fff;
  --content-width: 1180px;
  position: relative;
  min-height: 706px;
  overflow: hidden;
  color: var(--white);
  font-family: "Barlow", Arial, sans-serif;
  background: #111 url("https://bratislava.bistrogourmet.sk/user/documents/upload/assets/footer/footer-background.jpg") center 42% / cover no-repeat;
}

.site-footer h2 {
  color: white;
  font-weight: bold;
}

.footer-cookies {
  text-decoration: underline;
}

.footer-cookies::hover {
  cursor: pointer;
  text-decoration: none;
}

.site-footer, .site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer img { display: block; max-width: 100%; }
.site-footer a { color: inherit; }

.site-footer__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .75); }
.site-footer__container { position: relative; z-index: 1; width: min(100% - 48px, var(--content-width)); min-height: 706px; margin-inline: auto; padding: 107px 0 27px; }
.site-footer__grid { display: grid; grid-template-columns: 250px 250px 200px minmax(360px, 1fr); gap: 40px; align-items: start; }

.site-footer .footer-column h2 { margin: 0 0 34px; font-size: 24px; line-height: 1.2; text-transform: uppercase; }
.site-footer .footer-links { margin: 0; padding: 0; list-style: none; }
.site-footer .footer-links li { border-bottom: 1px solid rgba(255, 255, 255, .65); width: 100%; }
.site-footer .footer-links a { display: block; padding: 10px 4px 11px; font-size: 20px; font-weight: 500; line-height: 1.1; text-decoration: none; transition: color 160ms ease, padding-left 160ms ease, border-color 160ms ease; }
.site-footer .footer-links a:hover, .site-footer .footer-links a:focus-visible { padding-left: 10px; color: var(--yellow); }
.site-footer .footer-links a:focus-visible, .site-footer .footer-socials a:focus-visible, .site-footer .footer-contact a:focus-visible, .site-footer .site-footer__copyright a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }

.site-footer .footer-hours dl { display: grid; gap: 11px; margin: 0; font-size: 20px; font-weight: 500; }
.site-footer .footer-hours dl div { display: flex; gap: 8px; }
.site-footer .footer-hours dt { min-width: 39px; }
.site-footer .footer-hours dd { margin: 0; color: var(--yellow); }

.site-footer .footer-socials { display: flex; align-items: center; gap: 16px; margin-top: 82px; }
.site-footer .footer-socials > a { position: relative; display: block; width: 47px; height: 48px; border-radius: 15px; transition: transform 160ms ease, filter 160ms ease; }
.site-footer .footer-socials > a:hover { transform: translateY(-2px); filter: brightness(1.1); }
.site-footer .footer-socials img { width: 100%; height: 100%; }
.site-footer .instagram-icon { background: var(--yellow); }
.site-footer .instagram-icon__outer { position: absolute; inset: 7px 6px; width: 34px !important; height: 34px !important; }
.site-footer .instagram-icon__inner { position: absolute; inset: 15px 14px; width: 18px !important; height: 18px !important; }
.site-footer .instagram-icon__dot { position: absolute; top: 12px; right: 10px; width: 4px !important; height: 4px !important; }

.site-footer .footer-contact address { font-style: normal; }
.site-footer .footer-contact address strong { display: block; margin-bottom: 17px; font-size: 24px; line-height: 1.25; }
.site-footer .footer-contact address p { margin: 0 0 11px; font-size: 20px; font-weight: 500; }
.site-footer .footer-contact address b { font-weight: 700; }
.site-footer .footer-contact address a { color: var(--yellow); text-decoration: none; transition: color 160ms ease; }
.site-footer .footer-contact address a:hover { color: #fff2a8; }
.site-footer .footer-logo { width: 360px; max-width: 100%; margin: 101px 0 0; }

.site-footer__copyright { position: absolute; right: 0; bottom: 27px; left: 0; margin: 0; font-size: 16px; line-height: 1.3; text-align: center; }
.site-footer__copyright a { text-underline-offset: 2px; }

@media (max-width: 1250px) {
  .site-footer__container { padding-top: 80px; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px 70px; }
  .site-footer .footer-socials { margin-top: 45px; }
  .site-footer .footer-logo { max-width: 420px; margin: 60px 0 0; }
  .site-footer__copyright { position: static; margin-top: 70px; }
}

@media (max-width: 700px) {
  .site-footer { background-position: center; }
  .site-footer__container { width: min(100% - 32px, var(--content-width)); padding: 60px 0 30px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 52px; }
  .site-footer .footer-column h2 { margin-bottom: 24px; font-size: 22px; }
  .site-footer .footer-links a { font-size: 18px; }
  .site-footer .footer-hours dl, .site-footer .footer-contact address p { font-size: 18px; }
  .site-footer .footer-contact address strong { font-size: 21px; }
  .site-footer .footer-socials { margin-top: 32px; }
  .site-footer .footer-logo { display:block; width: min(100%, 360px); margin: 42px auto 0; }
  .site-footer__copyright { margin-top: 60px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-links a, .site-footer .footer-socials > a, .site-footer .footer-contact address a { transition: none; }
}
