/* Dent-X interface foundations. Shared by every shortcode; never styles the host page. */
.dx-ds, #dx-modal, body.dentx-um-page {
  --dx-font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dx-font-heading: var(--dx-font-body);
  --dx-font-head: var(--dx-font-heading);
  --dx-bg: #f7f7f8;
  --dx-surface: #fff;
  --dx-surface-soft: #f3f3f5;
  --dx-text: #242228;
  --dx-text-body: var(--dx-text);
  --dx-text-soft: #65636c;
  --dx-text-faint: #77747e;
  --dx-border: rgba(36,34,40,.10);
  --dx-border-strong: rgba(36,34,40,.18);
  --dx-brand: #380a19;
  --dx-brand-hover: #582034;
  --dx-brand-soft: #f6eff1;
  --dx-brand-line: rgba(56,10,25,.28);
  --dx-gold: #f6e073;
  --dx-gold-soft: #fbf7e7;
  --dx-edition-gold: var(--dx-gold);
  --dx-blue: var(--dx-brand);
  --dx-dark: var(--dx-text);
  --dx-accent: var(--dx-brand);
  --dx-success: #267256;
  --dx-success-soft: #f0f7f3;
  --dx-warning: #86601f;
  --dx-warning-soft: #fbf6e9;
  --dx-danger: #b33c46;
  --dx-danger-soft: #fcf1f2;
  --dx-radius-xs: 8px;
  --dx-radius-sm: 10px;
  --dx-radius-md: 16px;
  --dx-radius-lg: 20px;
  --dx-shadow-sm: 0 1px 2px rgba(36,34,40,.035);
  --dx-shadow-md: 0 8px 32px rgba(36,34,40,.08);
  --dx-shadow-focus: 0 0 0 3px rgba(56,10,25,.12);
  --dx-space-1: 4px; --dx-space-2: 8px; --dx-space-3: 12px; --dx-space-4: 16px;
  --dx-space-5: 20px; --dx-space-6: 24px; --dx-space-7: 28px; --dx-space-8: 32px;
  --dx-ease: cubic-bezier(.23,1,.32,1);
  --dx-dur-fast: 140ms; --dx-dur: 180ms; --dx-dur-slow: 240ms;
  --dx-control-h: 44px;
  --dx-control-shell-bg: var(--dx-surface-soft);
  --dx-control-shell-border: var(--dx-border);
  --dx-control-shell-shadow: none;
  --dx-segment-shell-bg: var(--dx-surface-soft);
  --dx-segment-shell-border: transparent;
  --dx-segment-shell-shadow: none;
  --dx-segment-shell-radius: 12px;
  --dx-segment-shell-pad: 4px;
  --dx-chip-gap: 4px; --dx-chip-pad-y: 10px; --dx-chip-pad-x: 14px;
  --dx-pill-fs: 14px; --dx-pill-weight: 500; --dx-pill-weight-active: 600; --dx-pill-letter-spacing: 0;
  --dx-focus-ring-color: var(--dx-brand-line); --dx-focus-ring-shadow: var(--dx-shadow-focus);
  --dx-console-bg: var(--dx-surface);
  --dx-console-border: var(--dx-border);
  --dx-console-radius: 16px; --dx-console-shadow: none; --dx-console-blur: 0px; --dx-console-pad: 16px;
  --dx-console-sticky-top: 8px; --dx-console-sticky-top-mobile: 0px;
  --dx-console-fade-w: 16px; --dx-console-fade-inset: 2px;
}
.dx-ds { color: var(--dx-text); font: 400 15px/1.5 var(--dx-font-body); -webkit-font-smoothing: antialiased; }
.dx-ds, .dx-ds *, .dx-ds *::before, .dx-ds *::after { box-sizing: border-box; }
.dx-ds :is(h1,h2,h3,h4,h5,h6) { font-family: var(--dx-font-heading) !important; color: var(--dx-text); text-wrap: balance; }
.dx-ds :is(button,input,select,textarea) { font-family: var(--dx-font-body); }
.dx-ds .material-symbols-rounded { font-family: "Material Symbols Rounded"; font-weight: 400; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal; display: inline-block; -webkit-font-feature-settings: "liga"; -webkit-font-smoothing: antialiased; }
.dx-ds [hidden] { display: none !important; }
.dx-ds :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--dx-brand); outline-offset: 3px; }
.dx-ds :is(button,input,select,textarea) { font-variant-numeric: tabular-nums; }
.dx-ds .dx-shell, .dx-ds .dx-card { background: var(--dx-surface); border: 1px solid var(--dx-border); border-radius: var(--dx-radius-md); box-shadow: var(--dx-shadow-sm); }
.dx-ds .dx-title { margin: 0; font-size: clamp(28px,2.5vw,36px); font-weight: 700; letter-spacing: -.035em; line-height: 1.15; }
.dx-ds .dx-subtitle { margin: 8px 0 0; color: var(--dx-text-soft); font-size: 15px; line-height: 1.5; }
.dx-ds .dx-control-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.dx-ds .dx-control { height: var(--dx-control-h); border: 1px solid var(--dx-control-shell-border); background: var(--dx-control-shell-bg); border-radius: var(--dx-radius-sm); padding: 0 16px; color: var(--dx-text); font-size: 15px; line-height: 1.4; box-shadow: none; }
.dx-ds .dx-control:focus-visible { border-color: var(--dx-brand); box-shadow: var(--dx-shadow-focus); outline: none; }
.dx-ds .dx-control::placeholder { color: var(--dx-text-faint); }
.dx-ds .dx-pillbar, .dx-ds .dx-segment-shell { display: flex; gap: var(--dx-chip-gap); padding: var(--dx-segment-shell-pad); border: 1px solid var(--dx-segment-shell-border); border-radius: var(--dx-segment-shell-radius); background: var(--dx-segment-shell-bg); box-shadow: none; }
.dx-ds .dx-pillbar { overflow-x: auto; scrollbar-width: none; }
.dx-ds .dx-pillbar::-webkit-scrollbar { display: none; }
.dx-ds .dx-pillbar-shell { position: relative; min-width: 0; }
.dx-ds .dx-pill { border: 0; background: transparent; border-radius: var(--dx-radius-xs); min-height: 40px; padding: var(--dx-chip-pad-y) var(--dx-chip-pad-x); color: var(--dx-text-soft); font-size: var(--dx-pill-fs); font-weight: var(--dx-pill-weight); white-space: nowrap; cursor: pointer; transition: background 140ms, color 140ms; }
.dx-ds .dx-pill:hover { color: var(--dx-brand); background: var(--dx-brand-soft); }
.dx-ds .dx-pill.is-active { background: var(--dx-surface); color: var(--dx-brand); box-shadow: var(--dx-shadow-sm); font-weight: var(--dx-pill-weight-active); }
.dx-ds .dx-control-shell { border: 1px solid var(--dx-control-shell-border); background: var(--dx-control-shell-bg); border-radius: var(--dx-radius-sm); box-shadow: none; }
.dx-ds .dx-console-shell { border: 1px solid var(--dx-console-border); border-radius: var(--dx-console-radius); background: var(--dx-console-bg); box-shadow: none; }
.dx-ds .dx-console-sticky { position: sticky; top: var(--dx-console-sticky-top); z-index: 30; }
body.admin-bar .dx-ds .dx-console-sticky { top: calc(32px + var(--dx-console-sticky-top)); }
.dx-ds .dx-chip-rhythm { padding: var(--dx-chip-pad-y) var(--dx-chip-pad-x); font-size: 14px; font-weight: 500; }
.dx-ds .dx-btn { min-height: 44px; height: auto; border-radius: var(--dx-radius-sm); border: 1px solid var(--dx-border-strong); background: var(--dx-surface); color: var(--dx-text); padding: 10px 16px; font-weight: 600; font-size: 14px; line-height: 1.4; text-decoration: none; text-transform: none; letter-spacing: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; box-shadow: none; transition: background 140ms, border-color 140ms, color 140ms; }
.dx-ds .dx-btn:hover { background: var(--dx-surface-soft); border-color: var(--dx-border-strong); color: var(--dx-text); }
.dx-ds .dx-btn--primary { background: var(--dx-brand); border-color: var(--dx-brand); color: #fff; }
.dx-ds .dx-btn--primary:hover { background: var(--dx-brand-hover); border-color: var(--dx-brand-hover); color: #fff; }
.dx-ds .dx-btn:is([disabled],[aria-disabled="true"],.is-disabled,.dx-btn--disabled) { opacity: .5; cursor: not-allowed; pointer-events: none; }
.dx-ds .dx-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; border-radius: 6px; padding: 3px 8px; border: 0; background: var(--dx-surface-soft); color: var(--dx-text-soft); font-size: 12px; line-height: 1.4; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
.dx-ds .dx-badge--brand { color: var(--dx-brand); background: var(--dx-brand-soft); }
.dx-ds .dx-badge--success { color: var(--dx-success); background: var(--dx-success-soft); }
.dx-ds .dx-badge--warning { color: var(--dx-warning); background: var(--dx-warning-soft); }
.dx-ds .dx-badge--danger { color: var(--dx-danger); background: var(--dx-danger-soft); }
.dx-ds .dx-card-title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 650; color: var(--dx-text); letter-spacing: -.02em; }
.dx-ds .dx-muted { color: var(--dx-text-soft); }
@media (max-width: 782px) { body.admin-bar .dx-ds .dx-console-sticky { top: calc(46px + var(--dx-console-sticky-top-mobile)); } }
@media (prefers-reduced-motion: reduce) { .dx-ds *, .dx-ds *::before, .dx-ds *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
