/* EDC Website Main Stylesheet
   Deep Medical Noir design system.
*/

:root {
  color-scheme: dark;
  --edc-bg: #050a15;
  --edc-text: rgba(241, 245, 249, 0.95);
  --edc-text-bright: rgba(241, 245, 249, 0.92);
  --edc-muted: rgba(148, 163, 184, 0.95);
  --edc-accent-from: #22d3ee;
  --edc-accent-to: #6366f1;
  --edc-glass-bg: rgba(15, 23, 42, 0.6);
  --edc-glass-border: rgba(255, 255, 255, 0.1);
  --edc-glass-blur: 12px;

  --edc-body-bg: #020617;
  --edc-body-gradient: radial-gradient(circle at top, #1e293b 0%, #020617 55%, #020617 100%);
  /* Matches critical inline CSS in includes/header.php (first paint) */
  --edc-body-gradient-critical: radial-gradient(ellipse at top, #0f172a 0%, #050a15 55%, #000 100%);

  --edc-border-subtle: rgba(255, 255, 255, 0.1);
  --edc-border-faint: rgba(255, 255, 255, 0.08);
  --edc-border-soft: rgba(255, 255, 255, 0.07);
  --edc-border-medium: rgba(255, 255, 255, 0.15);
  --edc-border-strong: rgba(255, 255, 255, 0.2);
  --edc-slate-line: rgba(148, 163, 184, 0.16);
  --edc-slate-border: rgba(148, 163, 184, 0.26);
  --edc-slate-line-soft: rgba(148, 163, 184, 0.18);

  --edc-white-02: rgba(255, 255, 255, 0.02);
  --edc-white-03: rgba(255, 255, 255, 0.03);
  --edc-white-04: rgba(255, 255, 255, 0.04);
  --edc-white-05: rgba(255, 255, 255, 0.05);
  --edc-white-06: rgba(255, 255, 255, 0.06);
  --edc-white-07: rgba(255, 255, 255, 0.07);
  --edc-white-08: rgba(255, 255, 255, 0.08);
  --edc-white-09: rgba(255, 255, 255, 0.09);
  --edc-white-10: rgba(255, 255, 255, 0.1);
  --edc-white-12: rgba(255, 255, 255, 0.12);
  --edc-white-15: rgba(255, 255, 255, 0.15);
  --edc-white-16: rgba(255, 255, 255, 0.16);
  --edc-white-20: rgba(255, 255, 255, 0.2);
  --edc-white-45: rgba(255, 255, 255, 0.45);

  --edc-void-720: rgba(2, 6, 23, 0.72);
  --edc-void-650: rgba(2, 6, 23, 0.65);
  --edc-void-480: rgba(2, 6, 23, 0.48);
  --edc-void-420: rgba(2, 6, 23, 0.42);
  --edc-void-450: rgba(2, 6, 23, 0.45);
  --edc-void-350: rgba(2, 8, 23, 0.35);

  --edc-guest-fade-0: rgba(5, 10, 21, 0);
  --edc-guest-fade-mid: rgba(5, 10, 21, 0.92);
  --edc-guest-fade-full: rgba(5, 10, 21, 1);
  --edc-fog-veil-0: rgba(6, 9, 15, 0);
  --edc-fog-veil-mid: rgba(6, 9, 15, 0.55);
  --edc-fog-veil-full: rgba(6, 9, 15, 0.97);

  --edc-auth-card-bg: rgba(15, 23, 42, 0.55);
  --edc-auth-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  --edc-auth-logo-shadow: 0 14px 52px rgba(0, 0, 0, 0.6);
  --edc-auth-glow: radial-gradient(circle at 30% 30%, rgba(34, 211, 238, 0.18), rgba(99, 102, 241, 0.08), transparent 70%);
  --edc-accent-ring: rgba(34, 211, 238, 0.5);
  --edc-accent-glow-soft: rgba(34, 211, 238, 0.08);

  --edc-shadow-600: rgba(0, 0, 0, 0.6);
  --edc-shadow-700: rgba(0, 0, 0, 0.7);
  --edc-shadow-lift: rgba(0, 0, 0, 0.7);
  --edc-inset-highlight: rgba(255, 255, 255, 0.04);
  --edc-inset-highlight-strong: rgba(255, 255, 255, 0.06);

  --edc-drawer-bg: rgba(15, 23, 42, 0.94);
  --edc-drawer-border: rgba(255, 255, 255, 0.09);
  --edc-drawer-shadow: -16px 0 48px rgba(0, 0, 0, 0.55);

  --edc-input-bg: #0f172a;
  --edc-option-bg: #1a2235;
  --edc-option-text: #ffffff;

  --edc-text-cta: #020617;
  --edc-hero-h1: #f1f5f9;
  --edc-hero-p: rgba(255, 255, 255, 0.75);
  --edc-hero-title-grad: linear-gradient(to bottom, #fff 0%, #e2e8f0 45%, #64748b 100%);
  --edc-eyebrow-accent: rgba(34, 211, 238, 0.8);

  --edc-thread-bg: rgba(15, 23, 42, 0.6);
  --edc-thread-border-weak: rgba(255, 255, 255, 0.05);
  --edc-thread-hover: rgba(15, 23, 42, 0.78);
  --edc-cyan-edge: #06b6d4;

  --edc-meta-badge-bg: #1e293b;
  --edc-meta-badge-fg: #cbd5e1;
  --edc-meta-badge-border: rgba(255, 255, 255, 0.08);

  --edc-kinetic-drop: rgba(99, 102, 241, 0.25);
  --edc-authority-fg: #e2e8f0;

  --edc-founder-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.03) 100%);
  --edc-danger-hover-bg: rgba(248, 113, 113, 0.08);
  --edc-danger-hover-border: rgba(248, 113, 113, 0.2);
  --edc-danger-hover-text: #fecaca;

  --edc-directory-panel-bg: rgba(15, 23, 42, 0.45);
  --edc-directory-panel-shadow: 0 12px 40px rgba(2, 8, 23, 0.35);
  --edc-focus-cyan: rgba(34, 211, 238, 0.35);
  --edc-focus-cyan-ring: rgba(34, 211, 238, 0.12);
  --edc-focus-cyan-inset: rgba(34, 211, 238, 0.45);

  --edc-dentist-card-shine: radial-gradient(140% 120% at 0% 0%, rgba(34, 211, 238, 0.08), rgba(34, 211, 238, 0));
  --edc-dentist-card-base: linear-gradient(165deg, rgba(15, 23, 42, 0.8), rgba(17, 24, 39, 0.76));
  --edc-dentist-card-rim: rgba(255, 255, 255, 0.07);
  --edc-dentist-card-shadow: 0 16px 34px rgba(2, 6, 23, 0.42);
  --edc-dentist-card-shadow-hover: 0 20px 38px rgba(2, 6, 23, 0.48);
  --edc-dentist-avatar-inner: rgba(15, 23, 42, 0.35);
  --edc-dentist-external-border: rgba(34, 211, 238, 0.38);
  --edc-dentist-external-bg: radial-gradient(130% 150% at 100% 0%, rgba(34, 211, 238, 0.16), rgba(34, 211, 238, 0)), linear-gradient(165deg, rgba(11, 17, 36, 0.9), rgba(12, 22, 44, 0.85));
  --edc-gold-line: rgba(251, 191, 36, 0.28);
  --edc-gold-fill: rgba(251, 191, 36, 0.08);
  --edc-clinic-fg: rgba(240, 249, 255, 0.92);
  --edc-address-fg: rgba(226, 232, 240, 0.7);
  --edc-spine-grad: linear-gradient(180deg, rgba(34, 211, 238, 1), rgba(99, 102, 241, 0.72));

  /* Theme toggle (header) */
  --edc-theme-toggle-fg: rgba(226, 232, 240, 0.95);
  --edc-theme-toggle-border: var(--edc-border-subtle);
  --edc-theme-toggle-bg: var(--edc-white-06);

  /* Utility remap targets (light theme fills these in Phase 3) */
  --edc-util-text-on-surface: #0f172a;
  --edc-util-text-muted: #475569;
  --edc-util-text-subtle: #64748b;
  --edc-live-feed-badge-fg: #94a3b8;
  --edc-live-feed-badge-bg: rgba(30, 41, 59, 0.95);
  --edc-live-feed-topic: rgba(103, 232, 249, 0.92);
  --edc-live-feed-when: rgba(255, 255, 255, 0.38);
  --edc-live-feed-lock-fg: rgba(103, 232, 249, 0.8);
  --edc-live-feed-sharp: rgba(248, 250, 252, 0.92);
  --edc-live-feed-fog-text: rgba(226, 232, 240, 0.9);
  --edc-founder-link: #67e8f9;
  --edc-founder-link-border: rgba(255, 255, 255, 0.12);
  --edc-icon-hover-fg: #fff;
  --edc-drawer-link-hover-fg: #fff;
  --edc-verified-check: #f8fafc;

  --edc-header-logout-fg: #fff;
  --edc-header-logout-border: rgba(255, 255, 255, 0.15);
  --edc-post-article-shadow: 0 24px 80px rgba(2, 6, 23, 0.45);

  --edc-community-surface-1: rgba(14, 22, 45, 0.82);
  --edc-community-surface-2: rgba(10, 16, 33, 0.9);
  --edc-community-surface-3: rgba(255, 255, 255, 0.04);

  --edc-footer-bg: #020617;
  --edc-footer-border: rgba(34, 211, 238, 0.9);
  --edc-footer-text: #cbd5e1;
  --edc-footer-muted: #94a3b8;
  --edc-footer-heading: #e2e8f0;
  --edc-footer-icon-bg: rgba(15, 23, 42, 0.8);
  --edc-footer-focus-ring: #020617;
}

html[data-theme="light"] {
  color-scheme: light;
  --edc-bg: #f1f5f9;
  --edc-text: rgba(15, 23, 42, 0.94);
  --edc-text-bright: rgba(15, 23, 42, 0.92);
  --edc-muted: rgba(71, 85, 105, 0.92);
  --edc-glass-bg: color-mix(in srgb, #ffffff 78%, rgba(148, 163, 184, 0.12));
  --edc-glass-border: rgba(15, 23, 42, 0.1);

  --edc-body-bg: #f8fafc;
  /* Solid: any vertical gradient + wide card shadows was still reading as gray “rails” in gutters on some displays. */
  --edc-body-gradient: none;
  --edc-body-gradient-critical: none;

  --edc-border-subtle: rgba(15, 23, 42, 0.12);
  --edc-border-faint: rgba(15, 23, 42, 0.08);
  --edc-border-soft: rgba(15, 23, 42, 0.07);
  --edc-border-medium: rgba(15, 23, 42, 0.15);
  --edc-border-strong: rgba(15, 23, 42, 0.22);
  --edc-slate-line: rgba(51, 65, 85, 0.2);
  --edc-slate-border: rgba(51, 65, 85, 0.28);
  --edc-slate-line-soft: rgba(51, 65, 85, 0.22);

  --edc-white-02: rgba(15, 23, 42, 0.04);
  --edc-white-03: rgba(15, 23, 42, 0.05);
  --edc-white-04: rgba(15, 23, 42, 0.055);
  --edc-white-05: rgba(15, 23, 42, 0.06);
  --edc-white-06: rgba(15, 23, 42, 0.07);
  --edc-white-07: rgba(15, 23, 42, 0.08);
  --edc-white-08: rgba(15, 23, 42, 0.1);
  --edc-white-09: rgba(15, 23, 42, 0.1);
  --edc-white-10: rgba(15, 23, 42, 0.12);
  --edc-white-12: rgba(15, 23, 42, 0.14);
  --edc-white-15: rgba(15, 23, 42, 0.16);
  --edc-white-16: rgba(15, 23, 42, 0.18);
  --edc-white-20: rgba(15, 23, 42, 0.22);
  --edc-white-45: rgba(15, 23, 42, 0.45);

  --edc-void-720: rgba(248, 250, 252, 0.92);
  --edc-void-650: rgba(15, 23, 42, 0.14);
  --edc-void-480: rgba(15, 23, 42, 0.12);
  --edc-void-420: rgba(15, 23, 42, 0.1);
  --edc-void-450: rgba(15, 23, 42, 0.08);
  --edc-void-350: rgba(15, 23, 42, 0.1);

  --edc-guest-fade-0: rgba(248, 250, 252, 0);
  --edc-guest-fade-mid: rgba(248, 250, 252, 0.94);
  --edc-guest-fade-full: #f8fafc;
  --edc-fog-veil-0: rgba(248, 250, 252, 0);
  --edc-fog-veil-mid: rgba(241, 245, 249, 0.75);
  --edc-fog-veil-full: rgba(248, 250, 252, 0.98);

  --edc-auth-card-bg: color-mix(in srgb, #ffffff 88%, rgba(15, 23, 42, 0.04));
  --edc-auth-shadow: 0 24px 80px rgba(15, 23, 42, 0.12);
  --edc-auth-logo-shadow: 0 14px 52px rgba(15, 23, 42, 0.12);
  --edc-accent-ring: rgba(8, 145, 178, 0.45);
  --edc-accent-glow-soft: rgba(8, 145, 178, 0.1);

  --edc-shadow-600: rgba(15, 23, 42, 0.14);
  --edc-shadow-700: rgba(15, 23, 42, 0.18);
  --edc-shadow-lift: rgba(15, 23, 42, 0.16);
  --edc-inset-highlight: rgba(255, 255, 255, 0.45);
  --edc-inset-highlight-strong: rgba(255, 255, 255, 0.55);

  --edc-drawer-bg: color-mix(in srgb, #ffffff 92%, rgba(15, 23, 42, 0.06));
  --edc-drawer-border: rgba(15, 23, 42, 0.1);
  --edc-drawer-shadow: -16px 0 48px rgba(15, 23, 42, 0.12);

  --edc-input-bg: #f1f5f9;
  --edc-option-bg: #e2e8f0;
  --edc-option-text: #0f172a;
  --edc-text-cta: #020617;
  --edc-hero-h1: #0f172a;
  --edc-hero-p: rgba(51, 65, 85, 0.88);
  --edc-hero-title-grad: linear-gradient(to bottom, #0f172a 0%, #334155 45%, #64748b 100%);
  --edc-eyebrow-accent: rgba(8, 145, 178, 0.95);

  --edc-thread-bg: color-mix(in srgb, #ffffff 75%, rgba(15, 23, 42, 0.06));
  --edc-thread-border-weak: rgba(15, 23, 42, 0.08);
  --edc-thread-hover: color-mix(in srgb, #ffffff 82%, rgba(15, 23, 42, 0.08));

  --edc-meta-badge-bg: #e2e8f0;
  --edc-meta-badge-fg: #475569;
  --edc-meta-badge-border: rgba(15, 23, 42, 0.12);

  --edc-kinetic-drop: rgba(99, 102, 241, 0.2);
  --edc-authority-fg: #1e293b;

  --edc-founder-surface: linear-gradient(145deg, rgba(15, 23, 42, 0.06) 0%, rgba(15, 23, 42, 0.03) 100%);

  --edc-directory-panel-bg: color-mix(in srgb, #ffffff 85%, rgba(148, 163, 184, 0.15));
  --edc-directory-panel-shadow: 0 12px 40px rgba(15, 23, 42, 0.1);
  --edc-focus-cyan: rgba(8, 145, 178, 0.45);
  --edc-focus-cyan-ring: rgba(8, 145, 178, 0.15);
  --edc-focus-cyan-inset: rgba(8, 145, 178, 0.4);

  /* Top-right highlight only: left-edge shine + spine glow read as a “double card” on light surfaces */
  --edc-dentist-card-shine: radial-gradient(125% 110% at 92% 0%, rgba(34, 211, 238, 0.09), rgba(34, 211, 238, 0));
  --edc-dentist-card-base: linear-gradient(165deg, color-mix(in srgb, #ffffff 92%, rgba(15, 23, 42, 0.05)), rgba(241, 245, 249, 0.95));
  --edc-dentist-card-rim: rgba(15, 23, 42, 0.08);
  --edc-dentist-card-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
  --edc-dentist-card-shadow-hover: 0 20px 38px rgba(15, 23, 42, 0.14);
  --edc-dentist-avatar-inner: rgba(15, 23, 42, 0.08);
  --edc-dentist-external-bg: radial-gradient(130% 150% at 100% 0%, rgba(34, 211, 238, 0.14), rgba(34, 211, 238, 0)), linear-gradient(165deg, rgba(240, 253, 250, 0.95), rgba(224, 231, 255, 0.92));
  --edc-clinic-fg: rgba(15, 23, 42, 0.92);
  --edc-address-fg: rgba(51, 65, 85, 0.85);

  --edc-theme-toggle-fg: rgba(15, 23, 42, 0.9);
  --edc-theme-toggle-border: var(--edc-border-subtle);
  --edc-theme-toggle-bg: rgba(15, 23, 42, 0.06);

  --edc-live-feed-badge-fg: #64748b;
  --edc-live-feed-badge-bg: #e2e8f0;
  --edc-live-feed-topic: rgba(8, 145, 178, 0.95);
  --edc-live-feed-when: rgba(15, 23, 42, 0.48);
  --edc-live-feed-lock-fg: rgba(8, 145, 178, 0.9);
  --edc-live-feed-sharp: rgba(15, 23, 42, 0.92);
  --edc-live-feed-fog-text: rgba(51, 65, 85, 0.75);
  --edc-founder-link: #0e7490;
  --edc-founder-link-border: rgba(15, 23, 42, 0.14);
  --edc-icon-hover-fg: #0f172a;
  --edc-drawer-link-hover-fg: #0f172a;
  --edc-verified-check: #f8fafc;

  --edc-header-logout-fg: #0f172a;
  --edc-header-logout-border: rgba(15, 23, 42, 0.2);
  --edc-post-article-shadow: 0 24px 80px rgba(15, 23, 42, 0.1);

  --edc-community-surface-1: color-mix(in srgb, #ffffff 90%, rgba(15, 23, 42, 0.04));
  --edc-community-surface-2: color-mix(in srgb, #f8fafc 95%, rgba(15, 23, 42, 0.05));
  --edc-community-surface-3: rgba(15, 23, 42, 0.05);

  --edc-footer-bg: #f1f5f9;
  --edc-footer-border: rgba(8, 145, 178, 0.55);
  --edc-footer-text: #475569;
  --edc-footer-muted: #64748b;
  --edc-footer-heading: #0f172a;
  --edc-footer-icon-bg: rgba(255, 255, 255, 0.9);
  --edc-footer-focus-ring: #f8fafc;
}

html {
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
  /* Match body so canvas margins / overscroll never flash a different base (can read as side “rails”). */
  background-color: var(--edc-body-bg);
}

/* Global reset: keep borders consistent in Noir UI */
* {
  border-color: var(--edc-border-subtle);
}

body {
  background-color: var(--edc-body-bg);
  background-image: var(--edc-body-gradient);
  color: var(--edc-text);
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── Auth UI helpers (do not rely on Tailwind runtime) ─────────────────── */
.edc-auth-page {
  background-image: var(--edc-body-gradient);
}

.edc-auth-card {
  max-width: 28rem; /* ~max-w-md */
  margin: 5rem auto 0;
  padding: 2rem;
  border-radius: 1.5rem; /* rounded-3xl */
  background: var(--edc-auth-card-bg);
  border: 1px solid var(--edc-border-subtle);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: var(--edc-auth-shadow);
  position: relative;
  overflow: hidden;
}

.edc-auth-card::before {
  content: "";
  position: absolute;
  top: -140px;
  right: -120px;
  width: 320px;
  height: 320px;
  border-radius: 9999px;
  background: var(--edc-auth-glow);
  filter: blur(18px);
  pointer-events: none;
}

.edc-auth-logo-wrap {
  margin-top: -10px;
}

.edc-auth-logo {
  width: clamp(92px, 14vw, 132px);
  height: clamp(92px, 14vw, 132px);
  border-radius: 1.5rem;
  box-shadow: var(--edc-auth-logo-shadow);
  border: 1px solid var(--edc-white-08);
  background: var(--edc-white-02);
}

.edc-auth-field {
  width: 100%;
  background: var(--edc-white-05);
  border: 1px solid var(--edc-border-subtle);
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  color: var(--edc-text);
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.edc-auth-field::placeholder {
  color: rgba(148, 163, 184, 0.8);
}

.edc-auth-field:focus {
  border-color: var(--edc-accent-ring);
  box-shadow: 0 0 0 6px var(--edc-accent-glow-soft);
}

.edc-auth-label > span {
  display: block;
  margin-bottom: 0.45rem;
}

.edc-auth-form {
  display: grid;
  gap: 14px;
  margin-top: 1.75rem;
}

.edc-auth-card .edc-auth-form {
  margin-top: 1.75rem;
}

.edc-auth-help {
  margin-top: 0.5rem;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(148, 163, 184, 0.9);
}

.edc-auth-help--muted {
  color: rgba(148, 163, 184, 0.75);
}

.edc-auth-btn {
  width: 100%;
  min-height: 48px;
  border-radius: 1rem;
  background: linear-gradient(135deg, #22d3ee, #2563eb);
  color: var(--edc-text-cta);
  font-weight: 800;
  letter-spacing: 0.06em;
  transition: transform 140ms ease, box-shadow 200ms ease, filter 200ms ease;
  box-shadow: 0 18px 45px rgba(37, 99, 235, 0.18);
}

.edc-auth-btn:hover {
  box-shadow: 0 0 30px rgba(34, 211, 238, 0.28), 0 18px 45px rgba(37, 99, 235, 0.22);
  filter: saturate(1.05);
}

.edc-auth-btn:active {
  transform: scale(0.98);
}

.edc-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.edc-dropzone {
  border: 2px dashed rgba(255, 255, 255, 0.12);
  border-radius: 0.75rem;
  padding: 1rem;
  text-align: center;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.04);
  transition: border-color 160ms ease, background-color 160ms ease;
}

.edc-dropzone:hover {
  border-color: rgba(34, 211, 238, 0.3);
  background: rgba(255, 255, 255, 0.06);
}

.edc-dropzone__hint {
  color: rgba(148, 163, 184, 0.75);
  font-size: 12px;
  margin-top: 4px;
}

.edc-strength {
  margin-top: 8px;
}

.edc-strength__track {
  height: 8px;
  width: 100%;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.edc-strength__bar {
  height: 100%;
  width: 0%;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.12);
  transition: width 160ms ease, background 200ms ease;
}

a {
  text-decoration: none !important;
  color: inherit;
}

.hero-title {
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.edc-hero-title-main {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.05em;
  background-image: var(--edc-hero-title-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media (min-width: 768px) {
  .edc-hero-title-main {
    font-size: 4.5rem;
  }
}

/* ─── Eyebrow label — section sub-titles ─────────────────────────────────── */
.edc-eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--edc-eyebrow-accent);
  margin-bottom: 0.75rem;
  display: block;
}

/* ─── Clinical background watermark — pure CSS, zero layout impact ──────── */
/* Legacy img tags are hidden; watermark lives in ::after pseudo-elements    */
.dental-watermark,
.dental-texture,
.dental-watermark--card {
  display: none !important;
}

/* Shared pseudo-element watermark base */
.edc-hero-section::after,
.edc-tooth-bg::after {
  content: '';
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  bottom: -60px;
  right: -50px;
  width: 240px;
  height: 240px;
  background-image: url('/assets/images/dental-tooth-watermark.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0.055;
  filter: brightness(0) invert(1);
}

@media (min-width: 768px) {
  .edc-hero-section::after,
  .edc-tooth-bg::after {
    width: 400px;
    height: 400px;
    bottom: -80px;
    right: -60px;
    opacity: 0.035;
  }
}

.btn-primary,
.edc-btn-primary {
  background: linear-gradient(90deg, #22d3ee, #6366f1);
  color: var(--edc-text-cta);
  font-weight: 700;
  transition: all 0.25s ease;
  box-shadow: 0 0 20px rgba(34, 211, 238, 0.3), 0 4px 15px rgba(0, 0, 0, 0.4);
}

.btn-primary:hover,
.edc-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 35px rgba(34, 211, 238, 0.5), 0 8px 24px rgba(0, 0, 0, 0.5);
}

.edc-glow-button {
  box-shadow: 0 0 20px rgba(34, 211, 238, 0.3), 0 4px 15px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
}

.edc-glow-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 35px rgba(34, 211, 238, 0.55), 0 10px 28px rgba(0, 0, 0, 0.5);
}

.thread-card-item {
  background: var(--edc-thread-bg);
  border: 1px solid var(--edc-thread-border-weak);
  border-radius: 12px;
}

.edc-thread-row {
  border-left: 4px solid transparent;
  transition: border-color 0.25s ease, transform 0.25s ease, background-color 0.25s ease;
}

.edc-thread-row:hover {
  border-left-color: var(--edc-cyan-edge);
  background-color: var(--edc-thread-hover);
  transform: translateX(2px);
}

.edc-meta-badge {
  background: var(--edc-meta-badge-bg);
  color: var(--edc-meta-badge-fg);
  padding: 2px 8px;
  border-radius: 0.375rem;
  font-size: 10px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  border: 1px solid var(--edc-meta-badge-border);
}

.from-cyan-500 {
  --tw-gradient-from: #06b6d4;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(6, 182, 212, 0));
}

.to-blue-600 {
  --tw-gradient-to: #2563eb;
}

/* Nav brand: fixed logo height, natural width — keeps bar alignment stable */
.edc-header-brand {
  align-items: center;
}

.edc-header-brand img {
  height: 3rem;
  width: auto;
  max-height: 3rem;
  object-fit: contain;
  vertical-align: middle;
  display: block;
}

.edc-mobile-menu-toggle {
  flex-shrink: 0;
  border: 1px solid var(--edc-theme-toggle-border);
  background: var(--edc-theme-toggle-bg);
  color: var(--edc-theme-toggle-fg);
}

.edc-mobile-menu-toggle:hover {
  background: var(--edc-white-10);
  border-color: var(--edc-white-16);
  color: var(--edc-icon-hover-fg);
}

/* Theme control — matches mobile menu chrome for a cohesive header row */
.edc-theme-toggle {
  flex-shrink: 0;
  border: 1px solid var(--edc-theme-toggle-border);
  background: var(--edc-theme-toggle-bg);
  color: var(--edc-theme-toggle-fg);
  cursor: pointer;
}
.edc-theme-toggle:hover {
  background: var(--edc-white-10);
  border-color: var(--edc-white-16);
  color: var(--edc-icon-hover-fg);
}

.edc-mobile-drawer-close {
  border: 1px solid var(--edc-border-subtle);
  background: var(--edc-white-05);
  color: rgba(203, 213, 225, 0.95);
}

.edc-mobile-drawer-close:hover {
  background: var(--edc-white-10);
  color: var(--edc-icon-hover-fg);
}

/* Navigation drawer (all viewports — shared by mobile + desktop menu) */
.edc-mobile-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  margin: 0;
  background: var(--edc-void-650);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.edc-mobile-drawer-backdrop.hidden {
  display: none !important;
}

.edc-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: min(19.5rem, calc(100vw - 2.5rem));
  margin: 0;
  border-radius: 1rem 0 0 1rem;
  border: 1px solid var(--edc-drawer-border);
  border-right: none;
  background: var(--edc-drawer-bg);
  box-shadow: var(--edc-drawer-shadow);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transform: translate3d(105%, 0, 0);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  overflow: hidden;
  flex-direction: column;
  outline: none;
}

.edc-mobile-drawer.hidden {
  display: none !important;
}

.edc-mobile-drawer:not(.hidden) {
  display: flex;
}

.edc-mobile-drawer.is-open {
  transform: translate3d(0, 0, 0);
}

.edc-mobile-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 1rem 1rem 0.875rem 1.125rem;
  border-bottom: 1px solid var(--edc-border-faint);
}

.edc-mobile-drawer-links {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.75rem 0.75rem 1.125rem;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.edc-mobile-drawer-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  border-radius: 0.75rem;
  border: 1px solid transparent;
  padding: 0.625rem 0.875rem;
  color: var(--edc-text-bright);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: var(--edc-white-03);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.edc-mobile-drawer-link:hover {
  background: var(--edc-white-07);
  border-color: var(--edc-border-faint);
  color: var(--edc-drawer-link-hover-fg);
}

.edc-mobile-drawer-link.edc-mobile-drawer-link--muted {
  margin-top: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--edc-white-07);
  background: transparent;
}

.edc-mobile-drawer-link.edc-mobile-drawer-link--muted:hover {
  background: var(--edc-danger-hover-bg);
  border-color: var(--edc-danger-hover-border);
  color: var(--edc-danger-hover-text);
}

.edc-drawer-link-icon {
  flex-shrink: 0;
  color: #22d3ee;
  opacity: 0.92;
}

.edc-mobile-drawer-link--muted .edc-drawer-link-icon {
  color: #fca5a5;
}

body.edc-mobile-drawer-open {
  overflow: hidden;
}

/* LCP / CLS: reserve hero block height on small viewports before fonts & images paint */
.edc-hero-section {
  min-height: 22rem;
}

@media (min-width: 768px) {
  .edc-hero-section {
    min-height: 0;
  }
}

.edc-hero-logo {
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.38))
    drop-shadow(0 1px 3px rgba(0, 0, 0, 0.22));
}

.edc-hero-logo-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
}

.edc-hero-logo-frame picture,
.edc-hero-logo-frame img {
  display: block;
  max-height: 100%;
  max-width: 100%;
}

/* Prevent accidental "pure white" form surfaces unless explicitly set */
button,
input,
select,
textarea {
  background-color: transparent;
}

input,
select,
textarea {
  background-color: var(--edc-input-bg);
  color: var(--edc-text);
  border: 1px solid var(--edc-border-subtle);
}

select option {
  background-color: var(--edc-option-bg);
  color: var(--edc-option-text);
}

/* Kinetic typography (hero title) */
.edc-kinetic-title {
  position: relative;
  display: inline-block;
  font-weight: 700;
  letter-spacing: -0.04em;
  background-image: linear-gradient(
    90deg,
    var(--edc-accent-from),
    var(--edc-accent-to),
    var(--edc-accent-from)
  );
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: edcKineticGradient 5.5s linear infinite;
  filter: drop-shadow(0 10px 25px var(--edc-kinetic-drop));
}

/* Authority variant: solid slate text for maximum readability. */
.edc-kinetic-title--authority {
  background-image: none !important;
  color: var(--edc-authority-fg) !important;
  -webkit-text-fill-color: var(--edc-authority-fg) !important;
  animation: none !important;
  filter: none !important;
}

@keyframes edcKineticGradient {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 200% 0%;
  }
}

/* Glass surfaces */
.edc-glass {
  background: var(--edc-glass-bg);
  border: 1px solid var(--edc-glass-border);
  backdrop-filter: blur(var(--edc-glass-blur));
  -webkit-backdrop-filter: blur(var(--edc-glass-blur));
}

.edc-card {
  background: var(--edc-glass-bg);
  border: 1px solid var(--edc-glass-border);
  border-radius: 1rem;
  padding: 1.5rem;
  backdrop-filter: blur(var(--edc-glass-blur));
  -webkit-backdrop-filter: blur(var(--edc-glass-blur));
  box-shadow: 0 25px 50px -12px var(--edc-shadow-600), inset 0 1px 0 var(--edc-inset-highlight);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.edc-site-header {
  z-index: 999 !important;
}

.edc-header-profile-card,
.profile-card {
  position: relative;
  z-index: 900;
}

.edc-card:hover {
  border-color: var(--edc-border-strong);
  box-shadow: 0 30px 60px -12px var(--edc-shadow-lift), inset 0 1px 0 var(--edc-inset-highlight-strong);
}

/* Internal thread rows inside a card */
.edc-thread-item {
  border-bottom: 1px solid var(--edc-thread-border-weak);
  padding: 0.875rem 0;
  transition: background-color 0.2s ease;
  border-radius: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.edc-thread-item:last-child {
  border-bottom: none;
}

.edc-thread-item:hover {
  background-color: var(--edc-white-04);
}

/* Guest landing — latest discussions: 100-word excerpt + CTA + blurred tail */
.edc-live-feed__item {
  border-bottom: 1px solid var(--edc-white-06);
}

.edc-live-feed__item:last-child {
  border-bottom: none;
}

.edc-live-feed__card {
  display: block;
  padding: 1.125rem 1rem 1.25rem;
  text-decoration: none !important;
  color: inherit;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
  outline: none;
}

@media (min-width: 640px) {
  .edc-live-feed__card {
    padding: 1.35rem 1.5rem 1.5rem;
  }
}

.edc-live-feed__card:hover {
  background-color: var(--edc-white-03);
}

.edc-live-feed__card:focus-visible {
  box-shadow: inset 0 0 0 2px var(--edc-focus-cyan-inset);
}

.edc-live-feed__head {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.edc-live-feed__topic {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--edc-live-feed-topic);
  line-height: 1.45;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.edc-live-feed__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.edc-live-feed__badge {
  flex-shrink: 0;
  background: var(--edc-live-feed-badge-bg);
  color: var(--edc-live-feed-badge-fg);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.28rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid var(--edc-meta-badge-border);
}

.edc-live-feed__when {
  font-size: 0.6875rem;
  color: var(--edc-live-feed-when);
}

.edc-live-feed__lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-left: auto;
  border-radius: 0.65rem;
  border: 1px solid rgba(34, 211, 238, 0.22);
  background: rgba(34, 211, 238, 0.06);
  color: var(--edc-live-feed-lock-fg);
}

.edc-live-feed__lock-svg {
  width: 0.875rem;
  height: 0.875rem;
}

.edc-live-feed__body {
  margin-top: 0.85rem;
}

.edc-live-feed__sharp {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  font-weight: 400;
  color: var(--edc-live-feed-sharp);
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* CTA sits between sharp excerpt and blurred continuation */
.edc-live-feed__gate {
  display: flex;
  justify-content: center;
  padding: 0.85rem 0.25rem 0.5rem;
  position: relative;
  z-index: 2;
}

.edc-live-feed__gate--solo {
  padding-top: 1rem;
}

.edc-live-feed__gate-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  max-width: 100%;
  padding: 0.55rem 1.1rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
  color: #0f172a;
  background: linear-gradient(135deg, #22d3ee 0%, #38bdf8 45%, #2563eb 100%);
  border: 1px solid rgba(165, 243, 252, 0.35);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.2),
    0 4px 20px rgba(34, 211, 238, 0.22),
    0 12px 40px rgba(0, 0, 0, 0.35);
}

.edc-live-feed__gate-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  stroke: #0f172a;
}

.edc-live-feed__fog {
  position: relative;
  margin-top: 0.15rem;
  max-height: 5.25rem;
  overflow: hidden;
  border-radius: 0 0 0.5rem 0.5rem;
}

.edc-live-feed__fog-text {
  margin: 0;
  padding: 0.15rem 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--edc-live-feed-fog-text);
  filter: blur(5px);
  opacity: 0.38;
  user-select: none;
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
}

.edc-live-feed__fog-veil {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3.25rem;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    var(--edc-fog-veil-0) 0%,
    var(--edc-fog-veil-mid) 50%,
    var(--edc-fog-veil-full) 100%
  );
}

.edc-live-feed__card:hover .edc-live-feed__gate-label {
  filter: brightness(1.06);
}

/* ─── Founder card — premium profile card ─────────────────────────────────── */
.edc-founder-card {
  background: var(--edc-founder-surface);
  border: 1px solid var(--edc-border-subtle);
  border-radius: 1.25rem;
  overflow: hidden;
  position: relative;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem;
}

/* Gradient accent top line */
.edc-founder-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #22d3ee 0%, #6366f1 100%);
  opacity: 0.8;
}

.edc-founder-card:hover {
  border-color: rgba(34, 211, 238, 0.25);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), 0 0 20px rgba(34, 211, 238, 0.07);
  transform: translateY(-2px);
}

.edc-founder-card__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(34, 211, 238, 0.35);
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
  display: block;
}

.edc-founder-card__body {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.edc-founder-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.625rem;
}

.edc-founder-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 10px;
  font-weight: 600;
  color: var(--edc-founder-link);
  border: 1px solid var(--edc-founder-link-border);
  border-radius: 0.5rem;
  padding: 0.25rem 0.5rem;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.edc-founder-card__link:hover {
  background-color: rgba(34, 211, 238, 0.1);
  border-color: rgba(34, 211, 238, 0.3);
}

@media (min-width: 768px) {
  .edc-founder-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
    gap: 1.25rem;
  }

  .edc-founder-card__avatar {
    width: 100px;
    height: 100px;
  }

  .edc-founder-card__body {
    text-align: center;
  }

  .edc-founder-card__links {
    justify-content: center;
  }
}

.edc-status-pulse {
  animation: edcStatusPulse 2.2s ease-in-out infinite;
}

@keyframes edcStatusPulse {
  0%,
  100% {
    opacity: 1;
    filter: drop-shadow(0 0 0 rgba(34, 211, 238, 0));
  }
  50% {
    opacity: 0.86;
    filter: drop-shadow(0 0 12px rgba(34, 211, 238, 0.55));
  }
}

/* Optional icon glow helper (Tailwind handles most hover glows) */
.edc-icon-glow {
  transition: color 180ms ease, filter 180ms ease;
}

/* Guest teaser gate (public post preview) */
.edc-guest-blur {
  filter: blur(7px);
  user-select: none;
}

.edc-guest-fade {
  background: linear-gradient(
    to bottom,
    var(--edc-guest-fade-0),
    var(--edc-guest-fade-mid) 55%,
    var(--edc-guest-fade-full)
  );
}

/* Directory cards v2: compact glass panels with layered depth */
.edc-dentist-card {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: start;
  /* minmax(0,1fr) lets text/grid children shrink on narrow phones (plain 1fr min is "auto" → clipping) */
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  /* Full insets (Tailwind purge omits many p-* utilities on this page — don’t rely on them). */
  padding-block: 1.2rem;
  padding-inline: 1.05rem;
  /* Avoid overflow:hidden on markup — it slices titles; ::before still draws the glass rim */
  overflow: visible;
  border-radius: 1.15rem;
  background:
    var(--edc-dentist-card-shine),
    var(--edc-dentist-card-base);
  box-shadow:
    var(--edc-dentist-card-shadow),
    inset 0 1px 0 var(--edc-inset-highlight);
  transition: transform 180ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.edc-dentist-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  border: 1px solid var(--edc-dentist-card-rim);
}

/* Physical top-right only: inset-inline-end becomes the LEFT edge in RTL and reads as a “shadow” strip beside the spine. */
.edc-dentist-card::after {
  content: "";
  position: absolute;
  top: 0.65rem;
  right: 0.75rem;
  left: auto;
  width: 84px;
  height: 84px;
  border-radius: 999px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.16), rgba(56, 189, 248, 0));
  opacity: 0.65;
  z-index: -1;
}

.edc-dentist-card:hover,
.edc-dentist-card:focus-within {
  transform: translateY(-1px);
  box-shadow:
    var(--edc-dentist-card-shadow-hover),
    0 0 0 1px rgba(34, 211, 238, 0.14),
    inset 0 1px 0 var(--edc-inset-highlight-strong);
}

/* Directory member cards: one rim via ::before only — avoids edc-glass/Tailwind border stacking (“ghost” strip in light mode). */
html[data-theme="light"] .edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) {
  border: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Light + directory: hide corner orb (z-index:-1 glow still picks up page background). */
html[data-theme="light"] .edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external)::after {
  display: none;
}

.edc-dentist-card__avatar {
  align-self: start;
  padding-inline: 0.25rem;
}

.edc-dentist-card__avatar-media {
  width: 78px;
  height: 78px;
  min-width: 78px;
  border: 1px solid var(--edc-slate-border);
  outline: 1px solid rgba(34, 211, 238, 0.18);
  outline-offset: -1px;
  box-shadow: 0 10px 22px var(--edc-dentist-avatar-inner);
}

.edc-dentist-card__avatar-initial {
  background: linear-gradient(145deg, rgba(34, 211, 238, 0.3), rgba(99, 102, 241, 0.45));
}

.edc-dentist-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  min-width: 0;
}

