/* =============================================================================
 * Atribu Feedback — Fider custom theme (v3)
 * Rewritten after inspecting live DOM: forces DM Sans everywhere, overrides
 * Tailwind .bg-white utility, restyles nav icons, suggestion input, and cards.
 *
 * Paste into: Fider → Site Settings → Advanced → Custom CSS → Save.
 * ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap");

:root {
  --atb-primary: #0f5d52;
  --atb-primary-hover: #0c4d44;
  --atb-primary-fg: #f7f6f1;
  --atb-terracotta: #d65d32;
  --atb-amber: #f2b544;
  --atb-bg: #f7f6f1;
  --atb-fg: #16212a;
  --atb-card: #fffdf8;
  --atb-muted-fg: #5b6670;
  --atb-subtle: #ede9e1;
  --atb-border: #d7d0c3;
  --atb-radius: 0.875rem;
  --atb-radius-sm: 0.5rem;
  --atb-ring: color-mix(in srgb, var(--atb-primary) 28%, transparent);
  --atb-shadow-sm: 0 1px 2px rgba(22, 33, 42, 0.04), 0 1px 1px rgba(22, 33, 42, 0.03);
  --atb-shadow-md: 0 6px 20px rgba(22, 33, 42, 0.06), 0 2px 6px rgba(22, 33, 42, 0.04);
  --atb-font-sans: "DM Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
}

.dark, [data-theme="dark"], .theme-dark {
  --atb-primary: #0f7d70;
  --atb-primary-hover: #0c6a5f;
  --atb-terracotta: #e07040;
  --atb-bg: #1a1815;
  --atb-fg: #e8e4dc;
  --atb-card: #242019;
  --atb-muted-fg: #9b9489;
  --atb-subtle: #2e2a24;
  --atb-border: #3a352e;
  --atb-ring: color-mix(in srgb, var(--atb-primary) 42%, transparent);
}

/* ── Universal font override (Fider scatters Inter fallbacks) ──── */
*,
*::before,
*::after,
.c-button,
.c-input,
.c-themeswitcher,
input,
textarea,
button,
select {
  font-family: var(--atb-font-sans) !important;
}

/* ── Page base ────────────────────────────────────────────────── */
html, body {
  background: var(--atb-bg) !important;
  color: var(--atb-fg) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Warm atmospheric wash — behind everything, no stacking contexts on children */
body { isolation: isolate; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(ellipse at 10% 0%, rgba(15, 93, 82, 0.06), transparent 55%),
    radial-gradient(ellipse at 90% 10%, rgba(242, 181, 68, 0.07), transparent 50%),
    radial-gradient(ellipse at 50% 100%, rgba(214, 93, 50, 0.04), transparent 55%);
}

/* Override Tailwind .bg-white (the main content shell) */
.bg-white {
  background: transparent !important;
}

/* ── Header / menu ────────────────────────────────────────────── */
.c-menu {
  background: color-mix(in srgb, var(--atb-card) 78%, transparent) !important;
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--atb-border);
  box-shadow: 0 1px 0 rgba(22, 33, 42, 0.02) !important;
  padding: 0.75rem 1.25rem !important;
  position: relative;
  z-index: 50; /* keep dropdowns above content */
}

/* Dropdowns / popovers escape stacking — cover common Fider class names */
[class*="dropdown"], [class*="Dropdown"],
[class*="popover"], [class*="Popover"],
[class*="menu-dropdown"], .c-menu-dropdown {
  z-index: 100 !important;
}
.c-menu .container {
  max-width: 72rem;
  margin-inline: auto;
  width: 100%;
}

/* Site wordmark in header */
.c-menu a.flex {
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.01em;
  color: var(--atb-fg) !important;
  text-decoration: none !important;
}
.c-menu a.flex:hover {
  color: var(--atb-primary) !important;
}

/* Icon buttons (theme switcher, RSS) */
.c-themeswitcher {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--atb-radius-sm) !important;
  background: transparent !important;
  color: var(--atb-muted-fg) !important;
  border: 1px solid transparent !important;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 120ms ease;
}
.c-themeswitcher:hover {
  background: var(--atb-subtle) !important;
  color: var(--atb-primary) !important;
  border-color: var(--atb-border) !important;
}
.c-themeswitcher:active { transform: scale(0.96); }
.c-themeswitcher svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  color: inherit !important;
}
/* Override Tailwind text-gray-500 inside nav */
.c-menu .text-gray-500 {
  color: inherit !important;
}

/* Sign-in link → pill button */
.c-menu a.uppercase {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 999px !important;
  background: var(--atb-primary) !important;
  color: var(--atb-primary-fg) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 120ms ease, box-shadow 180ms ease;
  box-shadow: var(--atb-shadow-sm);
}
.c-menu a.uppercase:hover {
  background: var(--atb-primary-hover) !important;
  box-shadow: var(--atb-shadow-md);
}
.c-menu a.uppercase:active { transform: translateY(1px); }

/* ── Main content area ───────────────────────────────────────── */
main, .p-home {
  max-width: 72rem;
  margin-inline: auto;
  padding: 2rem 1.25rem !important;
}
.p-home__posts-col {
  background: var(--atb-card) !important;
  border: 1px solid var(--atb-border);
  border-radius: var(--atb-radius) !important;
  box-shadow: var(--atb-shadow-sm);
  padding: 1.5rem !important;
}

