/* Shared public header/footer shell */
html,
body.dtr-public-shell {
  min-height: 100%;
}

body.dtr-public-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.dtr-public-shell > main,
body.dtr-public-shell > .page {
  flex: 1 0 auto;
}

body.dtr-public-shell .dtr-public-nav {
  position: sticky;
  top: 0;
  z-index: 500;
  background: rgba(8,16,22,0.94);
  border-bottom: 1px solid rgba(246,241,230,0.10);
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
  backdrop-filter: blur(16px);
}

body.dtr-public-shell .dtr-public-nav-inner {
  width: min(1180px, 100%);
  height: 76px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 225px minmax(350px, 1fr) auto;
  align-items: center;
  gap: 20px;
}

body.dtr-public-shell .dtr-public-logo {
  font-family: var(--font-d, 'Bebas Neue', sans-serif);
  font-size: 20px;
  line-height: 1;
  letter-spacing: 2px;
  color: var(--text, #f6f1e6);
  text-decoration: none;
  white-space: nowrap;
}

body.dtr-public-shell .dtr-public-logo span {
  color: var(--accent, #f2b84b);
}

body.dtr-public-shell .dtr-public-links,
body.dtr-public-shell .dtr-public-actions,
body.dtr-public-shell .dtr-public-footer-links {
  display: flex;
  align-items: center;
}

body.dtr-public-shell .dtr-public-links {
  justify-content: center;
  gap: 20px;
  min-width: 0;
}

body.dtr-public-shell .dtr-public-actions {
  justify-content: flex-end;
  gap: 10px;
}

body.dtr-public-shell .dtr-public-links a,
body.dtr-public-shell .dtr-public-action-link,
body.dtr-public-shell .dtr-public-theme {
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: var(--muted, #8798a0);
  text-decoration: none;
  font-family: var(--font-b, 'DM Sans', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .45px;
  text-transform: uppercase;
  white-space: nowrap;
}

body.dtr-public-shell .dtr-public-links a {
  padding: 0 2px;
}

body.dtr-public-shell .dtr-public-links a:hover,
body.dtr-public-shell .dtr-public-links a.dtr-active,
body.dtr-public-shell .dtr-public-action-link:hover,
body.dtr-public-shell .dtr-public-action-link.dtr-active {
  color: var(--accent, #f2b84b);
}

body.dtr-public-shell .dtr-public-theme,
body.dtr-public-shell .dtr-public-action-link {
  width: 112px;
  border: 1px solid var(--border2, rgba(246,241,230,0.13));
  background: rgba(255,255,255,0.025);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  appearance: none;
}

body.dtr-public-shell .dtr-public-theme {
  width: 132px;
  gap: 6px;
  padding: 0 12px;
}

body.dtr-public-shell .dtr-public-cta {
  width: 146px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: linear-gradient(135deg,var(--accent, #f2b84b),var(--accent2, #ffd166));
  color: #2a1a05;
  text-decoration: none;
  font-family: var(--font-b, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

body.dtr-public-shell .dtr-public-footer {
  flex-shrink: 0;
  margin-top: auto;
  border-top: 1px solid var(--border, rgba(246,241,230,0.07));
  background: rgba(8,16,22,0.96);
  position: relative;
  z-index: 1;
}

body.dtr-public-shell .dtr-public-footer-inner {
  width: min(1180px, 100%);
  min-height: 98px;
  margin: 0 auto;
  padding: 24px;
  display: grid;
  grid-template-columns: 225px 1fr auto;
  align-items: center;
  gap: 20px;
}

body.dtr-public-shell .dtr-public-footer-links {
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

body.dtr-public-shell .dtr-public-footer-links a,
body.dtr-public-shell .dtr-public-footer-support,
body.dtr-public-shell .dtr-public-footer-copy {
  color: var(--muted, #8798a0);
  font-family: var(--font-b, 'DM Sans', sans-serif);
  font-size: 12px;
  text-decoration: none;
}

body.dtr-public-shell .dtr-public-footer-links a:hover,
body.dtr-public-shell .dtr-public-footer-support a {
  color: var(--accent, #f2b84b);
}

body.dtr-public-shell .dtr-public-footer-copy {
  grid-column: 1 / -1;
  color: var(--muted2, #61717a);
  font-family: var(--font-m, 'DM Mono', monospace);
  font-size: 10px;
  text-align: center;
}

html[data-theme="light"] body.dtr-public-shell {
  --navy: #f7f5ef;
  --navy2: #fffdfa;
  --navy3: #eee9df;
  --navy4: #dfd7c8;
  --text: #243033;
  --text2: #56615f;
  --muted: #78827c;
  --muted2: #a7ada5;
  --border: rgba(64,70,62,0.08);
  --border2: rgba(64,70,62,0.13);
  --accent: #8f7e5b;
  --accent2: #7f704f;
  --green: #6f927f;
  --red: #a7635a;
  background: #f7f5ef !important;
  color: #243033 !important;
}

html[data-theme="light"] body.dtr-public-shell::before {
  background-image:
    linear-gradient(rgba(64,70,62,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(64,70,62,0.022) 1px, transparent 1px) !important;
}

html[data-theme="light"] body.dtr-public-shell .dtr-public-nav {
  background: rgba(247,245,239,0.94) !important;
  border-bottom-color: rgba(64,70,62,0.10) !important;
  box-shadow: 0 10px 28px rgba(64,70,62,0.06) !important;
}

html[data-theme="light"] body.dtr-public-shell .dtr-public-theme,
html[data-theme="light"] body.dtr-public-shell .dtr-public-action-link {
  background: rgba(255,253,250,0.42) !important;
  border-color: rgba(64,70,62,0.12) !important;
  color: #46524f !important;
}

html[data-theme="light"] body.dtr-public-shell .dtr-public-cta {
  background: linear-gradient(135deg,#d7caa6,#c8ba93) !important;
  color: #2c281d !important;
  box-shadow: 0 3px 12px rgba(64,70,62,0.08) !important;
}

html[data-theme="light"] body.dtr-public-shell .dtr-public-footer {
  background: #eee9df !important;
  border-top-color: rgba(64,70,62,0.10) !important;
}

@media (max-width: 1080px) {
  body.dtr-public-shell .dtr-public-nav-inner {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 76px;
    padding: 14px 24px;
    gap: 12px;
  }

  body.dtr-public-shell .dtr-public-nav-inner > *,
  body.dtr-public-shell .dtr-public-links,
  body.dtr-public-shell .dtr-public-actions {
    min-width: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  body.dtr-public-shell .dtr-public-footer-inner {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  body.dtr-public-shell .dtr-public-footer-links {
    justify-content: flex-start;
  }

  body.dtr-public-shell .dtr-public-footer-copy {
    text-align: left;
  }
}

@media (max-width: 640px) {
  body.dtr-public-shell .dtr-public-links {
    gap: 12px;
  }

  body.dtr-public-shell .dtr-public-links,
  body.dtr-public-shell .dtr-public-actions {
    width: 100%;
  }

  body.dtr-public-shell .dtr-public-actions {
    gap: 8px;
  }

  body.dtr-public-shell .dtr-public-theme,
  body.dtr-public-shell .dtr-public-action-link,
  body.dtr-public-shell .dtr-public-cta {
    width: auto;
    padding-left: 12px;
    padding-right: 12px;
  }
}
