/**
 * Public Header — Shared Unauthenticated Navbar
 * Used on: /, /try, /signup, /login, /pricing, /faq, /forgot-password, etc.
 * Injected by public-header.js into #publicHeader placeholder.
 * REQUIRES: variables.css
 */

/* Critical CSS — prevents CLS while JS loads */
#publicHeader {
  height: 60px;
  background: #fff;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  position: sticky;
  top: 0;
  z-index: 100;
  box-sizing: border-box;
}

.ph-header {
  padding: 14px 24px;
  background: #fff;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  box-sizing: border-box;
}
.ph-header img { height: 32px; width: auto; }

.ph-nav {
  display: flex;
  gap: 8px;
  align-items: center;
}
.ph-nav a {
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: var(--radius-md, 8px);
  transition: all 0.2s ease;
}
.ph-link {
  color: var(--color-navy, #354B5E);
}
.ph-link:hover {
  background: var(--color-gold-pale, #FDF5E9);
}
.ph-cta {
  background: var(--color-brand, #dc9435);
  color: #fff;
}
.ph-cta:hover {
  background: var(--color-brand-hover, #c4842f);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 768px) {
  #publicHeader { height: 52px; }
  .ph-header { height: 52px; padding: 10px 16px; }
}

@media (max-width: 480px) {
  #publicHeader { height: 48px; }
  .ph-header { height: 48px; padding: 10px 12px; }
  .ph-header img { height: 28px; }
  .ph-nav { gap: 4px; }
  .ph-nav a { font-size: 12px; padding: 6px 10px; white-space: nowrap; }
}

/* ==========================================================================
   Theme Toggle
   ========================================================================== */
.ph-theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--radius-md, 8px);
  background: transparent;
  color: var(--color-text-muted, #6b7280);
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  padding: 0;
  flex-shrink: 0;
}
.ph-theme-toggle:hover {
  background: var(--color-gold-pale, #FDF5E9);
  color: var(--color-brand, #dc9435);
  border-color: var(--color-brand, #dc9435);
}

/* ==========================================================================
   Dark Mode
   ========================================================================== */
[data-theme="dark"] #publicHeader { background: var(--color-bg-card); border-bottom-color: var(--color-border); }
[data-theme="dark"] .ph-header { background: var(--color-bg-card); border-bottom-color: var(--color-border); }
[data-theme="dark"] .ph-link { color: var(--color-teal-light); }
[data-theme="dark"] .ph-link:hover { background: var(--color-bg-subtle); }
[data-theme="dark"] .ph-theme-toggle { border-color: var(--color-border); color: var(--color-text-muted); }
[data-theme="dark"] .ph-theme-toggle:hover { background: var(--color-bg-subtle); color: var(--color-warning); border-color: var(--color-warning); }
