/* ═══════════════════════════════════════════════════════════════════
   THE DALLAS REGISTRY — Theme Stylesheet v1.0.0
   Residential. Architectural. Refined.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Design tokens ─────────────────────────────────────────────────── */
:root {
  --tdr-gold:   #c9a551;
  --tdr-gold2:  #a8832f;
  --tdr-ink:    #111118;
  --tdr-navy:   #102a52;
  --tdr-mast:   #0e0b06;
  --tdr-mid:    #6b7280;
  --tdr-light:  #f7f7f5;
  --tdr-rule:   #e5e7eb;
  --tdr-serif:  'Playfair Display', Georgia, 'Times New Roman', serif;
  --tdr-sans:   'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --tdr-max:    1200px;
  --tdr-mast-h: 64px;
}

/* ── Reset & base ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--tdr-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--tdr-ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: inherit; }

/* Compensate for WP admin bar */
body.admin-bar { padding-top: 0; }
body.admin-bar #tdr-masthead { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar #tdr-masthead { top: 46px; }
}
body.admin-bar .tdr-discovery-bar { top: calc(var(--tdr-mast-h) + 32px); }
@media screen and (max-width: 782px) {
  body.admin-bar .tdr-discovery-bar { top: calc(var(--tdr-mast-h) + 46px); }
}

/* ══════════════════════════════════════════════════════════════════
   MASTHEAD
   ══════════════════════════════════════════════════════════════════ */
.tdr-masthead {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--tdr-mast);
  border-bottom: 1px solid rgba(201,165,81,.12);
  height: var(--tdr-mast-h);
}
.tdr-masthead-inner {
  max-width: var(--tdr-max);
  margin: 0 auto;
  padding: 0 32px;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 32px;
}

/* Logo */
.tdr-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
  /* Prevents the anchor from overflowing the masthead flex row when the
     override logo is at its max-width on very narrow viewports.         */
  min-width: 0;
}
.tdr-logo-mark { flex-shrink: 0; display: block; forced-color-adjust: none; color-scheme: only light; }
.tdr-logo-words {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1;
}
.tdr-logo-name {
  font-family: var(--tdr-sans);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .24em;
  color: #fff;
  white-space: nowrap;
  text-transform: uppercase;
}
/* Tagline sits DIRECTLY UNDER the wordmark and matches the footer
   lock-up exactly (Kevin, Aug 1 2026): uppercase, gold, letter-spaced. */
.tdr-logo-tagline {
  font-family: var(--tdr-sans);
  font-size: 8px;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tdr-gold);
  white-space: nowrap;
}
.tdr-logo-reg { font-size: 7px; vertical-align: super; }
.tdr-logo-stack {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.tdr-logo-stack .tdr-logo-tagline { white-space: normal; }

/* ── Override logo image (custom upload via Customizer) ─────────── */
/* Masthead placement.
   width:auto + height:auto lets the browser maintain the image's
   natural aspect ratio; max-height and max-width together cap both
   axes so a very tall logo (e.g. square badge) is constrained by
   max-height and a very wide logo (e.g. 2000px banner) is
   constrained by max-width — no distortion in either case.
   object-fit:contain is an explicit safety net for browsers that
   resolve an explicit box before auto-sizing.
   flex-shrink:1 allows the image to give up width inside the .tdr-logo
   flex container when space is extremely tight.                       */
.tdr-logo-override {
  display: block;
  width: auto;
  height: auto;
  max-height: 40px;
  max-width: 160px;
  object-fit: contain;
  flex-shrink: 1;
}
/* Footer placement */
.tdr-footer-logo-override {
  max-height: 36px;
  max-width: 140px;
}
/* Auth-card placement */
.tdr-auth-logo-override {
  max-height: 48px;
  max-width: 200px;
}
/* Fallback wordmark containers — revealed by JS onerror when override image 404s.
   Both need inline-flex so the diamond SVG and name text sit side-by-side,
   matching the layout of the native (no-override) wordmark. */
.tdr-footer-logo-fallback {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.tdr-auth-logo-fallback {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Primary nav */
.tdr-nav { flex: 1; display: flex; justify-content: center; }
.tdr-nav-list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0;
}
.tdr-nav-list li { position: relative; }
.tdr-nav-list li a {
  display: block;
  padding: 22px 14px;
  font-family: var(--tdr-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: color .15s;
  white-space: nowrap;
}
.tdr-nav-list li a:hover,
.tdr-nav-list li.current-menu-item > a,
.tdr-nav-list li.current-page-ancestor > a {
  color: var(--tdr-gold);
}

/* Dropdown sub-menus */
.tdr-nav-list .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  padding-top: 8px; /* hover bridge — no dead-zone gap */
  min-width: 180px;
  list-style: none;
  z-index: 100;
}
.tdr-nav-list .sub-menu > li {
  background: var(--tdr-mast);
}
.tdr-nav-list .sub-menu > li:first-child {
  border-top: 2px solid var(--tdr-gold);
}
.tdr-nav-list .sub-menu > li:last-child {
  border-bottom: 1px solid rgba(201,165,81,.15);
}
.tdr-nav-list li:hover > .sub-menu { display: block; }
.tdr-nav-list .sub-menu li a {
  padding: 10px 16px;
  font-size: 10px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}

/* Right rail */
.tdr-masthead-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.tdr-auth-links { display: flex; align-items: center; gap: 10px; }
.tdr-signin-link {
  font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.5); text-decoration: none; transition: color .15s;
}
.tdr-signin-link:hover { color: var(--tdr-gold); }
.tdr-join-btn {
  font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--tdr-mast); background: var(--tdr-gold);
  padding: 7px 14px; text-decoration: none; transition: background .15s;
}
.tdr-join-btn:hover { background: var(--tdr-gold2); }

