@layer block {

  /* stylelint-disable no-descending-specificity */
  /* stylelint-disable comment-empty-line-before */
  /* stylelint-disable linebreak-style */
  footer {
    background: var(--clr-white);
    margin-block-start: var(--spacing-s);
  }

  @media (min-width: 768px) {
    .footer-wrapper {
      margin-block-start: 5rem;
    }

    .section.footer-links-container.rewards-footer-container {
      display: grid;
      place-content: center;
      grid-template-columns: 100% 0%;
      max-width: 1280px;
      margin-inline: auto;
      padding-inline: 20px;
      padding-bottom: 3rem;
    }
  }

  @media (width >=1024px) {
    .section.footer-links-container.rewards-footer-container {
      grid-template-columns: 100% 0%;
    }
  }

  @media (width >=1180px) {
    .section.footer-links-container.rewards-footer-container {
      grid-template-columns: 100% 0%;
    }
  }

  /* ============================================================================ */
  /* back to top */
  .hlx-back-to-top {
    display: block;
    background: #fff;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    box-shadow: 0 3px 10px rgb(0 0 0 / 60%);
    cursor: pointer;
    margin-right: -20px;
    z-index: 1;
    margin-top: -20px;
    position: absolute;
    right: 50%;
  }

  .hlx-back-to-top button {
    height: 100%;
    width: 100%;
    background: var(--clr-white) !important;
    border-radius: 50% !important;
    margin: 0;
    padding: 0;
    border: 0;
    display: block;
  }

  .hlx-back-to-top button::after {
    content: 'top';
    display: block;
    color: var(--clr-black);
    text-transform: uppercase;
    margin-block-start: .1em;
    font-size: 1.4rem;
  }

  html[lang="fr"] .hlx-back-to-top button::after { 
    content: 'haut';
    font-size: 1.2rem;
  }

  @media (min-width: 600px) {
    .hlx-back-to-top {
      right: 5%;
    }
  }


  /* footer links */
  /* ======================================================================= */
  .footer-links.bali h4 {
    margin: 0;
  }

  .footer-links.bali h4 em {
    font-style: normal;
  }

  .footer-links.bali label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: var(--gutter-m);
  }

  .footer-links.bali>div {
    margin-block-start: var(--spacing-s);
  }

  .footer-links.bali ul {
    margin: 0;
    padding: 0;
  }

  .footer-links.bali ul li {
    text-indent: 0;
    font-size: var(--body-font-size-s);
    padding-block: var(--gutter-s);
  }

  .footer-links.bali ul li:first-child {
    padding-block-start: 0;
  }

  .footer-links.bali ul li a {
    line-height: 1.5;
    font-size: var(--body-font-size-m);
    font-weight: var(--fw-medium);
  }

  @media (width <=900px) {
    .footer-balibras-wrapper .section.footer-links-container.rewards-footer-container {
      flex-direction: column-reverse;
      display: flex;
    }

    .footer-balibras-wrapper .footer-links-wrapper {
      padding-block-start: 0;
    }

    .footer-links.bali>div {
      gap: 0;
      border-top: 1px solid var(--clr-white);
    }

    .footer-links.bali>div>div {
      border-bottom: 1px solid var(--clr-white);
    }
  }

  @media (width >=900px) {
    .footer-links.bali>div {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1.6rem;
    }

    .footer-links.bali>div>div {
      height: max-content;
    }

    .footer-links.bali>div>div:nth-child(1) {
      grid-area: 1/1/1/1;
    }

    .footer-links.bali>div>div:nth-child(2) {
      grid-area: 1/2/1/2;
    }

    .footer-links.bali>div>div:nth-child(3) {
      grid-area: 1/3/1/3;
    }

    .footer-links.bali>div>div:nth-child(4) {
      grid-area: 1/4/1/4;
    }

    .footer-links.bali>div>div:nth-child(5) {
      grid-area: 1/5/1/5;
    }

    .footer-balibras-wrapper .footer-links-wrapper,
    .footer-links.bali {
      padding-inline-end: 0;
    }

    .footer-balibras-wrapper .rewards-footer-wrapper {
      padding-inline: 0;
    }

  }

  @media (width >=1024px) {
    .footer-links.bali {
      padding: 0;
    }
  }

  /* copyright section */
  /* ======================================================================= */
  .hlx-copyright>div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--gutter-m);
  }

  @media (min-width: 600px) {
    .hlx-copyright>div {
      justify-content: flex-start;
    }
  }

  /* social media */
  /* ======================================================================= */
  .social-media,
  .copyright-wrapper {
    margin-inline: 0 auto;
    width: 100%;
  }

  .social-media .default-content-wrapper>ul {
    list-style: none;
    display: flex;
    gap: 2rem;
    justify-content: center;
    margin: 0 auto var(--spacing-m);
    padding: 0;
  }

  @media (width >=1180px) {
    .social-media {
      width: max-content;
      padding-inline-end: var(--gutter-m);
      margin: calc(-4rem* 2) 0 0 auto;
    }

    .social-media .default-content-wrapper>ul {
      justify-content: flex-end;
    }
  }

  .social-media .default-content-wrapper>ul a {
    position: relative;
    display: block;
    width: 4.4rem;
    aspect-ratio: 1/1;
    overflow: clip;
    color: transparent !important;
  }

  .social-media .default-content-wrapper>ul a::after {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    content: '';
    display: block;
    width: 4rem;
    aspect-ratio: 1/1;
  }

  .social-media .default-content-wrapper>ul a[title="instagram"]::after {
    background: url('/icons/icon-instagram-round.svg') center/contain no-repeat;
  }

  .social-media .default-content-wrapper>ul a[title="facebook"]::after {
    background: url('/icons/icon-fb-round.svg') center/contain no-repeat;
  }

  .social-media .default-content-wrapper>ul a[title="ticktock"]::after {
    background: url('/icons/icon-tictok-round.svg') center/contain no-repeat;
  }

  .social-media .default-content-wrapper>ul a[title="x"]::after {
    background: url('/icons/icon-x-round.svg') center/contain no-repeat;
  }

  .social-media .default-content-wrapper>ul a[title="pinterest"]::after {
    background: url('/icons/icon-pinterest-round.svg') center/contain no-repeat;
  }

    .social-media .default-content-wrapper>ul a[title="youtube"]::after {
    background: url('/icons/icon-youtube-round.svg') center/contain no-repeat;
  }

  /* Policy links/buttons */
  .hlx-copyright>div>div+div {
    display: flex;
    gap: var(--gutter-m);
    align-items: center;
    justify-content: center;
  }

  @media (min-width: 600px) {
    .hlx-copyright>div>div+div {
      justify-content: flex-start;
    }
  }

  /* Hide Onetrust default cookie button */
  #ot-sdk-btn-floating {
    display: none !important;
  }

  /* keep brand styling for OneTrust toggle button */
  button#ot-sdk-btn.ot-sdk-show-settings,
  button#ot-sdk-btn.optanon-show-settings {
    background: transparent !important;
    border: none;
    text-transform: none;
    text-decoration: underline !important;
    text-underline-offset: 0.2em;
    margin: 0;
    padding: 0 .01em;
    font-family: var(--body-font-family);
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: var(--text-color);
    border-radius: 0 !important;
  }

  button#ot-sdk-btn.ot-sdk-show-settings:hover,
  button#ot-sdk-btn.ot-sdk-show-settings:focus {
    text-decoration: underline;
    color: var(--text-color);
  }

  button#ot-sdk-btn.ot-sdk-show-settings::after {
    content: '';
    background: url('../../icons/privacy-opitions-footer-svg-2023.svg') center/contain no-repeat;
    height: 1.4rem;
    aspect-ratio: 2/1;
    margin: 0 0 -0.32em 0.4em;
    display: inline-block;
  }

  .hlx-copyright div>button#ot-sdk-btn.ot-sdk-show-settings {
    padding: 0 !important;
    color: var(--text-color) !important;
    border: 0 none !important;
    text-transform: initial !important;
  }
  
  /* on/off toggle */
  #onetrust-pc-sdk label.ot-switch {
    width: 5.3rem;
  }

  #onetrust-pc-sdk span.ot-switch-nob::after {
    content: 'OFF';
    position: relative;
    left: 24px;
    top: 0;
    color: #888;
    font-size: 0.75em;
  }

  #onetrust-pc-sdk .ot-tgl input:checked+label.ot-switch span.ot-switch-nob::after {
    content: 'ON';
    left: 0.35em;
    color: #000;
    font-size: 0.8em;
  }

  #onetrust-pc-sdk .ot-tgl input+.ot-switch span.ot-switch-nob::before {
    transform: translate(1px);
  }

  #onetrust-pc-sdk .ot-tgl input:checked+.ot-switch span.ot-switch-nob::before {
    transform: translate(28px);
  }

  /* luma */
  .footer-links :is(input[type=checkbox]+label, input[type=checkbox]+.label, .checkbox+label, .checkbox+.label) {
    color: var(--text-color) !important;
  }
}
