/* Self-hosted CookieConsent, scoped to its root; no site-wide control overrides. */
#cc-main {
  --cc-font-family: var(--lw-body, Manrope, sans-serif);
  --cc-modal-border-radius: 12px;
  --cc-btn-border-radius: 6px;
  --cc-bg: var(--lw-panel, #fffefb);
  --cc-primary-color: var(--lw-ink, #293128);
  --cc-secondary-color: var(--lw-text, #4c5448);
  --cc-btn-primary-bg: var(--lw-forest, #24352b);
  --cc-btn-primary-color: #fffefb;
  --cc-btn-primary-border-color: #24352b;
  --cc-btn-primary-hover-bg: #19271f;
  --cc-btn-primary-hover-color: #fffefb;
  --cc-btn-primary-hover-border-color: #19271f;
  --cc-btn-secondary-bg: #fffefb;
  --cc-btn-secondary-color: #293128;
  --cc-btn-secondary-border-color: #b9c6ac;
  --cc-btn-secondary-hover-bg: #edf2e7;
  --cc-btn-secondary-hover-color: #19271f;
  --cc-btn-secondary-hover-border-color: #526747;
  --cc-cookie-category-block-bg: #f5f3ed;
  --cc-cookie-category-block-border: #d9ddcf;
  --cc-cookie-category-block-hover-bg: #edf2e7;
  --cc-cookie-category-expanded-block-bg: #fffefb;
  --cc-cookie-category-expanded-block-hover-bg: #fffefb;
  --cc-toggle-on-bg: #24352b;
  --cc-toggle-off-bg: #62685e;
  --cc-toggle-readonly-bg: #d9ddcf;
  --cc-toggle-readonly-knob-bg: #62685e;
  --cc-separator-border-color: #d9ddcf;
  --cc-footer-bg: #f5f3ed;
  --cc-footer-border-color: #d9ddcf;
  --cc-overlay-bg: rgba(25, 39, 31, .48);
}
#cc-main .cm {
  width: 420px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px - env(safe-area-inset-bottom, 0px));
  border: 1px solid #d9ddcf;
  box-shadow: 0 6px 30px rgba(25,39,31,.12), 0 1px 4px rgba(25,39,31,.04);
}
#cc-main .cm--bottom { bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
#cc-main .cm--left { left: max(24px, env(safe-area-inset-left, 0px)); }
#cc-main .cm__texts { padding: 22px 24px 0; }
#cc-main .cm__title {
  font-family: var(--lw-display, 'DM Serif Display', serif);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
  padding: 0 0 9px;
}
#cc-main .cm__title + .cm__desc { margin-top: 0; }
#cc-main .cm__desc { font-size: 13px; line-height: 1.65; padding: 0; }
#cc-main .cm__btns { padding: 18px 24px 22px; border: 0; }
#cc-main .cm__btn-group { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 16px; }
#cc-main .cm__btn { flex: 0 0 auto; min-height: 44px; font-size: 13px; font-weight: 650; padding: 11px 14px; }
#cc-main .cm__btn + .cm__btn { margin: 0; }
/* Keep the native preferences control for keyboard/focus behavior, styled as a text link. */
#cc-main .cm__btn[data-role="show"],
#cc-main .cm__btn[data-role="show"]:hover {
  background: transparent; border: 0; box-shadow: none;
  color: var(--lw-text, #4c5448); padding: 11px 0;
  text-align: left; font-weight: 500; white-space: nowrap;
}
#cc-main .cm__btn[data-role="show"]:hover { color: #19271f; text-decoration: underline; text-underline-offset: 3px; }
#cc-main .cm__desc .lw-cookie-privacy {
  color: inherit; text-decoration: underline; text-decoration-color: currentColor;
  text-underline-offset: 3px; font-weight: inherit;
}
#cc-main .cm__desc .lw-cookie-privacy:hover { color: #19271f; }
#cc-main :is(button, a, input):focus-visible { outline: 2px solid #557348; outline-offset: 3px; }
#cc-main .pm { border: 1px solid #d9ddcf; box-shadow: 0 20px 80px rgba(25,39,31,.18); }
#cc-main .pm__title { font-family: var(--lw-display, 'DM Serif Display', serif); font-size: 25px; font-weight: 400; }
#cc-main .pm__btn { min-height: 44px; }
/* Match .demo-head / .demo-close geometry; retain the cookie dialog's colors. */
#cc-main .pm__header { position: relative; min-height: 104px; padding: 28px 108px 30px 40px; }
#cc-main .pm__title { min-width: 0; margin: 0; line-height: 1.2; overflow-wrap: anywhere; }
#cc-main .pm__close-btn {
  position: absolute; top: 28px; right: 32px;
  width: 46px; height: 46px; min-width: 46px; min-height: 46px;
  display: inline-flex; align-items: center; justify-content: center; padding: 0;
  border-radius: 6px; color: var(--cc-btn-secondary-color); cursor: pointer;
  transition: background-color 160ms ease, transform 160ms cubic-bezier(.23,1,.32,1);
}
#cc-main .pm__close-btn span {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
}
#cc-main .pm__close-btn svg {
  display: block; flex: none; width: 20px; height: 20px;
  transform: none; fill: none; stroke: currentColor;
}
#cc-main .pm__close-btn:hover { color: var(--cc-btn-secondary-hover-color); }
#cc-main .pm__close-btn:active { transform: scale(.96); }
#cc-main .pm__close-btn:focus-visible { outline-offset: 4px; }
#cc-main .pm__section-desc { font-size: 14px; line-height: 1.7; }
#cc-main .pm__btn { font-size: 13px; }
#cc-main .pm__section-title { font-size: 14px; }
.lw-cookie-footer { white-space: nowrap; }
.cookie-info { max-width: 820px; padding-block: 72px 96px; }
.cookie-info h1 { font-family: var(--lw-display, 'DM Serif Display', serif); font-size: clamp(36px, 5vw, 58px); font-weight: 400; line-height: 1.12; margin: 0 0 28px; }
.cookie-info h2 { font-size: 20px; margin: 32px 0 10px; }
.cookie-info p { line-height: 1.8; margin-block: 12px; }
.cookie-info a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
.cookie-info .button { margin-top: 16px; min-height: 44px; }
@media (max-width: 760px) {
  /* Override the vendor's !important mobile padding, not its dialog behavior. */
  #cc-main .pm__header { min-height: 86px; padding: 20px 84px 24px 22px !important; }
  #cc-main .pm__close-btn { top: 18px; right: 20px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
}
@media (max-width: 640px) {
  #cc-main .cm { width: calc(100% - 28px); max-width: none; margin: 0; }
  #cc-main .cm--left { left: max(14px, env(safe-area-inset-left, 0px)); right: max(14px, env(safe-area-inset-right, 0px)); width: auto; }
  #cc-main .cm--bottom { bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
  #cc-main .cm__texts { padding: 20px 20px 0; }
  #cc-main .cm__title { font-size: 23px; }
  /* Vendor mobile rules use !important; keep our compact two-action row. */
  #cc-main .cm__title, #cc-main .cm__desc { padding-inline: 0 !important; }
  #cc-main .cm__btns { padding: 18px 20px 20px !important; border-top: 0 !important; }
  #cc-main .cm__btn-group { flex-direction: row !important; }
  #cc-main .cm__btn { width: auto; flex: 0 0 auto !important; }
  #cc-main .cm__btn + .cm__btn { margin: 0 !important; }
  .cookie-info { padding-block: 48px 72px; }
}
@media (prefers-reduced-motion: reduce) {
  #cc-main *, #cc-main *::before, #cc-main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