/* Account pill */
.tdr-account-pill {
  position: relative;
  display: flex; align-items: center; gap: 8px;
  cursor: pointer;
  padding: 4px 10px 4px 4px;
  border: 1px solid rgba(201,165,81,.2);
  transition: border-color .15s;
}
.tdr-account-pill:hover { border-color: var(--tdr-gold); }
.tdr-account-avatar {
  width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
}
.tdr-account-initials {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--tdr-gold); color: var(--tdr-mast);
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; font-weight: 800;
}
.tdr-account-name {
  font-size: 10px; font-weight: 600; color: rgba(255,255,255,.7); letter-spacing: .04em;
}
.tdr-account-dropdown {
  display: none;
  position: absolute; top: 100%; right: 0;
  padding-top: 8px; /* bridge: mouse stays hot over the gap */
  min-width: 180px; z-index: 200;
}
.tdr-account-dropdown-inner {
  background: var(--tdr-mast);
  border: 1px solid rgba(201,165,81,.2);
  border-top: 2px solid var(--tdr-gold);
}
/* show on hover (desktop) OR when JS adds .is-open (click/mobile) */
.tdr-account-pill:hover .tdr-account-dropdown,
.tdr-account-pill.is-open .tdr-account-dropdown { display: block; }
.tdr-account-dropdown a {
  display: block; padding: 10px 16px;
  font-size: 11px; color: rgba(255,255,255,.65); text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.05); transition: color .12s;
}
.tdr-account-dropdown a:hover { color: var(--tdr-gold); }
.tdr-account-dropdown-divider { border-top: 1px solid rgba(201,165,81,.15); margin: 4px 0; }

