.consent {
  position: fixed;
  z-index: 50;
  left: 12px;
  right: 12px;
  bottom: 12px;
  max-width: 52rem;
  margin: 0 auto;
  padding: 12px 40px 12px 14px;
  border-radius: 16px;
  background: #fffcf8;
  color: #1c2430;
  box-shadow: 0 10px 28px rgba(28, 36, 48, 0.14);
  max-height: calc(100dvh - 24px);
  overflow: auto;
}
.consent[hidden],
.consent-panel[hidden] { display: none; }
.consent-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}
.consent-copy { flex: 1 1 16rem; min-width: 0; }
.consent h2 { margin: 0 0 4px; font-size: 1rem; line-height: 1.25; }
.consent p { margin: 0 0 4px; font-size: 0.92rem; line-height: 1.35; }
.consent-actions, .consent-panel { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.consent-panel { margin-top: 10px; }
.consent-panel label { display: flex; gap: 8px; align-items: center; font-weight: 650; }
.consent-note { flex-basis: 100%; margin: 0; color: #5d6672; font-size: 0.9rem; }
.consent-choice, .consent-dismiss {
  font: inherit;
  cursor: pointer;
}
.consent-choice {
  min-height: 40px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #0c5c44;
  background: #fffcf8;
  color: #0c5c44;
  white-space: nowrap;
  font-size: 0.92rem;
}
.consent-dismiss {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #1c2430;
  font-size: 1.3rem;
  line-height: 1;
}
button.consent-reopen {
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.guest-consent, .t1-sitefoot-brand .consent-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
}
.guest ~ .consent { bottom: 76px; max-height: calc(100dvh - 96px); }
@media (max-width: 700px) {
  .consent { max-width: none; }
}