/* ── Suggestion input / submit button ────────────────────────── */
.c-button.c-input,
.c-input,
input.c-input,
textarea.c-input {
  background: var(--atb-card) !important;
  color: var(--atb-fg) !important;
  border: 1px solid var(--atb-border) !important;
  border-radius: var(--atb-radius) !important;
  padding: 0.875rem 1rem !important;
  font-size: 0.95rem !important;
  width: 100%;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.c-input:hover {
  border-color: color-mix(in srgb, var(--atb-primary) 30%, var(--atb-border)) !important;
}
.c-input:focus,
.c-input:focus-within {
  outline: none !important;
  border-color: var(--atb-primary) !important;
  box-shadow: 0 0 0 3px var(--atb-ring) !important;
}

/* Suggestion "button" at top of home (the CTA-styled input) */
.c-button.c-button--default.c-button--secondary.c-input {
  background: color-mix(in srgb, var(--atb-primary) 10%, var(--atb-card)) !important;
  color: var(--atb-primary) !important;
  border: 1px solid color-mix(in srgb, var(--atb-primary) 35%, transparent) !important;
  font-weight: 500 !important;
  text-align: left !important;
  cursor: pointer;
}
.c-button.c-button--default.c-button--secondary.c-input:hover {
  background: color-mix(in srgb, var(--atb-primary) 15%, var(--atb-card)) !important;
  border-color: var(--atb-primary) !important;
}

/* ── Buttons (general) ───────────────────────────────────────── */
.c-button {
  border-radius: var(--atb-radius-sm) !important;
  font-weight: 600 !important;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease,
              box-shadow 180ms ease, transform 120ms ease;
  min-height: 2.5rem;
  cursor: pointer;
}
.c-button:active { transform: translateY(1px); }

.c-button.m-primary,
button[type="submit"]:not(.c-input) {
  background: var(--atb-primary) !important;
  color: var(--atb-primary-fg) !important;
  border: 1px solid var(--atb-primary) !important;
  box-shadow: var(--atb-shadow-sm);
}
.c-button.m-primary:hover,
button[type="submit"]:not(.c-input):hover {
  background: var(--atb-primary-hover) !important;
  border-color: var(--atb-primary-hover) !important;
  box-shadow: var(--atb-shadow-md);
}

/* ── Links ───────────────────────────────────────────────────── */
a {
  color: var(--atb-primary);
  text-decoration-color: color-mix(in srgb, var(--atb-primary) 30%, transparent);
  text-underline-offset: 3px;
  transition: color 180ms ease, text-decoration-color 180ms ease;
}
a:hover { color: var(--atb-primary-hover); text-decoration-color: var(--atb-primary); }

/* ── Vote counter (old + new class names) ────────────────────── */
.c-support-counter button.m-supported,
.c-support-counter button:hover,
.c-vote-counter button.m-voted,
.c-vote-counter button:hover {
  color: var(--atb-primary) !important;
  border-color: var(--atb-primary) !important;
}
.c-support-counter button.m-supported,
.c-vote-counter button.m-voted {
  background: color-mix(in srgb, var(--atb-terracotta) 10%, var(--atb-card)) !important;
  color: var(--atb-terracotta) !important;
  border-color: var(--atb-terracotta) !important;
}
.c-support-counter button.m-supported i.icon,
.c-vote-counter button.m-voted i.icon {
  color: var(--atb-terracotta) !important;
}

/* ── Staff markers ───────────────────────────────────────────── */
.c-username.m-staff { color: var(--atb-terracotta); }
.c-avatar.m-staff { border-color: var(--atb-terracotta); }

/* ── Post list items ─────────────────────────────────────────── */
.c-idea-list .c-list-item .c-list-item-title:hover,
.c-post-list .c-list-item .c-list-item-title:hover,
.c-post-list-item .c-post-list-item-title:hover {
  color: var(--atb-primary);
}
.c-post-list-item {
  border-bottom: 1px solid var(--atb-border) !important;
  padding: 1rem 0 !important;
  transition: background 180ms ease;
}
.c-post-list-item:hover {
  background: color-mix(in srgb, var(--atb-subtle) 50%, transparent);
}

/* ── Empty state / welcome box ───────────────────────────────── */
.bg-yellow-100,
[class*="bg-yellow"] {
  background: color-mix(in srgb, var(--atb-amber) 16%, var(--atb-card)) !important;
  border: 1px solid color-mix(in srgb, var(--atb-amber) 35%, transparent) !important;
  border-radius: var(--atb-radius) !important;
  color: var(--atb-fg) !important;
}

/* Warm-tint illustrations / images of empty states */
.p-home__posts-col img {
  filter: hue-rotate(-8deg) saturate(0.85);
  opacity: 0.85;
}

/* ── "Powered by Fider" footer ───────────────────────────────── */
.c-powered {
  color: var(--atb-muted-fg) !important;
  font-size: 0.75rem !important;
  opacity: 0.7;
}
.c-powered:hover { opacity: 1; }

/* ── Scrollbars ──────────────────────────────────────────────── */
* { scrollbar-width: thin; scrollbar-color: transparent transparent; }
*:hover { scrollbar-color: color-mix(in srgb, var(--atb-fg) 20%, transparent) transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: transparent; border-radius: 3px; }
*:hover::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--atb-fg) 20%, transparent); }

/* ── Selection ───────────────────────────────────────────────── */
::selection {
  background: color-mix(in srgb, var(--atb-primary) 22%, transparent);
  color: var(--atb-fg);
}

/* ── Focus-visible ───────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--atb-primary);
  outline-offset: 2px;
  border-radius: var(--atb-radius-sm);
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .c-menu { padding: 0.5rem 0.75rem !important; }
  main, .p-home { padding: 1rem 0.75rem !important; }
  .p-home__posts-col { padding: 1rem !important; }
  .c-themeswitcher { width: 2.5rem; height: 2.5rem; }
  .c-button { min-height: 2.75rem; padding-inline: 1rem; }
}