/* Mobile toggle */
.tdr-nav-toggle {
  display: none;
  flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer;
  padding: 4px; width: 28px;
}
.tdr-nav-toggle span {
  display: block; height: 1.5px; background: rgba(255,255,255,.6);
  transition: transform .25s, opacity .25s;
}
.tdr-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.tdr-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tdr-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── Light-background variant (.tdr-masthead--light) ───────────── */
/* Diamond mark stays gold in both variants; only text/chrome flips  */
.tdr-masthead--light {
  background: #fff;
  border-bottom-color: rgba(0,0,0,.08);
}
.tdr-masthead--light .tdr-logo-name {
  color: #111;
}
/* tagline (.tdr-logo-tagline) is already gold — no change needed    */
.tdr-masthead--light .tdr-nav-list li a {
  color: rgba(17,17,17,.55);
}
.tdr-masthead--light .tdr-nav-list li a:hover,
.tdr-masthead--light .tdr-nav-list li.current-menu-item > a,
.tdr-masthead--light .tdr-nav-list li.current-page-ancestor > a {
  color: var(--tdr-gold);
}
.tdr-masthead--light .tdr-nav-list .sub-menu > li {
  background: #fff;
}
.tdr-masthead--light .tdr-nav-list .sub-menu > li:first-child {
  border-top-color: var(--tdr-gold);
}
.tdr-masthead--light .tdr-nav-list .sub-menu > li:last-child {
  border-bottom-color: rgba(0,0,0,.08);
}
.tdr-masthead--light .tdr-nav-list .sub-menu li a {
  color: rgba(17,17,17,.65);
  border-bottom-color: rgba(0,0,0,.05);
}
.tdr-masthead--light .tdr-signin-link {
  color: rgba(17,17,17,.5);
}
.tdr-masthead--light .tdr-signin-link:hover { color: var(--tdr-gold); }
.tdr-masthead--light .tdr-account-pill {
  border-color: rgba(0,0,0,.12);
}
.tdr-masthead--light .tdr-account-name {
  color: rgba(17,17,17,.7);
}
.tdr-masthead--light .tdr-account-dropdown-inner {
  background: #fff;
  border-color: rgba(0,0,0,.1);
  border-top-color: var(--tdr-gold);
}
.tdr-masthead--light .tdr-account-dropdown a {
  color: rgba(17,17,17,.65);
  border-bottom-color: rgba(0,0,0,.05);
}
.tdr-masthead--light .tdr-account-dropdown a:hover { color: var(--tdr-gold); }
.tdr-masthead--light .tdr-account-dropdown-divider {
  border-top-color: rgba(0,0,0,.08);
}
.tdr-masthead--light .tdr-nav-toggle span {
  background: rgba(17,17,17,.6);
}

/* ══════════════════════════════════════════════════════════════════
   MAIN + PAGE LAYOUT
   ══════════════════════════════════════════════════════════════════ */
#tdr-main { min-height: 60vh; }

/* Full-width pages — shortcodes handle their own max-width internally */
.tdr-fullwidth #tdr-main { width: 100%; }

/* Constrained content pages (archives, search, etc.) */
.tdr-archive-wrap,
.tdr-404 {
  max-width: var(--tdr-max);
  margin: 0 auto;
  padding: 48px 32px 80px;
}

/* ══════════════════════════════════════════════════════════════════
   ARTICLE (single.php)
   ══════════════════════════════════════════════════════════════════ */
.tdr-article {}

/* Hero with featured image */
.tdr-article-hero {
  position: relative;
  width: 100%;
  height: 520px;
  background-size: cover;
  background-position: center;
  background-color: var(--tdr-ink);
  overflow: hidden;
}
.tdr-article-hero-scrim {
  position: absolute; inset: 0;
  background: linear-gradient(110deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.55) 40%, rgba(8,6,4,.15) 70%, transparent 100%);
}
.tdr-article-hero-scrim::before {
  content: '';
  position: absolute;
  left: 72px; top: 40px; bottom: 40px; width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(201,165,81,.55) 20%, rgba(201,165,81,.55) 80%, transparent);
}
.tdr-article-hero-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 0 88px 52px;
}
.tdr-article-eyebrow {
  font-family: var(--tdr-sans);
  font-size: 9px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase;
  color: var(--tdr-gold); margin-bottom: 14px;
  display: flex; align-items: center; gap: 8px;
}
.tdr-article-eyebrow a { color: var(--tdr-gold); text-decoration: none; }
.tdr-article-title {
  font-family: var(--tdr-serif);
  font-size: 52px; font-weight: 900; line-height: .94;
  letter-spacing: -.025em; color: #fff;
  max-width: 680px; margin-bottom: 16px;
}
.tdr-article-deck {
  font-family: var(--tdr-sans);
  font-size: 14px; color: rgba(255,255,255,.55);
  max-width: 480px; line-height: 1.7; font-weight: 300;
  margin-bottom: 12px;
}
.tdr-article-byline {
  font-size: 11px; color: rgba(255,255,255,.38); letter-spacing: .04em;
}

/* Text-only header (no featured image) */
.tdr-article-header-text {
  max-width: 820px; margin: 0 auto;
  padding: 56px 32px 32px;
  border-bottom: 1px solid var(--tdr-rule);
}
.tdr-article-title-text {
  font-family: var(--tdr-serif);
  font-size: 40px; font-weight: 900; line-height: 1.08;
  letter-spacing: -.02em; color: var(--tdr-ink); margin-bottom: 14px;
}
.tdr-article-byline-text { font-size: 12px; color: var(--tdr-mid); }

