/* ==========================================================================
   Calcifer Theme for Homepage (matching Calcifer Authorization Server)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300..800;1,300..800&display=swap');

:root {
  color-scheme: dark;
  --background: #0d0d0f;
  --background-glow: #3a1115;
  --card: rgba(20, 18, 20, 0.96);
  --card-hover: rgba(28, 24, 27, 0.98);
  --border: #4a292d;
  --border-focus: #dc3947;
  --text: #f8fafc;
  --muted: #b0a1a4;
  --accent: #dc3947;
  --accent-hover: #f06a73;
  --input: #111113;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Background with subtle top crimson glow matching auth server */
html,
body,
#__next,
#page_wrapper,
#inner_wrapper {
  background-color: var(--background) !important;
  background:
    radial-gradient(circle at 50% 0%, var(--background-glow) 0, transparent 55%),
    var(--background) !important;
  color: var(--text) !important;
  font-family: var(--font-mono), monospace !important;
  min-height: 100% !important;
}

#background {
  display: none !important;
}

/* Squadratura bordi (4px) */
.service-card,
.service-title-text,
.service-icon,
.bookmark a,
.bookmark-icon,
.bookmark-text,
.information-widget-resource,
input,
button,
dialog,
.rounded-3xl,
.rounded-2xl,
.rounded-xl,
.rounded-lg,
.rounded-md {
  border-radius: 4px !important;
}

/* Service Groups & Headers */
.service-group-name {
  font-family: var(--font-mono), monospace !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: var(--text) !important;
  font-size: 1.05rem !important;
  text-transform: uppercase !important;
}

/* Service Cards */
.service-card {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34) !important;
  transition: transform 140ms ease, border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease !important;
}

.service-card:hover {
  background: var(--card-hover) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 16px 32px rgba(220, 57, 71, 0.12), 0 16px 36px rgba(0, 0, 0, 0.45) !important;
  transform: translateY(-2px) !important;
}

.service-name {
  font-family: var(--font-mono), monospace !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  letter-spacing: -0.01em !important;
}

.service-description {
  font-family: var(--font-mono), monospace !important;
  color: var(--muted) !important;
  font-size: 0.78rem !important;
  letter-spacing: -0.01em !important;
}

/* Bookmarks (if configured) */
.bookmark a {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34) !important;
  transition: transform 140ms ease, border-color 140ms ease, background-color 140ms ease !important;
}

.bookmark a:hover {
  background: var(--card-hover) !important;
  border-color: var(--accent) !important;
  transform: translateY(-2px) !important;
}

.bookmark-name {
  font-family: var(--font-mono), monospace !important;
  color: var(--text) !important;
}

.bookmark-description {
  font-family: var(--font-mono), monospace !important;
  color: var(--muted) !important;
}

/* Status indicator dot */
.status-dot,
[class*="status"] span[class*="rounded-full"] {
  box-shadow: 0 0 8px currentColor;
}

.site-monitor-status {
  border-radius: 2px !important;
  font-family: var(--font-mono), monospace !important;
}

/* Search bar / Input */
#information-widgets {
  border-bottom-color: var(--border) !important;
}

input,
.information-widget-search input {
  background-color: var(--input) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  color: var(--text) !important;
  font-family: var(--font-mono), monospace !important;
}

input:focus,
.information-widget-search input:focus {
  outline: 2px solid rgba(220, 57, 71, 0.35) !important;
  outline-offset: 1px !important;
  border-color: var(--accent) !important;
}

/* Disattivazione/nascondimento selettore tema e tavolozza colori */
#theme,
#color,
[id="theme"],
[id="color"] {
  display: none !important;
}

/* NextAuth Sign In Page */
main .rounded-3xl,
main .rounded-2xl {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34) !important;
}

main h1 {
  font-family: var(--font-mono), monospace !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: var(--text) !important;
}

main p {
  font-family: var(--font-mono), monospace !important;
  color: var(--muted) !important;
}

main button {
  background: var(--accent) !important;
  border-radius: 4px !important;
  font-family: var(--font-mono), monospace !important;
  font-weight: 650 !important;
  transition: transform 120ms ease, background-color 120ms ease !important;
}

main button:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px) !important;
}
