:root {
  --palette-primary: #b49004;
  --palette-secondary: #373e43;
  --palette-surface: #d4cfc9;
  --palette-text: #281a14;
  --palette-panel: color-mix(in srgb, var(--palette-surface) 35%, white);
  --palette-rule: rgb(40 26 20 / 25%);
  --palette-warning-surface: color-mix(in srgb, var(--palette-primary) 16%, var(--palette-panel));
  --palette-danger-surface: color-mix(in srgb, var(--brand-destructive) 8%, var(--palette-panel));
  --control-paper-stock: url('/assets/brand/paper-stock.webp');
  --control-radius: 2px;
  --control-stock-bone: #faf8f5;
  --control-stock-slip: #fbfaf8;
  --control-stock-slate: #3b4348;
  --control-stock-red: #c71e1e;
  --control-stock-cream: color-mix(in srgb, #f6f4f1 84%, #b49004);
  --control-edge-bone: rgb(40 26 20 / 78%);
  --control-edge-mustard: #9a7b03;
  --control-edge-field: rgb(40 26 20 / 42%);
  --control-edge-field-line: rgb(40 26 20 / 72%);
  --control-shadow-rest: inset 0 1px 0 rgb(255 255 255 / 38%), inset 0 -1px 0 rgb(40 26 20 / 12%), 0 1px 0 rgb(40 26 20 / 18%);
  --control-shadow-lift: 0 2px 0 rgb(40 26 20 / 22%), 0 6px 14px -8px rgb(40 26 20 / 45%);
  --control-shadow-pressed: inset 0 2px 3px rgb(40 26 20 / 32%);
  --control-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23281a14' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --control-check-svg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  --control-radio-svg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
  --palette-rule-strong: rgb(40 26 20 / 42%);
  --palette-stock-sheet: #f3f1ee;
  --palette-stock-bar: #b8bbb9;
  --palette-stock-article: #e4e0db;
  --palette-stock-insert: #f7f5f2;
  --palette-mustard-tint: rgb(180 144 4 / 8%);
  --palette-mustard-wash: rgb(180 144 4 / 12%);
  --palette-sheet-shadow: 0 1px 0 rgb(40 26 20 / 8%), 0 10px 26px -18px rgb(40 26 20 / 55%);
  --control-shadow-edge: inset 0 1px 0 rgb(255 255 255 / 38%), inset 0 -1px 0 rgb(40 26 20 / 12%);
}

html:has([data-public-editorial], .admin-body) {
  background: var(--palette-surface) url('/assets/brand/paper-stock.webp') center top / cover no-repeat fixed;
  background-blend-mode: multiply;
  scrollbar-color: var(--palette-secondary) transparent;
}

:root,
[data-public-editorial],
.admin-body {
  --brand-accent: var(--palette-primary);
  --brand-accent-hover: var(--palette-secondary);
  --brand-secondary: var(--palette-secondary);
  --brand-charcoal: var(--palette-secondary);
  --ink: var(--palette-text);
  --ink-muted: var(--palette-secondary);
  --muted-ink: var(--palette-secondary);
  --paper: var(--palette-surface);
  --paper-white: var(--palette-panel);
  --editorial-ink: var(--palette-text);
  --editorial-ink-soft: var(--palette-secondary);
  --editorial-paper: var(--palette-surface);
  --editorial-bone: var(--palette-panel);
  --editorial-oxblood: var(--palette-text);
  --editorial-oxblood-dark: var(--palette-secondary);
  --editorial-rule: var(--palette-rule);
  --editorial-rule-light: rgb(212 207 201 / 30%);
  --admin-rule: var(--palette-rule);
  --bs-body-color: var(--palette-text);
  --bs-body-bg: var(--palette-surface);
  --bs-primary-rgb: 180, 144, 4;
  --bs-secondary-rgb: 55, 62, 67;
  --brand-success: var(--palette-secondary);
  --brand-warning: var(--palette-text);
  --bs-success: var(--palette-secondary);
  --bs-success-rgb: 55, 62, 67;
  --bs-info: var(--palette-secondary);
  --bs-info-rgb: 55, 62, 67;
  --bs-warning: var(--palette-primary);
  --bs-warning-rgb: 180, 144, 4;
  --bs-danger: var(--brand-destructive);
  --bs-danger-rgb: 185, 28, 28;
  --bs-form-valid-color: var(--palette-secondary);
  --bs-form-valid-border-color: var(--palette-secondary);
  --bs-form-invalid-color: var(--brand-destructive);
  --bs-form-invalid-border-color: var(--brand-destructive);
  --bs-link-color: var(--palette-text);
  --bs-link-color-rgb: 40, 26, 20;
  --bs-link-hover-color: var(--palette-secondary);
  --bs-link-hover-color-rgb: 55, 62, 67;
  --focus-ring: 0 0 0 2px var(--palette-surface), 0 0 0 5px var(--palette-secondary);
}

.admin-body { color: var(--palette-text); }
.admin-body .admin-sticky-actions { background: var(--palette-surface); }

:is([data-public-editorial], .admin-body) .text-link-accent:not(.btn) {
  color: var(--palette-text) !important;
}
:is([data-public-editorial], .admin-body) .text-link-accent:not(.btn):is(:hover, :focus-visible) {
  color: var(--palette-secondary) !important;
}
:is([data-public-editorial], .admin-body) :is(.dmxValidator-invalid, .is-invalid) {
  border-color: var(--brand-destructive) !important;
}
:is([data-public-editorial], .admin-body) :is(.dmxValidator-valid, .is-valid) {
  border-color: var(--palette-secondary) !important;
}
:is([data-public-editorial], .admin-body) :is(.dmxValidator-invalid, .dmxValidator-valid, .is-invalid, .is-valid):focus {
  box-shadow: var(--focus-ring);
}
:is([data-public-editorial], .admin-body) .dmxValidator-error {
  color: var(--brand-destructive);
}

[data-public-editorial] ::selection,
.admin-body ::selection {
  background: var(--palette-primary);
  color: var(--palette-text);
}

[data-public-editorial] .home-hours { background: rgb(180 144 4 / 3%) !important; }
[data-public-editorial] .hours-today-label { border-bottom: 2px solid var(--palette-primary); }

[data-public-editorial] #site_footer {
  --editorial-rule-light: rgb(40 26 20 / 25%);
  background-color: #b8bbb9 !important;
  color: var(--palette-text) !important;
}
[data-public-editorial] #site_footer :is(.text-white, .editorial-label, #newsletter_consent, .footer-credit, .form-control, h3, a) {
  color: var(--palette-text) !important;
}
[data-public-editorial] #site_footer .form-control { border-color: var(--palette-text); }
[data-public-editorial] #site_footer .form-control::placeholder { color: var(--palette-text); opacity: .75; }
[data-public-editorial] #site_footer .footer-credit img { filter: brightness(0); }
[data-public-editorial] #site_footer :where(a, button, input):focus-visible { outline-color: var(--palette-text); box-shadow: 0 0 0 2px var(--palette-surface), 0 0 0 5px var(--palette-text) !important; }
[data-public-editorial] #site_footer #newsletter_email:focus {
  outline: none;
  border-bottom-color: var(--palette-secondary);
  background-color: color-mix(in srgb, var(--palette-panel) 22%, transparent);
  box-shadow: inset 0 -2px 0 var(--palette-secondary) !important;
  caret-color: var(--palette-text);
}
@media (forced-colors: active) {
  [data-public-editorial] #site_footer #newsletter_email:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
}