/* Article body */
.tdr-article-body {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 32px 80px;
}

/* ── Static pages (Privacy Policy, Terms, etc.) ─────────────────── */
.tdr-page-wrap { background: #fff; }
.tdr-page-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 48px 32px 80px;
}
.tdr-page-title {
  font-family: var(--tdr-serif);
  font-size: 36px;
  font-weight: 700;
  color: var(--tdr-ink);
  margin: 0 0 32px;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--tdr-gold);
}

/* ── Legal tab nav ───────────────────────────────────────────────── */
.tdr-legal-tabs {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}
.tdr-legal-tabs-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  gap: 0;
  overflow-x: auto;
}
.tdr-legal-tab {
  display: inline-block;
  padding: 16px 20px 14px;
  font-family: var(--tdr-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--tdr-navy, #102a52);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.tdr-legal-tab:hover { color: var(--tdr-gold); }
.tdr-legal-tab--active {
  color: var(--tdr-gold);
  border-bottom-color: var(--tdr-gold);
}

@media (max-width: 600px) {
  .tdr-page-inner { padding: 32px 20px 60px; }
  .tdr-page-title { font-size: 28px; }
  .tdr-legal-tabs-inner { padding: 0 16px; }
  .tdr-legal-tab { padding: 14px 14px 12px; font-size: 13px; }
}
.tdr-article-content {
  font-family: var(--tdr-sans);
  font-size: 16px; line-height: 1.8; color: #1f2937;
}
.tdr-article-content p  { margin-bottom: 1.4em; }
.tdr-article-content h2 { font-family: var(--tdr-serif); font-size: 26px; font-weight: 700; margin: 1.8em 0 .6em; color: var(--tdr-ink); }
.tdr-article-content h3 { font-family: var(--tdr-serif); font-size: 20px; font-weight: 700; margin: 1.4em 0 .5em; color: var(--tdr-ink); }
.tdr-article-content a  { color: var(--tdr-navy); text-decoration: underline; text-decoration-color: rgba(16,42,82,.3); transition: color .15s; }
.tdr-article-content a:hover { color: var(--tdr-gold); }
.tdr-article-content img { width: 100%; margin: 1.6em 0; }
.tdr-article-content blockquote {
  border-left: 3px solid var(--tdr-gold);
  padding: 4px 0 4px 24px;
  margin: 1.8em 0;
  font-family: var(--tdr-serif); font-style: italic; font-size: 18px;
  color: var(--tdr-navy);
}
.tdr-article-content ul, .tdr-article-content ol { padding-left: 1.4em; margin-bottom: 1.2em; }
.tdr-article-content li { margin-bottom: .4em; }
.tdr-article-content hr { border: none; border-top: 1px solid var(--tdr-rule); margin: 2em 0; }

/* Tags */
.tdr-article-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--tdr-rule); }
.tdr-article-tag {
  font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--tdr-mid); border: 1px solid var(--tdr-rule);
  padding: 4px 10px; text-decoration: none; transition: border-color .15s, color .15s;
}
.tdr-article-tag:hover { border-color: var(--tdr-gold); color: var(--tdr-gold); }

/* Related posts */
.tdr-article-related { margin-top: 48px; }
.tdr-article-related-label {
  font-family: var(--tdr-sans); font-size: 9px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; color: var(--tdr-gold);
  margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--tdr-rule);
}
.tdr-article-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tdr-article-related-card { text-decoration: none; transition: opacity .15s; }
.tdr-article-related-card:hover { opacity: .72; }
.tdr-article-related-card img { width: 100%; height: 120px; object-fit: cover; margin-bottom: 8px; }
.tdr-article-related-title { font-family: var(--tdr-serif); font-size: 13px; font-weight: 700; color: var(--tdr-ink); line-height: 1.4; margin-bottom: 3px; }
.tdr-article-related-date  { font-size: 10px; color: var(--tdr-mid); }

/* ══════════════════════════════════════════════════════════════════
   ARCHIVE / POST GRID
   ══════════════════════════════════════════════════════════════════ */
.tdr-archive-header { margin-bottom: 36px; }
.tdr-archive-eyebrow {
  font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--tdr-gold); margin-bottom: 8px;
}
.tdr-archive-title { font-family: var(--tdr-serif); font-size: 36px; font-weight: 900; color: var(--tdr-ink); }
.tdr-archive-empty { color: var(--tdr-mid); font-size: 14px; padding: 32px 0; }