.edc-dentist-card__title-row {
  align-items: center;
  min-width: 0;
}

.edc-dentist-card__name {
  letter-spacing: -0.015em;
  text-wrap: balance;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}

.edc-dentist-card__rating {
  margin-top: 0.12rem;
}

.edc-dentist-card__eyebrow {
  opacity: 0.96;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  white-space: normal;
  padding: 0.24rem 0.52rem;
  border-radius: 999px;
  border: 1px solid var(--edc-gold-line);
  background: var(--edc-gold-fill);
  overflow-wrap: break-word;
}

.edc-dentist-card__location {
  text-wrap: pretty;
}

.edc-dentist-card__role {
  font-weight: 600;
}

.edc-dentist-card__clinic {
  color: var(--edc-clinic-fg);
  overflow-wrap: break-word;
  word-break: break-word;
}

.edc-dentist-card__address {
  color: var(--edc-address-fg);
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: break-word;
}

.edc-dentist-card__actions {
  align-items: stretch;
  padding-top: 0.52rem;
  border-top: 1px solid var(--edc-slate-line);
}

.edc-card-btn {
  min-height: 44px;
  line-height: 1;
  letter-spacing: 0.01em;
}

/* Verified member CTAs (glass + cyan; Tailwind utilities on these links are not relied on). */
.edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-wa,
.edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 48px;
  padding: 0.55rem 1rem;
  box-sizing: border-box;
  text-decoration: none;
  border-radius: 0.95rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  border: 1px solid rgba(34, 211, 238, 0.38);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.14) 0%,
    rgba(15, 23, 42, 0.42) 100%
  );
  color: #ecfeff;
  box-shadow:
    0 8px 26px rgba(2, 8, 23, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease,
    color 0.15s ease;
}

.edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-wa:hover,
.edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-call:hover {
  border-color: rgba(34, 211, 238, 0.55);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.22) 0%,
    rgba(15, 23, 42, 0.52) 100%
  );
  color: #f0fdfa;
  box-shadow:
    0 10px 32px rgba(2, 8, 23, 0.38),
    0 0 24px rgba(34, 211, 238, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

.edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-wa .edc-card-btn__icon-wa {
  flex-shrink: 0;
  color: rgba(204, 251, 241, 0.95);
}

.edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-call .edc-card-btn__icon-phone {
  flex-shrink: 0;
  color: rgba(165, 243, 252, 0.95);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-wa,
html[data-theme="light"] .edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-call {
  border-color: rgba(8, 145, 178, 0.42);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.12) 0%,
    rgba(255, 255, 255, 0.78) 100%
  );
  color: #0e7490;
  box-shadow:
    0 8px 24px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-wa:hover,
html[data-theme="light"] .edc-directory-page .edc-dentist-card:not(.edc-dentist-card--external) a.edc-card-btn--member-call:hover {
  border-color: rgba(8, 145, 178, 0.58);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.2) 0%,
    rgba(255, 255, 255, 0.92) 100%
  );
  color: #0f766e;
}

.edc-dentist-card--external {
  border-color: var(--edc-dentist-external-border);
  background: var(--edc-dentist-external-bg);
  gap: 0.65rem;
}

