/* Consent Banner styles */
#sesame-consent-banner {
  text-align:center;
  color:#000;
  background:#fff;
  width:calc(100% - 2em);
  max-width:520px;
  padding:1.25em;
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:3000;
  display:none;
  box-sizing:border-box;
  box-shadow:0 0.5em 1.5em rgba(0, 0, 0, 0.22);
}

#sesame-consent-banner.visible {
  display:block;
}

#sesame-consent-banner h2 {
  font-size:1.5em;
  line-height:1.2;
  margin:0 0 0.75em;
}

#sesame-consent-banner .info {
  font-size:1em;
  line-height:1.4;
  margin:0 0 1.25em;
  text-wrap:balance;
}

#sesame-consent-banner .links {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.75em;
}

#sesame-consent-banner button {
  font-size:0.9em;
  font-weight:700;
  text-transform:uppercase;
  color:#fff;
  text-decoration:underline;
  text-decoration-line:underline;
  text-decoration-color:transparent;
  text-decoration-thickness:0;
  text-underline-offset:0;
  text-decoration-inset:0;
  min-height:44px;
  padding:0.65em 1em;
  background:#3985bd;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition-property:
    color,
    text-decoration-thickness,
    text-underline-offset,
    text-decoration-color,
    text-decoration-inset;
  transition-duration:0.3s;
  transition-timing-function:ease;
}

#sesame-consent-banner button:focus,
#sesame-consent-banner button:hover {
  color:#000;
  text-decoration-color:currentcolor;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  text-decoration-inset:3px;
}

@media (max-width:480px) {

  #sesame-consent-banner {
    width:calc(100% - 1.5em);
    padding:1em;
  }

  #sesame-consent-banner h2 {
    font-size:1.4em;
  }

  #sesame-consent-banner .info {
    font-size:0.95em;
  }

  #sesame-consent-banner .links {
    flex-direction:column;
  }

  #sesame-consent-banner button {
    width:100%;
  }

}