/* Shared styles for Parliament cookie manager. */
.p-cookie-manager h2 {
  color: #373151;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px !important; /* Exception for global overrides. */
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 15px;
  padding: 0;
}

.p-cookie-manager h3 {
  color: #373151;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
  padding: 0;
}

.p-cookie-manager p {
  color: #4d4d4d;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

.p-cookie-manager a {
  color: #3569cc !important; /* Exception for global overrides. */
  margin: 0;
  padding: 0;
  text-decoration: underline;
}

.p-cookie-manager a:hover {
  color: #214282 !important; /* Exception for global overrides. */
  text-decoration: underline;
}

.p-cookie-manager a:focus {
  background-color: #ffffff;
  box-shadow:
    0 0 0 2px #212121,
    0 0 0 4px #96dcbe;
  color: #212121 !important; /* Exception for global overrides. */
  outline: none;
  text-decoration: none !important; /* Exception for global overrides. */
}

.p-cookie-manager .p-cookie-manager__buttons {
  display: flex;
  flex-direction: row;
  gap: 5px;
}

.p-cookie-manager .p-cookie-manager__button {
  border-radius: 4px;
  cursor: pointer;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  padding: 7px 17px;
}

.p-cookie-manager .p-cookie-manager__button.p-cookie-manager__button--primary {
  background-color: #3569cc;
  border: 2px solid transparent;
  color: #ffffff;
}

.p-cookie-manager
  .p-cookie-manager__button.p-cookie-manager__button--primary:hover {
  background-color: #214282;
  border: 2px solid transparent;
  color: #ffffff;
}

.p-cookie-manager
  .p-cookie-manager__button.p-cookie-manager__button--secondary {
  background-color: transparent;
  border: 2px solid #3569cc;
  color: #3569cc;
}

.p-cookie-manager
  .p-cookie-manager__button.p-cookie-manager__button--secondary:hover {
  background-color: transparent;
  border: 2px solid #214282;
  color: #214282;
}

.p-cookie-manager
  .p-cookie-manager__button.p-cookie-manager__button--primary:focus,
.p-cookie-manager
  .p-cookie-manager__button.p-cookie-manager__button--secondary:focus {
  background-color: #ffffff;
  border: 2px solid #212121;
  box-shadow: 0 0 0 2px #96dcbe;
  color: #212121;
  outline: none;
}

/* Styles for Parliament cookie banner. */
.p-cookie-banner__wrapper {
  background-color: #ffffff;
  border-bottom: 1px solid #cbc9cd;
  display: none;
  padding: 25px 0 30px;
}

.p-cookie-banner {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1140px;
  padding: 0 15px;
  width: 100%;
}

.p-cookie-banner p {
  margin-bottom: 25px !important; /* Exception for global overrides. */
}

/* Styles for Parliament cookie modal. */
.p-cookie-modal__overlay {
  background-color: #000000;
  bottom: 0;
  display: none;
  left: 0;
  opacity: 0.35;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 99;
}

.p-cookie-modal__wrapper {
  display: none;
  left: 0;
  margin: 0 auto;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 600px;
  z-index: 100;
}

.p-cookie-modal {
  background-color: #ffffff;
  margin: 30px 0;
  padding: 25px;
}

.p-cookie-modal p {
  margin-bottom: 10px !important; /* Exception for global overrides. */
}

.p-cookie-modal .p-cookie-modal__buttons {
  margin-top: 30px;
}

.p-cookie-modal__section {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 25px 0 15px;
}

.p-cookie-modal__checkbox-item {
  display: flex;
  gap: 10px;
  margin: 0;
  position: relative;
}

.p-cookie-modal__checkbox-item input[type="checkbox"] {
  cursor: pointer;
  flex: 0 0 30px;
  height: 30px;
  margin: 0;
  opacity: 0;
  width: 30px;
  z-index: 1;
}

.p-cookie-modal__checkbox-item
  input[type="checkbox"]:focus
  + .p-cookie-modal__checkbox-item-label::before {
  background-color: #ffffff;
  border: 2px solid #212121;
  box-shadow: 0 0 0 2px #96dcbe;
  color: #212121;
  outline: none;
}

.p-cookie-modal__checkbox-item
  input[type="checkbox"]:checked
  + .p-cookie-modal__checkbox-item-label::after {
  opacity: 1;
}

.p-cookie-modal__checkbox-item
  input[type="checkbox"]:checked:focus
  + .p-cookie-modal__checkbox-item-label::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23212121' fill-rule='evenodd' d='M16 2.12 6.983 15 0 9.856l1.258-1.59 5.237 3.858L14.282 1 16 2.12Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.p-cookie-modal__checkbox-item-label {
  align-self: center;
  color: #4d4d4d;
  cursor: pointer;
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  padding: 4px 0;
}

.p-cookie-modal__checkbox-item-label::before {
  background: #ffffff;
  border: 2px solid #717171;
  box-sizing: border-box;
  content: "";
  height: 30px;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 30px;
}

.p-cookie-modal__checkbox-item-label::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23717171' fill-rule='evenodd' d='M16 2.12 6.983 15 0 9.856l1.258-1.59 5.237 3.858L14.282 1 16 2.12Z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  height: 30px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 30px;
}