/* Public-record cards: drop the decorative corner orb (reads as a huge “mystery circle” on RTL). */
.edc-dentist-card--external::after {
  display: none;
}

/* Inline SVGs: explicit pixel caps when Tailwind width/height utilities are missing from the bundle */
.edc-dentist-card .edc-dentist-card__icon-star,
.edc-dentist-card .edc-dentist-card__icon-star-sm {
  width: 16px;
  height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}

.edc-dentist-card .edc-dentist-card__icon-star-sm {
  width: 14px;
  height: 14px;
  max-width: 14px;
  max-height: 14px;
}

.edc-dentist-card .edc-dentist-card__icon-lock {
  width: 14px;
  height: 14px;
  max-width: 14px;
  max-height: 14px;
  flex-shrink: 0;
  display: block;
}

.edc-dentist-card .edc-dentist-card__icon-pin {
  width: 16px;
  height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex-shrink: 0;
  display: block;
}

.edc-dentist-card--external .edc-dentist-card__name {
  font-size: clamp(1.05rem, 2.3vw, 1.28rem);
  line-height: 1.26;
}

.edc-dentist-card--external .edc-card-btn {
  border-radius: 0.95rem;
}

.edc-dentist-card--external .edc-dentist-card__title-row {
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
}

.edc-dentist-card--external .edc-dentist-card__rating {
  width: 100%;
  max-width: 100%;
  margin-top: 0.16rem;
  min-width: 0;
}

