    /*Footer block – full viewport width on ALL pages (main + subpages e.g. slots, registration) */
    .footer {
      background-color: var(--clr-body);
      padding: 0 0 50px;
      margin-top: 0;
      width: 100vw;
      margin-left: calc(50% - 50vw);
      box-sizing: border-box;
    }

    .footer .container {
      background-color: var(--color-bg-footer);
      padding-bottom: 32px;
      border-radius: 30px;
    }

    .footer .content {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 32px 16px;
      gap: 16px;
    }

    @media (min-width: 768px) {
      .footer .content {
        flex-direction: row;
      }
    }

    .footer .content .footer-logo {
      text-align: center;
      text-decoration: none;
    }

    .footer .content .footer-logo img {
      display: block;
      height: auto;
      max-width: 180px;
      margin: 0 auto;
    }

    @media (min-width: 768px) {
      .footer .content .footer-logo {
        text-align: left;
      }
      .footer .content .footer-logo img {
        margin: 0;
      }
    }

    .footer .content:has(.sections) .footer-logo {
      flex: 1;
    }

    .footer .content:has(.sections) .footer-logo img {
      max-width: none;
    }

    .footer .sections {
      display: flex;
      flex-direction: column;
      align-items: baseline;
      justify-content: space-between;
      flex: 1;
      gap: 16px;
    }

    @media (min-width: 768px) {
      .footer .sections {
        flex-direction: row;
      }
    }

    .footer .sections>div {
      display: flex;
      flex-direction: column;
      flex: 1;
      gap: 8px;
    }

    .footer .sections>div p {
      color: white;
      font-size: 20px;
      margin-top: 0;
      margin-bottom: 16px;
    }

    .footer .sections>div a {
      color: var(--clr-bg-gary-light);
      text-decoration: none;
      font-size: 16px;
    }

    .footer .info {
      border-top: 1px solid rgba(123, 126, 134, .3);
      padding: 24px 16px 32px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 20px;
      align-items: center;
    }

    @media (min-width: 992px) {
      .footer .info {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 24px;
      }
    }

    .footer .footer-badges {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 16px;
    }

    .footer .footer-badges a {
      display: inline-flex;
      line-height: 0;
    }

    .footer .footer-badges a img {
      max-height: 40px;
      width: auto;
      object-fit: contain;
    }

    .footer .info .form {
      display: flex;
      flex-direction: row;
      gap: 0;
      border-radius: 5px;
      overflow: hidden;
    }

    .footer .info .form button {
      padding: 12px 24px;
      color: var(--color-text-white);
      background-color: var(--color-btn-primary);
      border: none;
      outline: none;
      font-size: 16px;
      font-weight: 500;
      line-height: 19.36px;
    }

    .footer .info .form input {
      padding: 8px;
      outline: 1px solid rgba(255, 255, 255, .1);
      border: 1px solid rgba(255, 255, 255, .1);
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px;
      color: white;
      background-color: black;
      min-width: 200px;
      font-size: 17px;
      font-weight: 300;
      line-height: 20.57px;
    }

    .footer .copyright {
      text-align: center;
      color: var(--clr-bg-gary-light);
      font-size: 12px;
      margin: 0;
    }

    /*Footer block*/