.admin-body .admin-sidebar,
.admin-body .offcanvas-md.admin-sidebar,
.admin-body .admin-mobile-bar {
  background: #b8bbb9 url('/assets/brand/paper-stock.webp') center top / cover no-repeat fixed !important;
  background-blend-mode: multiply;
  border-color: var(--palette-rule) !important;
}
.admin-body :is(.admin-brand small, .admin-mobile-brand, .admin-mobile-brand small, .admin-sidebar .nav-link, .admin-brand, .offcanvas-title) {
  color: var(--palette-text);
}
.admin-body .admin-sidebar .nav-link:is(.active, [aria-current="page"]) {
  background: var(--palette-secondary);
  border-left-color: var(--palette-primary);
  color: var(--palette-surface);
}
.admin-body .admin-sidebar .nav-link:not(.active):hover { color: var(--palette-text); background: rgb(40 26 20 / 9%); }
.admin-body :is(.admin-brand, .admin-mobile-brand) img { filter: brightness(0); }
.admin-body .admin-sidebar .btn-close { filter: none; }
.admin-body .text-link-accent:not(.btn),
[data-public-editorial] .text-link-accent:not(.btn) { color: var(--palette-text); }

.admin-body #newsletterCampaignWorkspace .campaign-list .list-group-item:not(.active) {
  color: var(--palette-text);
}
.admin-body #newsletterCampaignWorkspace .campaign-list .list-group-item:not(.active) .campaign-list-subject {
  color: var(--palette-secondary);
}
.admin-body #newsletterCampaignWorkspace .campaign-list .list-group-item.active {
  color: var(--palette-panel);
}

:is([data-public-editorial], .admin-body) :is(.alert-success, .alert-info) {
  --bs-alert-color: var(--palette-secondary);
  --bs-alert-bg: var(--palette-panel);
  --bs-alert-border-color: var(--palette-secondary);
  --bs-alert-link-color: var(--palette-text);
}
:is([data-public-editorial], .admin-body) .alert-warning {
  --bs-alert-color: var(--palette-text);
  --bs-alert-bg: var(--palette-warning-surface);
  --bs-alert-border-color: var(--palette-primary);
  --bs-alert-link-color: var(--palette-text);
}
:is([data-public-editorial], .admin-body) .alert-danger {
  --bs-alert-color: var(--brand-destructive);
  --bs-alert-bg: var(--palette-danger-surface);
  --bs-alert-border-color: var(--brand-destructive);
  --bs-alert-link-color: var(--brand-destructive);
}
.admin-body :is(.text-bg-success, .text-bg-info, .text-bg-secondary, .text-bg-dark) {
  color: var(--palette-panel) !important;
  background-color: var(--palette-secondary) !important;
}
:is([data-public-editorial], .admin-body) .text-bg-warning {
  color: var(--palette-text) !important;
  background-color: var(--palette-warning-surface) !important;
}
:is([data-public-editorial], .admin-body) .text-bg-danger {
  color: var(--brand-destructive) !important;
  background-color: var(--palette-danger-surface) !important;
}
:is([data-public-editorial], .admin-body) .dmx-notify {
  border: 1px solid currentColor;
  border-radius: 2px;
  font-family: var(--font-body);
  box-shadow: 0 4px 16px rgb(40 26 20 / 15%);
  max-width: min(26rem, calc(100vw - 30px));
  min-width: min(250px, calc(100vw - 30px));
}
:is([data-public-editorial], .admin-body) .dmx-notify-body { overflow-wrap: anywhere; }