.edc-dentist-card--external .edc-dentist-card__content {
  gap: 0.22rem;
}

.edc-dentist-card--external .edc-dentist-card__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  row-gap: 0.75rem;
  margin-top: 0.5rem;
}

.edc-dentist-card--external .edc-card-btn {
  justify-content: center;
  width: 100%;
}

/* Public listing — claim CTA: same glass + cyan language as directory hero (not solid orange). */
.edc-directory-page .edc-dentist-card--external a.edc-call-cta,
.edc-directory-page .edc-dentist-card--external a.edc-claim-cta {
  min-height: 48px;
}

.edc-directory-page .edc-dentist-card--external a.edc-claim-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-height: max(3rem, 48px);
  padding: 0.55rem 1rem;
  text-align: center;
  text-decoration: none;
  border-radius: 0.95rem;
  border: 1px solid rgba(34, 211, 238, 0.38);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.14) 0%,
    rgba(15, 23, 42, 0.4) 100%
  );
  color: #ecfeff;
  line-height: 1.25;
  letter-spacing: 0.01em;
  box-shadow:
    0 10px 32px rgba(2, 8, 23, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease,
    color 0.15s ease;
}

.edc-directory-page .edc-dentist-card--external a.edc-claim-cta:hover {
  border-color: rgba(34, 211, 238, 0.55);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.22) 0%,
    rgba(15, 23, 42, 0.5) 100%
  );
  color: #f0fdfa;
  box-shadow:
    0 12px 36px rgba(2, 8, 23, 0.4),
    0 0 28px rgba(34, 211, 238, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

.edc-directory-page .edc-dentist-card--external a.edc-claim-cta .edc-claim-cta__title {
  font-size: 0.875rem;
  font-weight: 800;
}

.edc-directory-page .edc-dentist-card--external a.edc-claim-cta .edc-claim-cta__sub {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(207, 250, 254, 0.75);
}

.edc-directory-page .edc-dentist-card--external a.edc-claim-cta:hover .edc-claim-cta__sub {
  color: rgba(240, 253, 250, 0.9);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-claim-cta {
  border-color: rgba(8, 145, 178, 0.42);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.12) 0%,
    rgba(255, 255, 255, 0.72) 100%
  );
  color: #0e7490;
  box-shadow:
    0 8px 26px rgba(15, 23, 42, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-claim-cta:hover {
  border-color: rgba(8, 145, 178, 0.62);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.18) 0%,
    rgba(255, 255, 255, 0.9) 100%
  );
  color: #0f766e;
  box-shadow:
    0 10px 30px rgba(15, 23, 42, 0.1),
    0 0 24px rgba(6, 182, 212, 0.12);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-claim-cta .edc-claim-cta__sub {
  color: rgba(14, 116, 144, 0.82);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-claim-cta:hover .edc-claim-cta__sub {
  color: rgba(15, 118, 110, 0.88);
}

/* External listing — Call: same glass + cyan language as claim CTA (not emerald strip). */
.edc-directory-page .edc-dentist-card--external a.edc-call-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.55rem 1rem;
  text-align: center;
  text-decoration: none;
  border-radius: 0.95rem;
  border: 1px solid rgba(34, 211, 238, 0.38);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.14) 0%,
    rgba(15, 23, 42, 0.4) 100%
  );
  color: #ecfeff;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.01em;
  box-shadow:
    0 10px 32px rgba(2, 8, 23, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease,
    color 0.15s ease;
}

