/* GPL-2.0-or-later. Scoped rules; local template fonts with system fallbacks. */
#dls-cookie, .dls-cookie-placeholder {
  --cookie-ink: var(--dls-cookie-ink, var(--dls-cookie-theme-ink, #191815));
  --cookie-paper: var(--dls-cookie-paper, var(--dls-cookie-theme-paper, #f4efe5));
  --cookie-accent: var(--dls-cookie-accent, var(--dls-cookie-theme-accent, #71351f));
  --cookie-radius: var(--dls-cookie-radius, var(--dls-cookie-theme-radius, 0px));
  box-sizing: border-box;
  color: var(--cookie-ink);
  font-family: var(--dls-cookie-font, var(--dls-cookie-theme-font, var(--dls-sans, "DLS Manrope", system-ui, sans-serif)));
  font-size: 15px;
  line-height: 1.55;
  text-align: left;
}
#dls-cookie *, .dls-cookie-placeholder * { box-sizing: border-box; }
#dls-cookie [hidden] { display: none !important; }
#dls-cookie h2 {
  margin: 0 0 12px;
  color: var(--cookie-ink);
  font-family: var(--dls-cookie-heading-font, var(--dls-cookie-theme-heading-font, var(--dls-serif, "DLS Fraunces", Georgia, serif)));
  font-size: clamp(25px, 2.6vw, 34px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.035em;
}
#dls-cookie h3 { margin: 0 0 10px; font-size: 16px; line-height: 1.4; color: inherit; }
#dls-cookie p, .dls-cookie-placeholder p { margin: 0 0 12px; }
#dls-cookie .dls-cookie__eyebrow {
  margin: 0 0 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#dls-cookie .dls-cookie__eyebrow span { color: var(--cookie-accent); padding: 0 8px; }
#dls-cookie .dls-cookie__small { font-size: 13px; }
#dls-cookie a { color: var(--cookie-accent); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
#dls-cookie button, .dls-cookie-placeholder button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin: 0;
  padding: 12px 18px;
  border: 1px solid var(--cookie-ink);
  border-radius: var(--cookie-radius);
  background: var(--dls-cookie-button, var(--dls-cookie-theme-button, var(--cookie-ink)));
  color: var(--dls-cookie-button-text, var(--dls-cookie-theme-button-text, var(--cookie-paper)));
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  cursor: pointer;
  box-shadow: none;
  text-transform: none;
  letter-spacing: 0;
}
#dls-cookie button:hover, .dls-cookie-placeholder button:hover { background: var(--cookie-ink); color: var(--cookie-paper); border-color: var(--cookie-accent); }
#dls-cookie :focus-visible, .dls-cookie-placeholder :focus-visible { outline: 3px solid var(--dls-cookie-focus, var(--dls-cookie-theme-focus, #2559b6)); outline-offset: 3px; }
#dls-cookie .dls-cookie__banner {
  position: fixed;
  z-index: 2147483000;
  inset: auto 24px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 310px);
  align-items: center;
  gap: 32px;
  max-width: var(--dls-cookie-width, var(--dls-cookie-theme-width, 1160px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  margin: 0 auto;
  padding: 30px 32px 24px;
  border: 1px solid var(--cookie-ink);
  border-top: 4px solid var(--dls-cookie-line, var(--cookie-accent));
  border-radius: var(--cookie-radius);
  background: var(--cookie-paper);
  box-shadow: 0 12px 60px rgb(25 24 21 / .2);
}
#dls-cookie .dls-cookie__actions { display: flex; flex-direction: column; gap: 10px; }
/* Accept and reject always have identical presentation, on every layer. */
#dls-cookie [data-action="settings"]:not(.dls-cookie__reopen), #dls-cookie [data-action="save"] { color: var(--cookie-ink); background: transparent; }
#dls-cookie [data-action="settings"]:not(.dls-cookie__reopen):hover, #dls-cookie [data-action="save"]:hover { color: var(--cookie-paper); background: var(--cookie-accent); }
#dls-cookie .dls-cookie__links { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; }
#dls-cookie .dls-cookie__reopen {
  position: fixed;
  inset: auto auto 12px 12px;
  z-index: 2147482999;
  min-height: 44px;
  max-width: calc(100vw - 24px);
  padding: 8px 14px;
  border-color: var(--cookie-ink);
  background: var(--cookie-paper);
  color: var(--cookie-ink);
  font-size: 12px;
}
#dls-cookie .dls-cookie__reopen:hover { background: var(--cookie-ink); color: var(--cookie-paper); }
#dls-cookie .dls-cookie__dialog {
  position: fixed;
  inset: 0;
  width: min(720px, calc(100vw - 32px));
  max-width: 720px;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 1px solid var(--cookie-ink);
  border-top: 4px solid var(--dls-cookie-line, var(--cookie-accent));
  border-radius: var(--cookie-radius);
  background: var(--cookie-paper);
  color: var(--cookie-ink);
  overflow: auto;
  font: inherit;
}
#dls-cookie .dls-cookie__dialog::backdrop { background: rgb(25 24 21 / .65); }
#dls-cookie .dls-cookie__dialog-head, #dls-cookie .dls-cookie__dialog-foot { padding: 24px 28px; }
#dls-cookie .dls-cookie__dialog-head { position: relative; padding-right: 74px; }
#dls-cookie .dls-cookie__close { position: absolute; inset: 12px 12px auto auto; width: 44px; padding: 0; font-size: 24px; }
#dls-cookie .dls-cookie__services { padding: 0 28px; }
#dls-cookie .dls-cookie__service { padding: 20px 0; border-top: 1px solid rgb(25 24 21 / .25); }
#dls-cookie .dls-cookie__badge { display: inline-block; margin-left: 12px; font-size: 11px; font-weight: 500; text-transform: uppercase; }
#dls-cookie .dls-cookie__toggle { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; font-weight: 700; cursor: pointer; }
#dls-cookie input[type="checkbox"] { appearance: auto; flex: 0 0 auto; width: 22px; height: 22px; margin: 0; accent-color: var(--cookie-accent); }
#dls-cookie dl { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 8px 16px; margin: 12px 0; font-size: 13px; }
#dls-cookie dt { margin: 0; font-weight: 700; }
#dls-cookie dd { margin: 0; overflow-wrap: anywhere; }
#dls-cookie .dls-cookie__error { grid-column: 1 / -1; color: var(--cookie-ink); font-weight: 600; }
#dls-cookie .dls-cookie__noscript { padding: 20px; margin: 0; background: var(--cookie-paper); }
.dls-cookie-placeholder { padding: 24px; border: 1px solid #9b9387; background: #f4efe5; max-width: 100%; }
@media (max-width: 700px) {
  #dls-cookie .dls-cookie__banner { inset: auto 12px 12px; grid-template-columns: 1fr; gap: 16px; padding: 22px 20px 20px; max-height: calc(100dvh - 24px); }
  #dls-cookie .dls-cookie__dialog-head, #dls-cookie .dls-cookie__dialog-foot { padding: 20px; }
  #dls-cookie .dls-cookie__dialog-head { padding-right: 66px; }
  #dls-cookie .dls-cookie__services { padding: 0 20px; }
  #dls-cookie dl { grid-template-columns: 1fr; gap: 4px; }
  #dls-cookie dd { margin-bottom: 8px; }
}
@media (forced-colors: active) {
  #dls-cookie button, #dls-cookie .dls-cookie__banner, #dls-cookie .dls-cookie__dialog { border: 2px solid ButtonText; }
}