.tdr-post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
}
.tdr-post-card { display: flex; flex-direction: column; }
.tdr-post-card-photo-wrap { display: block; overflow: hidden; }
.tdr-post-card-photo { width: 100%; height: 200px; object-fit: cover; transition: transform .4s ease; }
.tdr-post-card-photo-wrap:hover .tdr-post-card-photo { transform: scale(1.04); }
.tdr-post-card-body { padding: 14px 0 0; flex: 1; display: flex; flex-direction: column; }
.tdr-post-card-cat  { font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tdr-gold); margin-bottom: 6px; }
.tdr-post-card-title { font-family: var(--tdr-serif); font-size: 18px; font-weight: 700; line-height: 1.25; margin-bottom: 8px; }
.tdr-post-card-title a { text-decoration: none; color: var(--tdr-ink); transition: color .15s; }
.tdr-post-card-title a:hover { color: var(--tdr-navy); }
.tdr-post-card-deck { font-size: 12px; color: var(--tdr-mid); line-height: 1.65; flex: 1; margin-bottom: 8px; }
.tdr-post-card-meta { font-size: 10px; color: #9ca3af; margin-top: auto; }

.tdr-pagination { display: flex; justify-content: center; }
.tdr-pagination .nav-links { display: flex; gap: 4px; align-items: center; }
.tdr-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; font-size: 12px; font-weight: 600;
  color: var(--tdr-mid); text-decoration: none; border: 1px solid var(--tdr-rule);
  transition: all .15s;
}
.tdr-pagination .page-numbers.current { background: var(--tdr-navy); color: #fff; border-color: var(--tdr-navy); }
.tdr-pagination .page-numbers:hover:not(.current) { border-color: var(--tdr-gold); color: var(--tdr-gold); }

/* ══════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════ */
.tdr-footer {
  background: var(--tdr-mast);
  border-top: 1px solid rgba(201,165,81,.12);
  padding: 40px 0 32px;
  margin-top: 0;
}
.tdr-footer-inner {
  max-width: var(--tdr-max);
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;
}
.tdr-footer-logo {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
}
.tdr-footer-logo-mark { flex-shrink: 0; forced-color-adjust: none; color-scheme: only light; }
.tdr-footer-logo-name {
  font-family: var(--tdr-sans);
  font-size: 11px; font-weight: 800; letter-spacing: .2em;
  color: rgba(255,255,255,.7);
}
.tdr-footer-reg { font-size: 9px; vertical-align: super; }
.tdr-footer-tagline {
  font-size: 9px; letter-spacing: .14em; color: var(--tdr-gold); text-transform: uppercase;
}
.tdr-footer-nav-list { list-style: none; display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; }
.tdr-footer-nav-list li a {
  font-size: 10px; font-weight: 500; letter-spacing: .08em;
  color: rgba(255,255,255,.35); text-decoration: none; transition: color .15s;
  text-transform: uppercase;
}
.tdr-footer-nav-list li a:hover { color: var(--tdr-gold); }
.tdr-footer-legal {
  text-align: right;
  font-size: 10px; color: rgba(255,255,255,.2); line-height: 1.6;
}
.tdr-footer-sub { color: rgba(255,255,255,.15); }

/* ══════════════════════════════════════════════════════════════════
   404
   ══════════════════════════════════════════════════════════════════ */
.tdr-404 { text-align: center; padding: 100px 32px; }
.tdr-404-rule { width: 40px; height: 2px; background: var(--tdr-gold); margin: 0 auto 24px; }
.tdr-404-num { font-family: var(--tdr-serif); font-size: 120px; font-weight: 900; color: var(--tdr-rule); line-height: 1; margin-bottom: 16px; }
.tdr-404-title { font-family: var(--tdr-serif); font-size: 32px; font-weight: 700; color: var(--tdr-ink); margin-bottom: 12px; }
.tdr-404-sub { font-size: 14px; color: var(--tdr-mid); max-width: 400px; margin: 0 auto 28px; line-height: 1.7; }
.tdr-404-btn {
  display: inline-block; background: var(--tdr-navy); color: #fff;
  padding: 13px 28px; font-size: 11px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; transition: background .15s;
}
.tdr-404-btn:hover { background: var(--tdr-gold); color: #fff; }

/* ══════════════════════════════════════════════════════════════════
   WORDPRESS CORE OVERRIDES
   ══════════════════════════════════════════════════════════════════ */

/* Hide Gutenberg default page title on full-width pages */
.tdr-fullwidth .entry-title,
.tdr-fullwidth .page-title,
.tdr-fullwidth h1.entry-title { display: none !important; }

/* Hide default post meta if theme doesn't use it */
.tdr-single-post .entry-footer { display: none; }

/* Search form */
.search-form { display: flex; gap: 0; }
.search-field {
  flex: 1; padding: 10px 14px; border: 1px solid var(--tdr-rule); border-right: none;
  font-family: var(--tdr-sans); font-size: 13px; outline: none;
}
.search-field:focus { border-color: var(--tdr-gold); }
.search-submit {
  background: var(--tdr-navy); color: #fff; border: none;
  padding: 10px 20px; font-size: 12px; font-weight: 700; cursor: pointer;
  transition: background .15s;
}
.search-submit:hover { background: var(--tdr-gold); }

/* ══════════════════════════════════════════════════════════════════
   DISCOVERY BAR
   Slim sticky strip below the masthead — always-on entry point to
   Near Me and Open Now search.
   ══════════════════════════════════════════════════════════════════ */
.tdr-discovery-bar {
  position: sticky;
  top: var(--tdr-mast-h);
  z-index: 998;
  background: #141008;
  border-bottom: 1px solid rgba(201,165,81,.14);
  height: 46px;
  display: flex;
  align-items: center;
}
.tdr-discovery-inner {
  width: 100%;
  max-width: var(--tdr-max);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.tdr-discovery-form {
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 440px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(201,165,81,.18);
  border-radius: 4px;
  height: 30px;
  padding: 0 8px;
  gap: 6px;
  transition: border-color .15s;
}
.tdr-discovery-form:focus-within {
  border-color: rgba(201,165,81,.55);
  background: rgba(255,255,255,.10);
}
.tdr-discovery-search-icon {
  color: rgba(255,255,255,.3);
  flex-shrink: 0;
}
.tdr-discovery-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: var(--tdr-sans);
  font-size: 12px;
  color: rgba(255,255,255,.8);
  min-width: 0;
}
.tdr-discovery-input::placeholder { color: rgba(255,255,255,.3); }
.tdr-discovery-go {
  background: none;
  border: none;
  outline: none;
  font-family: var(--tdr-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tdr-gold);
  cursor: pointer;
  padding: 0 2px;
  flex-shrink: 0;
  transition: color .15s;
}
.tdr-discovery-go:hover { color: #fff; }
.tdr-discovery-shortcuts {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.tdr-discovery-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 28px;
  padding: 0 12px;
  border-radius: 14px;
  font-family: var(--tdr-sans);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.tdr-disc-near {
  background: rgba(201,165,81,.12);
  color: var(--tdr-gold);
  border: 1px solid rgba(201,165,81,.25);
}
.tdr-disc-near:hover {
  background: var(--tdr-gold);
  color: #111;
  border-color: var(--tdr-gold);
}
.tdr-disc-open {
  background: rgba(34,197,94,.10);
  color: #4ade80;
  border: 1px solid rgba(34,197,94,.22);
}
.tdr-disc-open:hover {
  background: rgba(34,197,94,.20);
  color: #86efac;
}
/* Shared pulsing dot (reused in hero) */
.tdr-disc-pulse {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  animation: tdrDiscPulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes tdrDiscPulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .55; transform: scale(1.35); }
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .tdr-discovery-inner { padding: 0 16px; }
  .tdr-discovery-form  { max-width: 300px; }
  .tdr-masthead-inner { padding: 0 20px; gap: 16px; }
  .tdr-nav-list li a  { padding: 22px 10px; letter-spacing: .08em; }
  .tdr-logo-tagline { display: none; }
  .tdr-article-title { font-size: 38px; }
  .tdr-article-hero-content { padding: 0 56px 40px; }
  .tdr-post-grid { grid-template-columns: repeat(2, 1fr); }
  .tdr-footer-inner { grid-template-columns: 1fr; gap: 20px; text-align: center; }
  .tdr-footer-legal { text-align: center; }
}

/* Hide discovery bar on the business directory page — it's redundant there */
.tdr-page-places .tdr-discovery-bar { display: none; }

@media (max-width: 768px) {
  .tdr-discovery-bar { height: auto; padding: 8px 0; }
  .tdr-discovery-inner { flex-wrap: wrap; gap: 8px; padding: 0 14px; }
  .tdr-discovery-form { max-width: 100%; flex: 1 1 100%; }
  .tdr-discovery-shortcuts { width: 100%; }
  .tdr-discovery-btn { flex: 1; justify-content: center; }
  .tdr-nav {
    display: none;
    position: fixed; inset: var(--tdr-mast-h) 0 0 0;
    background: var(--tdr-mast);
    flex-direction: column; justify-content: flex-start;
    padding: 24px 0;
    overflow-y: auto;
    z-index: 999;
  }
  .tdr-nav.is-open { display: flex; }
  .tdr-nav-list { flex-direction: column; width: 100%; gap: 0; }
  .tdr-nav-list li a { padding: 14px 24px; font-size: 12px; border-bottom: 1px solid rgba(255,255,255,.05); }
  .tdr-nav-list .sub-menu { display: block; position: static; border: none; border-top: none; background: rgba(255,255,255,.04); }
  .tdr-nav-toggle { display: flex; }
  /* Light-masthead mobile: the nav drawer stays dark, so revert link
     colours to the standard white-on-dark values for legibility.     */
  .tdr-masthead--light .tdr-nav {
    background: var(--tdr-mast);
  }
  .tdr-masthead--light .tdr-nav-list li a {
    color: rgba(255,255,255,.6);
    border-bottom-color: rgba(255,255,255,.05);
  }
  .tdr-masthead--light .tdr-nav-list li a:hover,
  .tdr-masthead--light .tdr-nav-list li.current-menu-item > a,
  .tdr-masthead--light .tdr-nav-list li.current-page-ancestor > a {
    color: var(--tdr-gold);
  }
  .tdr-masthead--light .tdr-nav-list .sub-menu > li {
    background: rgba(255,255,255,.04);
  }
  .tdr-masthead--light .tdr-nav-list .sub-menu li a {
    color: rgba(255,255,255,.6);
    border-bottom-color: rgba(255,255,255,.05);
  }
  .tdr-logo-tagline { display: none; }
  .tdr-auth-links .tdr-signin-link { display: none; }
  .tdr-article-hero { height: 360px; }
  .tdr-article-title { font-size: 28px; }
  .tdr-article-hero-content { padding: 0 24px 28px; }
  .tdr-article-hero-scrim::before { display: none; }
  .tdr-article-body { padding: 28px 20px 60px; }
  .tdr-post-grid { grid-template-columns: 1fr; }
  .tdr-article-related-grid { grid-template-columns: 1fr; }
  .tdr-archive-wrap { padding: 32px 20px 60px; }
}

@media (max-width: 480px) {
  /* Constrain the override logo tighter on small phones so it never
     overflows the masthead or pushes the nav hamburger off screen.
     Covers 480 px down through iPhone SE (375 px) and below.        */
  .tdr-logo-override {
    max-height: 32px;
    max-width: 120px;
  }
  .tdr-footer-logo-override {
    max-height: 28px;
    max-width: 110px;
  }
  .tdr-auth-logo-override {
    max-height: 40px;
    max-width: 160px;
  }
}

@media (max-width: 375px) {
  /* iPhone SE and equivalent — tighten the override logo so a very
     wide banner image still leaves room for the hamburger button.
     Tall / square logos are already capped by max-height and render
     without overflow because the masthead has no overflow:hidden.    */
  .tdr-logo-override {
    max-height: 30px;
    max-width: 110px;
  }
  .tdr-footer-logo-override {
    max-height: 26px;
    max-width: 100px;
  }
  .tdr-auth-logo-override {
    max-height: 38px;
    max-width: 150px;
  }
}

@media (max-width: 320px) {
  /* Smallest common viewport — keep the override logo proportional
     so object-fit:contain never needs to distort the image.         */
  .tdr-logo-override {
    max-height: 28px;
    max-width: 96px;
  }
  .tdr-footer-logo-override {
    max-height: 24px;
    max-width: 88px;
  }
  .tdr-auth-logo-override {
    max-height: 36px;
    max-width: 136px;
  }
}