.edc-directory-page .edc-dentist-card--external a.edc-call-cta:hover {
  border-color: rgba(34, 211, 238, 0.55);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.22) 0%,
    rgba(15, 23, 42, 0.5) 100%
  );
  color: #f0fdfa;
  box-shadow:
    0 12px 36px rgba(2, 8, 23, 0.4),
    0 0 28px rgba(34, 211, 238, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-call-cta {
  border-color: rgba(8, 145, 178, 0.42);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.12) 0%,
    rgba(255, 255, 255, 0.72) 100%
  );
  color: #0e7490;
  box-shadow:
    0 8px 26px rgba(15, 23, 42, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-call-cta:hover {
  border-color: rgba(8, 145, 178, 0.62);
  color: #0f766e;
}

/* External — no phone: fills the slot so layout does not collapse next to Claim */
.edc-directory-page .edc-dentist-card--external .edc-external-no-phone {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 3rem;
  padding: 0.45rem 0.75rem;
  margin: 0;
  box-sizing: border-box;
  text-align: center;
  border-radius: 0.95rem;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  background: rgba(15, 23, 42, 0.38);
  color: rgba(226, 232, 240, 0.68);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.edc-directory-page .edc-dentist-card--external .edc-external-no-phone__icon {
  flex-shrink: 0;
  opacity: 0.65;
  color: rgba(148, 211, 236, 0.75);
}

.edc-directory-page .edc-dentist-card--external .edc-external-no-phone__text {
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

html[dir="rtl"] .edc-directory-page .edc-dentist-card--external .edc-external-no-phone {
  flex-direction: row-reverse;
  text-align: right;
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external .edc-external-no-phone {
  border-color: rgba(100, 116, 139, 0.38);
  background: rgba(248, 250, 252, 0.82);
  color: rgba(51, 65, 85, 0.82);
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external .edc-external-no-phone__icon {
  color: rgba(8, 145, 178, 0.75);
}

/* Maps on external cards: align with cyan glass actions */
.edc-directory-page .edc-dentist-card--external a.edc-card-btn--maps {
  border: 1px solid rgba(34, 211, 238, 0.28);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.1) 0%,
    rgba(15, 23, 42, 0.38) 100%
  );
}

.edc-directory-page .edc-dentist-card--external a.edc-card-btn--maps:hover {
  border-color: rgba(34, 211, 238, 0.45);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.16) 0%,
    rgba(15, 23, 42, 0.45) 100%
  );
}

html[data-theme="light"] .edc-directory-page .edc-dentist-card--external a.edc-card-btn--maps {
  border-color: rgba(8, 145, 178, 0.35);
  background: linear-gradient(
    165deg,
    rgba(6, 182, 212, 0.08) 0%,
    rgba(255, 255, 255, 0.85) 100%
  );
}

/* Directory polish: Vezeeta-style mobile bar, CLS shell, verified listing tooltip */
.edc-directory-mobibar {
  background: rgba(15, 23, 42, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.edc-directory-page .edc-dentist-card--cls .edc-dentist-card__title-row {
  min-height: 2.85rem;
}

.edc-directory-page .edc-dentist-card--cls:not(.edc-dentist-card--external) {
  min-height: 19rem;
}

.edc-directory-page .edc-dentist-card--cls.edc-dentist-card--external {
  min-height: 23rem;
}

@media (min-width: 1024px) {
  .edc-directory-page .edc-dentist-card--cls:not(.edc-dentist-card--external) {
    min-height: 17.5rem;
  }

  .edc-directory-page .edc-dentist-card--cls.edc-dentist-card--external {
    min-height: 21rem;
  }
}

.edc-verified-listing-inline {
  position: relative;
  align-items: center;
}

.edc-verified-help__bubble {
  position: absolute;
  z-index: 40;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: min(20rem, 78vw);
  padding: 0.55rem 0.65rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(34, 211, 238, 0.3);
  background: rgba(15, 23, 42, 0.96);
  color: rgba(226, 232, 240, 0.95);
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: 0 12px 40px rgba(2, 8, 23, 0.55);
  pointer-events: none;
}

.edc-verified-help__bubble:not([hidden]) {
  pointer-events: auto;
}

html[dir="rtl"] .edc-verified-help__bubble {
  text-align: right;
}

@media (hover: hover) and (pointer: fine) {
  .edc-verified-listing-inline:hover .edc-verified-help__bubble[hidden] {
    display: block !important;
    visibility: visible;
    opacity: 1;
  }
}

.edc-verified-help:focus-visible + .edc-verified-help__bubble[hidden] {
  display: block !important;
  visibility: visible;
  opacity: 1;
}

html[data-theme="light"] .edc-verified-help__bubble {
  background: rgba(255, 255, 255, 0.98);
  color: rgba(15, 23, 42, 0.9);
  border-color: rgba(8, 145, 178, 0.35);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.edc-dentist-card__spine {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: var(--edc-spine-grad);
  box-shadow: 0 0 16px rgba(34, 211, 238, 0.34);
}

/* Light mode: drop outer glow (spills past rounded rect → muddy strip beside spine). */
html[data-theme="light"] .edc-directory-page .edc-dentist-card__spine {
  box-shadow: none;
}

html[dir="rtl"] .edc-dentist-card__spine {
  left: auto;
  right: 0;
}

html[dir="rtl"] .edc-dentist-card {
  padding-inline-start: 1.05rem;
  padding-inline-end: 1.2rem;
}

html[dir="rtl"] .edc-dentist-card__avatar {
  padding-inline-end: 0;
  padding-inline-start: 0;
}

html[dir="rtl"] .edc-dentist-card__title-row,
html[dir="rtl"] .edc-dentist-card__actions {
  justify-content: flex-end;
}

/* Side‑by‑side avatar + body only on large screens; below 1024px stay stacked (phones & most tablets). */

/* Stacked card body, full‑width text blocks */
@media (max-width: 1023px) {
  .edc-dentist-card:not(.edc-dentist-card--external) {
    gap: 1rem;
    padding-block: 1.25rem;
    padding-inline: 1.15rem;
  }

  .edc-dentist-card--external {
    padding-inline: 1.15rem;
  }

  .edc-dentist-card__avatar {
    justify-self: center;
    padding-inline: 0;
    width: 100%;
    max-width: 100%;
  }

  .edc-dentist-card__content {
    width: 100%;
    max-width: 100%;
  }

  .edc-dentist-card--external .edc-dentist-card__name {
    font-size: 1.02rem;
    line-height: 1.38;
  }

  .edc-dentist-card__title-row {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
    width: 100%;
  }

  html[dir="rtl"] .edc-dentist-card__title-row {
    align-items: flex-end;
  }

  .edc-dentist-card__name {
    width: 100%;
    max-width: 100%;
    text-wrap: pretty;
    line-height: 1.35;
  }

  .edc-dentist-card--external .edc-dentist-card__name {
    line-height: 1.32;
  }

  .edc-dentist-card--external .edc-dentist-card__rating {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    justify-content: flex-end;
    flex-wrap: wrap;
  }

  html[dir="ltr"] .edc-dentist-card--external .edc-dentist-card__rating {
    justify-content: flex-start;
  }

  .edc-dentist-card--external .edc-external-record-tag {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  html[dir="ltr"] .edc-dentist-card--external .edc-external-record-tag {
    justify-content: flex-start;
    text-align: start;
  }

  html[dir="rtl"] .edc-dentist-card--external .edc-external-record-tag {
    justify-content: flex-end;
    text-align: end;
  }

  .edc-dentist-card__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  html[dir="rtl"] .edc-dentist-card__actions {
    align-items: stretch;
  }

  .edc-dentist-card__actions > * {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }

  .edc-dentist-card__actions .edc-claim-ghost {
    width: 100%;
  }

  /* External: keep Maps + Claim as a vertical pair on small screens (readable, on-brand). */
  .edc-dentist-card--external .edc-dentist-card__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .edc-dentist-card__location .inline-flex {
    max-width: 100%;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .edc-dentist-card__location .inline-flex > span:last-child {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  html[dir="rtl"] .edc-dentist-card {
    padding-inline-start: max(1.15rem, env(safe-area-inset-left, 0px));
    padding-inline-end: max(1.3rem, env(safe-area-inset-right, 0px));
  }

  html[dir="ltr"] .edc-dentist-card {
    padding-inline-start: max(1.15rem, env(safe-area-inset-left, 0px));
    padding-inline-end: max(1.15rem, env(safe-area-inset-right, 0px));
  }

  .edc-dentist-card::after {
    width: 68px;
    height: 68px;
    opacity: 0.45;
  }
}

@media (min-width: 1024px) {
  html[dir="rtl"] .edc-dentist-card--external .edc-dentist-card__title-row {
    flex-direction: row-reverse;
  }

  .edc-dentist-card {
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 1.1rem;
    row-gap: 0.85rem;
  }

  /* Purged Tailwind has no lg:block — align avatar in grid from CSS */
  .edc-dentist-card__avatar {
    display: block;
    width: auto;
    max-width: none;
  }

  .edc-dentist-card__avatar-media {
    width: 96px;
    height: 96px;
    min-width: 96px;
  }

  html[dir="rtl"] .edc-dentist-card__avatar {
    justify-self: end;
  }

  html[dir="ltr"] .edc-dentist-card__avatar {
    justify-self: start;
  }

  .edc-dentist-card--external {
    grid-template-columns: minmax(0, 1fr);
  }

  /* External CTAs: single column so Maps / Call / Claim stack — avoids empty half-row when phone missing */
  .edc-dentist-card--external .edc-dentist-card__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .edc-dentist-card__name {
    font-size: 1.125rem;
    line-height: 1.35;
  }
}

/* Elite verified: 3D cyan hexagon + check (directory) */
.edc-verified-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
  filter: drop-shadow(0 2px 4px rgba(0, 40, 60, 0.45)) drop-shadow(0 0 12px rgba(34, 211, 238, 0.55));
}

.edc-verified-badge__hex {
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 2%, 93% 26%, 93% 74%, 50% 98%, 7% 74%, 7% 26%);
  background: linear-gradient(
    145deg,
    #5eead4 0%,
    #22d3ee 22%,
    #0891b2 48%,
    #155e75 72%,
    #0e7490 100%
  );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    inset 0 -2px 6px rgba(0, 30, 50, 0.55),
    0 2px 0 rgba(255, 255, 255, 0.12);
}

.edc-verified-badge__hex::after {
  content: "";
  position: absolute;
  inset: 2px;
  clip-path: polygon(50% 6%, 88% 28%, 88% 72%, 50% 94%, 12% 72%, 12% 28%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), transparent 42%);
  pointer-events: none;
}

.edc-verified-badge__check {
  position: relative;
  z-index: 1;
  width: 0.95rem;
  height: 0.95rem;
  color: var(--edc-verified-check);
  filter: drop-shadow(0 1px 1px rgba(0, 20, 40, 0.8));
}

/* Directory hero: explicit gradient (PHP uses arbitrary Tailwind colors not in the utility bundle) */
.edc-directory-page .edc-directory-hero {
  background: linear-gradient(to bottom right, #111931 0%, #0b1124 100%);
  /* Shadow lives in CSS so light mode can drop it entirely (Tailwind arbitrary shadow can’t be fully controlled). */
  box-shadow: 0 24px 80px rgba(2, 8, 23, 0.45);
}

/* Directory hero: masthead + unified tools panel */
.edc-directory-hero__masthead {
  margin-bottom: 0;
}

.edc-directory-hero__masthead-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  width: 100%;
}

.edc-directory-hero__eyebrow {
  flex: 1;
  min-width: 0;
  margin: 0;
}

.edc-directory-hero__title {
  letter-spacing: -0.02em;
}

.edc-directory-hero__panel {
  margin-top: 1.5rem;
  padding: 1.1rem 1.15rem 1.2rem;
  border-radius: 1.25rem;
  border: 1px solid var(--edc-border-subtle);
  background: var(--edc-directory-panel-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--edc-directory-panel-shadow);
}

@media (min-width: 768px) {
  .edc-directory-hero__panel {
    margin-top: 1.75rem;
    padding: 1.35rem 1.35rem 1.45rem;
  }
}

.edc-directory-hero__field + .edc-directory-hero__field {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--edc-border-faint);
}

.edc-directory-hero__section-label {
  margin: 0 0 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--edc-white-45);
  line-height: 1.35;
}

.edc-directory-hero__chips {
  margin: 0;
  padding: 0;
}

.edc-directory-meter-wrap {
  width: 100%;
}

.edc-directory-meter__input:focus {
  outline: none;
}

.edc-directory-meter:focus-within {
  border-color: var(--edc-focus-cyan);
  box-shadow: 0 0 0 1px var(--edc-focus-cyan-ring);
}

.edc-claim-ghost {
  box-shadow: 0 0 24px rgba(34, 211, 238, 0.08);
}

.edc-claim-ghost:hover {
  box-shadow: 0 0 32px rgba(34, 211, 238, 0.18);
}

.edc-star-row {
  line-height: 1.2;
}

/* Directory hero explanatory line under H1 */
.edc-directory-subcopy {
  padding: 0.65rem 0.95rem;
  border-radius: 0.95rem;
  border: 1px solid var(--edc-border-subtle);
  background: var(--edc-white-03);
  line-height: 1.7;
}

/* Directory list skeleton: keep fully inert when not loading.
   Desktop previously relied on mobile.css, so hidden skeleton backdrop could still tint/blur the section. */
.edc-directory-list-mount .edc-directory-skeleton {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  border-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.edc-directory-list-mount.is-edc-loading .edc-directory-skeleton {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  border-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@media (min-width: 768px) {
  .edc-directory-subcopy {
    padding: 0.75rem 1.1rem;
  }
}

/* Minified production utility bundle (for header/index/footer classes) */
.pointer-events-none{pointer-events:none}.inset-0{inset:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-flex{display:inline-flex}.flex{display:flex}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-12{width:3rem}.w-20{width:5rem}.w-24{width:6rem}.w-72{width:18rem}.h-2{height:.5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-12{height:3rem}.h-24{height:6rem}.h-72{height:18rem}.min-h-screen{min-height:100vh}.max-h-full{max-height:100%}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-t{border-top-width:1px}.border-white\/10{border-color:rgba(255,255,255,.1)}.border-white\/15{border-color:rgba(255,255,255,.15)}.border-white\/20{border-color:rgba(255,255,255,.2)}.bg-\[\#050a15\]{background-color:#050a15}.bg-white\/5{background-color:rgba(255,255,255,.05)}.bg-white\/10{background-color:rgba(255,255,255,.1)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-\[\#22d3ee\]{--tw-gradient-from:#22d3ee;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(34,211,238,0))}.from-\[\#22d3ee\]\/20{--tw-gradient-from:rgba(34,211,238,.2);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(34,211,238,0))}.from-cyan-500\/5{--tw-gradient-from:rgba(6,182,212,.05);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(6,182,212,0))}.to-\[\#6366f1\]{--tw-gradient-to:#6366f1}.to-\[\#6366f1\]\/20{--tw-gradient-to:rgba(99,102,241,.2)}.to-indigo-600\/10{--tw-gradient-to:rgba(79,70,229,.1)}.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.aspect-square{aspect-ratio:1/1}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.text-left{text-align:left}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-widest{letter-spacing:.1em}.uppercase{text-transform:uppercase}.text-transparent{color:transparent}.text-white{color:#fff}.text-white\/50{color:rgba(255,255,255,.5)}.text-white\/55{color:rgba(255,255,255,.55)}.text-white\/60{color:rgba(255,255,255,.6)}.text-white\/70{color:rgba(255,255,255,.7)}.text-white\/75{color:rgba(255,255,255,.75)}.text-white\/80{color:rgba(255,255,255,.8)}.text-cyan-200{color:#a5f3fc}.text-cyan-300{color:#67e8f9}.text-slate-100{color:#f1f5f9}.text-slate-200{color:#e2e8f0}.text-slate-300{color:#cbd5e1}.text-slate-400{color:#94a3b8}.text-slate-950{color:#020617}.underline{text-decoration-line:underline}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.top-0{top:0}.left-0{left:0}.right-0{right:0}.-top-24{top:-6rem}.-left-24{left:-6rem}.-bottom-24{bottom:-6rem}.-right-24{right:-6rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pb-24{padding-bottom:6rem}.pt-4{padding-top:1rem}.pt-24{padding-top:6rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.min-w-0{min-width:0}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.w-\[110px\]{width:110px}.max-w-\[110px\]{max-width:110px}.w-\[220px\]{width:220px}.max-w-\[220px\]{max-width:220px}.rounded-\[28px\]{border-radius:28px}.text-\[10px\]{font-size:10px;line-height:1rem}.text-\[11px\]{font-size:11px;line-height:1rem}.py-\[1\.125rem\]{padding-top:1.125rem;padding-bottom:1.125rem}.leading-\[1\.05\]{line-height:1.05}.-translate-y-3{transform:translateY(-.75rem)}.hover\:bg-white\/5:hover{background-color:rgba(255,255,255,.05)}.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.1)}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:text-white:hover{color:#fff}.hover\:opacity-95:hover{opacity:.95}.hover\:underline:hover{text-decoration-line:underline}.hover\:scale-\[1\.05\]:hover{transform:scale(1.05)}.group:hover .group-hover\:text-cyan-200{color:#a5f3fc}.group[open] .group-open\:rotate-180{transform:rotate(180deg)}.open\:border-cyan-500\/25[open]{border-color:rgba(6,182,212,.25)}.list-none{list-style-type:none}.cursor-pointer{cursor:pointer}summary::-webkit-details-marker{display:none}.top-0{top:0}.bottom-3{bottom:.75rem}
@media (min-width:640px){.sm\:block{display:block}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:flex-wrap{flex-wrap:wrap}.sm\:h-28{height:7rem}.sm\:w-28{width:7rem}.sm\:justify-between{justify-content:space-between}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}
@media (min-width:768px){.md\:hidden{display:none}.md\:mx-0{margin-left:0;margin-right:0}.md\:mb-0{margin-bottom:0}.md\:w-auto{width:auto}.md\:max-w-5xl{max-width:64rem}.md\:max-w-\[220px\]{max-width:220px}.md\:w-\[220px\]{width:220px}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:p-10{padding:2.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-start{justify-content:flex-start}.md\:gap-12{gap:3rem}.md\:mt-14{margin-top:3.5rem}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-12{grid-column:span 12/span 12}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:flex{display:flex}}
.right-6{right:1.5rem}.bottom-24{bottom:6rem}.z-\[9999\]{z-index:9999}.w-\[48px\]{width:48px}.h-\[48px\]{height:48px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.w-\[320px\]{width:320px}.max-w-\[86vw\]{max-width:86vw}.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.border-b{border-bottom-width:1px}.w-10{width:2.5rem}.h-10{height:2.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.leading-none{line-height:1}.max-h-\[260px\]{max-height:260px}.overflow-y-auto{overflow-y:auto}.pr-1{padding-right:.25rem}.placeholder\:text-white\/40::placeholder{color:rgba(255,255,255,.4)}.outline-none{outline:2px solid transparent;outline-offset:2px}.w-\[44px\]{width:44px}.h-\[44px\]{height:44px}.shadow-cyan-500\/20{box-shadow:0 10px 15px -3px rgba(6,182,212,.2),0 4px 6px -4px rgba(6,182,212,.2)}.text-white\/90{color:rgba(255,255,255,.9)}.text-red-300{color:#fca5a5}.text-amber-200\/90{color:rgba(253,230,138,.9)}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.max-w-\[85\%\]{max-width:85%}.bg-indigo-500\/10{background-color:rgba(99,102,241,.1)}.border-indigo-400\/20{border-color:rgba(129,140,248,.2)}.break-words{overflow-wrap:break-word}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (min-width:640px){.sm\:bottom-8{bottom:2rem}.sm\:right-8{right:2rem}}

/* ═══ Theme utility overrides — MUST stay after minified bundle ═══ */
html[data-theme="light"] .text-white {
  color: var(--edc-util-text-on-surface) !important;
}
html[data-theme="light"] .text-white\/35 {
  color: rgba(15, 23, 42, 0.38) !important;
}
html[data-theme="light"] .text-white\/40 {
  color: rgba(15, 23, 42, 0.45) !important;
}
html[data-theme="light"] .text-white\/50 {
  color: rgba(15, 23, 42, 0.52) !important;
}
html[data-theme="light"] .text-white\/55 {
  color: rgba(15, 23, 42, 0.55) !important;
}
html[data-theme="light"] .text-white\/60 {
  color: rgba(15, 23, 42, 0.6) !important;
}
html[data-theme="light"] .text-white\/70 {
  color: rgba(15, 23, 42, 0.68) !important;
}
html[data-theme="light"] .text-white\/75 {
  color: rgba(15, 23, 42, 0.72) !important;
}
html[data-theme="light"] .text-white\/80 {
  color: rgba(15, 23, 42, 0.78) !important;
}
html[data-theme="light"] .text-white\/90 {
  color: rgba(15, 23, 42, 0.88) !important;
}
html[data-theme="light"] .text-slate-100 {
  color: #0f172a !important;
}
html[data-theme="light"] .text-slate-200 {
  color: #1e293b !important;
}
html[data-theme="light"] .text-slate-300 {
  color: #334155 !important;
}
html[data-theme="light"] .text-slate-400 {
  color: #475569 !important;
}
html[data-theme="light"] .border-white\/10 {
  border-color: rgba(15, 23, 42, 0.1) !important;
}
html[data-theme="light"] .border-white\/15 {
  border-color: rgba(15, 23, 42, 0.14) !important;
}
html[data-theme="light"] .border-white\/20 {
  border-color: rgba(15, 23, 42, 0.18) !important;
}
html[data-theme="light"] .border-white\/12 {
  border-color: rgba(15, 23, 42, 0.14) !important;
}
html[data-theme="light"] .border-white\/25 {
  border-color: rgba(15, 23, 42, 0.22) !important;
}
html[data-theme="light"] .hover\:border-white\/25:hover {
  border-color: rgba(15, 23, 42, 0.22) !important;
}
html[data-theme="light"] .bg-white\/\[0\.04\] {
  background-color: rgba(15, 23, 42, 0.04) !important;
}
html[data-theme="light"] .placeholder\:text-white\/35::placeholder {
  color: rgba(15, 23, 42, 0.42) !important;
}
html[data-theme="light"] .divide-white\/10 > :not([hidden]) ~ :not([hidden]) {
  border-top-color: rgba(15, 23, 42, 0.1) !important;
}
html[data-theme="light"] .divide-x.divide-white\/10 > :not([hidden]) ~ :not([hidden]) {
  border-left-color: rgba(15, 23, 42, 0.1) !important;
}
html[data-theme="light"] .bg-white\/5 {
  background-color: rgba(15, 23, 42, 0.045) !important;
}
html[data-theme="light"] .bg-white\/10 {
  background-color: rgba(15, 23, 42, 0.07) !important;
}
html[data-theme="light"] .bg-\[\#050a15\] {
  background-color: #f1f5f9 !important;
}
html[data-theme="light"] .bg-slate-950 {
  background-color: var(--edc-footer-bg) !important;
}
html[data-theme="light"] .hover\:bg-white\/5:hover {
  background-color: rgba(15, 23, 42, 0.05) !important;
}
html[data-theme="light"] .hover\:bg-white\/10:hover {
  background-color: rgba(15, 23, 42, 0.08) !important;
}
html[data-theme="light"] .hover\:text-white:hover {
  color: var(--edc-util-text-on-surface) !important;
}
html[data-theme="light"] .placeholder\:text-white\/40::placeholder {
  color: rgba(15, 23, 42, 0.38) !important;
}
/* Gradient CTAs keep dark text on cyan/indigo */
html[data-theme="light"] .bg-gradient-to-r.text-slate-950,
html[data-theme="light"] a.bg-gradient-to-r.text-slate-950 {
  color: #020617 !important;
}
/* Soft gradient chips (e.g. member avatar): keep light text */
html[data-theme="light"] .from-cyan-500\/30.to-indigo-600\/40.text-white {
  color: #fff !important;
}
html[data-theme="light"] footer[role="contentinfo"] {
  background-color: var(--edc-footer-bg) !important;
  color: var(--edc-footer-text) !important;
  border-top-color: var(--edc-footer-border) !important;
}
html[data-theme="light"] footer[role="contentinfo"] .text-slate-100,
html[data-theme="light"] footer[role="contentinfo"] .text-slate-200,
html[data-theme="light"] footer[role="contentinfo"] .text-slate-300,
html[data-theme="light"] footer[role="contentinfo"] .text-slate-400 {
  color: inherit !important;
}
html[data-theme="light"] footer[role="contentinfo"] a {
  color: var(--edc-footer-muted) !important;
}
html[data-theme="light"] footer[role="contentinfo"] a:hover {
  color: var(--edc-accent-from) !important;
}
html[data-theme="light"] footer[role="contentinfo"] .border-white\/10 {
  border-color: rgba(15, 23, 42, 0.08) !important;
}
html[data-theme="light"] footer[role="contentinfo"] .bg-slate-900\/80 {
  background-color: var(--edc-footer-icon-bg) !important;
}
html[data-theme="light"] .border-cyan-400\/90 {
  border-color: var(--edc-footer-border) !important;
}
html[data-theme="light"] .focus-visible\:ring-offset-slate-950:focus-visible {
  --tw-ring-offset-color: var(--edc-footer-focus-ring) !important;
}
html[data-theme="light"] .group:hover .group-hover\:text-cyan-200 {
  color: #0891b2 !important;
}

/* Light directory: keep hero/card shadows, but mask viewport gutters so no side "rails" can appear. */
html[data-theme="light"] body.edc-directory-body main.edc-directory-page {
  overflow-x: visible;
  position: relative;
  z-index: 2;
}

html[data-theme="light"] body.edc-directory-body .edc-site-header,
html[data-theme="light"] body.edc-directory-body .edc-directory-mobibar {
  position: relative;
  z-index: 2;
}

/* Light mode: strip paint effects only in listings block (sort + list mount), keep hero styling intact. */
html[data-theme="light"] body.edc-directory-body .edc-directory-sort,
html[data-theme="light"] body.edc-directory-body #edc-directory-list-mount,
html[data-theme="light"] body.edc-directory-body #edc-directory-list-mount * {
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="light"] body.edc-directory-body #edc-directory-list-mount .edc-dentist-card::after,
html[data-theme="light"] body.edc-directory-body #edc-directory-list-mount .edc-dentist-card__spine,
html[data-theme="light"] body.edc-directory-body #edc-directory-list-mount .edc-verified-badge,
html[data-theme="light"] body.edc-directory-body #edc-directory-list-mount .edc-verified-badge__check {
  filter: none !important;
}

html[data-theme="light"] body.edc-directory-body::before,
html[data-theme="light"] body.edc-directory-body::after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  width: max(0px, calc((100vw - 66rem) / 2));
  background: #f8fafc;
  pointer-events: none;
  z-index: 1;
}

html[data-theme="light"] body.edc-directory-body::before {
  left: 0;
}

html[data-theme="light"] body.edc-directory-body::after {
  right: 0;
}

/* Restore intended light hero depth (kept inside column; gutters are masked above). */
html[data-theme="light"] .edc-directory-page .edc-directory-hero {
  background: linear-gradient(to bottom right, #f8fafc 0%, #e2e8f0 100%) !important;
  border-color: rgba(15, 23, 42, 0.1) !important;
  box-shadow:
    0 18px 42px -20px rgba(15, 23, 42, 0.07),
    0 6px 18px -10px rgba(15, 23, 42, 0.04) !important;
}

/* "Last updated" uses emerald utility often absent from bundle — force readable teal in light hero */
html[data-theme="light"] .edc-directory-page .edc-directory-hero__masthead time {
  color: #047857 !important;
}

/* Dark community hero strip: keep light foreground */
html[data-theme="light"] .edc-community-hero .text-white {
  color: #fff !important;
}
html[data-theme="light"] .edc-community-hero .text-white\/70 {
  color: rgba(255, 255, 255, 0.7) !important;
}
html[data-theme="light"] .edc-community-hero .text-white\/80 {
  color: rgba(255, 255, 255, 0.8) !important;
}
html[data-theme="light"] .edc-community-hero .text-white\/90 {
  color: rgba(255, 255, 255, 0.9) !important;
}
html[data-theme="light"] .edc-community-hero .hover\:text-white:hover {
  color: #fff !important;
}

/* Dentist card initials sit on cyan/indigo gradient */
html[data-theme="light"] .edc-dentist-card__avatar-initial.text-white {
  color: #fff !important;
}

/* Fractional / semantic utilities used in PHP templates */
html[data-theme="light"] .text-white\/45 {
  color: rgba(15, 23, 42, 0.48) !important;
}
html[data-theme="light"] .text-white\/65 {
  color: rgba(15, 23, 42, 0.62) !important;
}
html[data-theme="light"] .text-white\/85 {
  color: rgba(15, 23, 42, 0.82) !important;
}
html[data-theme="light"] .text-white\/95 {
  color: rgba(15, 23, 42, 0.92) !important;
}
html[data-theme="light"] .text-white\/20 {
  color: rgba(15, 23, 42, 0.22) !important;
}
html[data-theme="light"] .text-cyan-100 {
  color: #155e75 !important;
}
html[data-theme="light"] .text-cyan-50\/95 {
  color: rgba(14, 116, 144, 0.95) !important;
}
html[data-theme="light"] .text-cyan-100\/90 {
  color: rgba(21, 94, 117, 0.92) !important;
}
html[data-theme="light"] .text-cyan-200 {
  color: #0e7490 !important;
}
html[data-theme="light"] .text-cyan-200\/80 {
  color: rgba(14, 116, 144, 0.88) !important;
}
html[data-theme="light"] .text-cyan-300 {
  color: #0e7490 !important;
}
html[data-theme="light"] .text-cyan-300\/80 {
  color: rgba(14, 116, 144, 0.88) !important;
}
html[data-theme="light"] .text-cyan-300\/90 {
  color: rgba(14, 116, 144, 0.92) !important;
}
html[data-theme="light"] .text-cyan-400\/80 {
  color: rgba(8, 145, 178, 0.9) !important;
}
html[data-theme="light"] .hover\:text-cyan-300:hover {
  color: #0891b2 !important;
}
html[data-theme="light"] .text-amber-100 {
  color: #78350f !important;
}
html[data-theme="light"] .text-amber-200\/95 {
  color: rgba(120, 53, 15, 0.95) !important;
}
html[data-theme="light"] .text-amber-300 {
  color: #b45309 !important;
}
html[data-theme="light"] .text-amber-200\/90 {
  color: rgba(120, 53, 15, 0.92) !important;
}

/* Dentists directory (incl. /ar/dentists): win over RTL / link-inherit / card token clashes */
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white,
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .hover\:text-white:hover,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .hover\:text-white:hover {
  color: var(--edc-util-text-on-surface) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/50,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/50 {
  color: rgba(15, 23, 42, 0.52) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/60,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/60 {
  color: rgba(15, 23, 42, 0.6) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/70,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/70 {
  color: rgba(15, 23, 42, 0.68) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/80,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/80 {
  color: rgba(15, 23, 42, 0.78) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/85,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/85 {
  color: rgba(15, 23, 42, 0.82) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/90,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/90 {
  color: rgba(15, 23, 42, 0.88) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/45,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/45 {
  color: rgba(15, 23, 42, 0.48) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-white\/20,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-white\/20 {
  color: rgba(15, 23, 42, 0.22) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .placeholder\:text-white\/40::placeholder,
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel #edcDirectoryAreaSearch::placeholder {
  color: rgba(15, 23, 42, 0.38) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-100,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-100 {
  color: #155e75 !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-50\/95,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-50\/95 {
  color: rgba(14, 116, 144, 0.95) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-100\/90,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-100\/90 {
  color: rgba(21, 94, 117, 0.92) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-200,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-200 {
  color: #0e7490 !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-200\/80,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-200\/80 {
  color: rgba(14, 116, 144, 0.88) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-300,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-300 {
  color: #0e7490 !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-300\/80,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-300\/80 {
  color: rgba(14, 116, 144, 0.88) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-300\/90,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-300\/90 {
  color: rgba(14, 116, 144, 0.92) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-cyan-400\/80,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-cyan-400\/80 {
  color: rgba(8, 145, 178, 0.9) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-amber-100,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-amber-100 {
  color: #78350f !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-amber-200\/90,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-amber-200\/90 {
  color: rgba(120, 53, 15, 0.92) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-amber-200\/95,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-amber-200\/95 {
  color: rgba(120, 53, 15, 0.95) !important;
}
html[data-theme="light"] .edc-directory-page .edc-directory-hero__panel .text-amber-300,
html[data-theme="light"] .edc-directory-page .edc-dentist-card .text-amber-300 {
  color: #b45309 !important;
}

html[data-theme="light"] .edc-directory-page h2.text-white {
  color: var(--edc-util-text-on-surface) !important;
}
html[data-theme="light"] .edc-directory-page section .rounded-2xl.border.text-white\/70 {
  color: rgba(15, 23, 42, 0.68) !important;
}

/* Activity pill: utility often missing from bundle — light pill + teal label */
html[data-theme="light"] .edc-directory-page .bg-slate-900\/80 {
  background-color: rgba(15, 23, 42, 0.06) !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
}

/* Keep initials light on gradient after scoped .edc-dentist-card .text-white rules above */
html[data-theme="light"] .edc-directory-page .edc-dentist-card__avatar-initial.text-white {
  color: #fff !important;
}
