/* EagleEye Intelligence design system applied to UnwantedIP */
:root {
  --bg:        #080c12;
  --bg-2:      #0d1117;
  --surface:   rgba(255,255,255,0.04);
  --border:    rgba(0,212,255,0.12);
  --border-dim:rgba(255,255,255,0.06);
  --cyan:      #00d4ff;
  --cyan-dim:  rgba(0,212,255,0.12);
  --amber:     #ff8c42;
  --green:     #00e676;
  --red:       #ff4444;
  --text:      #e8edf5;
  --muted:     #6b7a99;
  --dim:       #9aa5bf;
  --fd:        'Syne', sans-serif;
  --fb:        'DM Sans', sans-serif;
  --fm:        'JetBrains Mono', monospace;
}

/* Olivero variable overrides — must come after Olivero's :root, so duplicate in body too */
body {
  --color--primary-50: #0d1117;
  --color--primary-40: #0d1117;
  --color--primary-30: #00d4ff;
  --color--white: #0d1117;
  --color--gray-100: #080c12;
  --color--gray-95: #0d1117;
  --color--gray-90: #141926;
}

/* ── Base ── */
html, body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--fb) !important;
  font-size: 15px;
  line-height: 1.65;
}

/* ── Header — brute-force dark override ── */
header#header { border-bottom: 1px solid rgba(0,212,255,0.15) !important; box-shadow: none !important; }

header#header,
header#header *:not(.primary-nav__menu-link):not(.secondary-nav__menu-link):not(.site-branding__name a):not(.mobile-nav-button):not(span):not(button span):not(ul):not(li) {
  background-color: #0d1117 !important;
  background-image: none !important;
}

.site-header__initial { background-color: transparent !important; background-image: none !important; }
.site-header__inner   { background: #0d1117 !important; background-image: none !important; }
.site-header__fixable { background: #0d1117 !important; }
.site-branding, .site-branding__inner, .site-branding__text { background: transparent !important; }
.header-nav, .header-nav-overlay { background: transparent !important; }
.primary-nav, .primary-nav__menu, .primary-nav__menu-item { background: transparent !important; }
.region--secondary-menu, .secondary-nav, .secondary-nav__menu { background: transparent !important; }
@media (min-width: 1024px) { .mobile-buttons { display: none !important; } }
.header-nav-overlay { display: none !important; }

.site-header__inner { padding: 0 !important; min-height: unset !important; overflow: visible !important; }
.site-header__fixable { overflow: hidden !important; height: 96px !important; display: flex !important; align-items: center !important; }
:root { --olivero-sticky-header-height: 0px !important; }
body { padding-top: 0 !important; margin-top: 0 !important; }
header#header { min-height: unset !important; }
.header-nav-overlay { display: none !important; }
.site-header__inner__container {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 1.5rem !important;
  height: 96px !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  flex-wrap: nowrap !important;
}

/* Site logo — icon + site name as a single linked flex row */
.site-branding__logo img { height: 72px; width: auto; }
.site-branding { flex-shrink: 0; margin-right: 0.5rem !important; align-items: center !important; min-height: 0 !important; padding-block: 0 !important; background-image: none !important; }
.site-branding__inner { display: flex !important; align-items: center !important; height: auto !important; padding-block: 0 !important; }
.site-branding__text { margin: 0 !important; padding: 0 !important; }
.site-branding__name { margin: 0 !important; font-size: 0 !important; line-height: 0 !important; }
.site-branding__name a,
.site-branding__name a:link,
.site-branding__name a:visited {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  width: auto !important;
  height: 60px !important;
  background: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
  font-size: 0 !important;
  opacity: 1;
  transition: opacity 0.15s;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
header#header .site-branding__name a,
header#header .site-branding__name a:link,
header#header .site-branding__name a:visited,
header#header .site-branding__name a:hover,
header#header .site-branding__name a:focus,
header#header .site-branding__name a:focus-visible {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.site-branding__name a:hover { opacity: 0.8; text-decoration: none !important; }
.site-branding__name a::before { display: none; }
.site-branding__name a::after {
  content: 'UnwantedIP';
  font-family: 'Syne', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Hide system Home link */
a[data-drupal-link-system-path="<front>"],
.primary-nav__menu-item:has(a[data-drupal-link-system-path="<front>"]) { display: none !important; }

/* Nav items */
.header-nav { display: flex !important; align-items: center !important; gap: 0.25rem !important; flex: 1 !important; }
.primary-nav { flex: 1; }
.primary-nav__menu { display: flex !important; align-items: center !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.primary-nav__menu-item { margin: 0 !important; }
.primary-nav__menu-link {
  display: block !important;
  padding: 0.4rem 0.75rem !important;
  font-family: var(--fb) !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: var(--dim) !important;
  text-decoration: none !important;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  white-space: nowrap;
}
.primary-nav__menu-link:hover { color: var(--cyan) !important; background: var(--cyan-dim) !important; text-decoration: none !important; }
.primary-nav__menu-link--active,
[data-drupal-link-system-path="<front>"].primary-nav__menu-link { color: var(--cyan) !important; }

/* Secondary nav (account menu) */
.region--secondary-menu { display: flex; align-items: center; }
.secondary-nav { margin: 0; }
.secondary-nav__menu { display: flex !important; align-items: center !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.secondary-nav__menu-link {
  display: block !important;
  padding: 0.35rem 0.65rem !important;
  font-family: var(--fb) !important;
  font-size: 0.8rem !important;
  color: var(--muted) !important;
  text-decoration: none !important;
  border-radius: 6px;
  white-space: nowrap;
  transition: color 0.15s;
}
.secondary-nav__menu-link:hover { color: var(--cyan) !important; text-decoration: none !important; }

/* Hide sticky toggle and its container — contains only the toggle, nothing else */
.sticky-header-toggle { display: none !important; }
.site-header__initial { display: none !important; }
@media (min-width: 1024px) {
  .mobile-nav-button { display: none !important; }
  .header-nav { display: flex !important; }
}
@media (max-width: 1023px) {
  /* Mobile: restore Olivero defaults, just dark them */
  .site-header__inner__container { height: 56px !important; flex-wrap: nowrap !important; }
  .header-nav { display: none; }
  .header-nav.is-open { display: block !important; background: var(--bg-2); border-top: 1px solid var(--border); }
  .primary-nav__menu { flex-direction: column !important; padding: 0.5rem 0 !important; }
  .primary-nav__menu-link { padding: 0.65rem 1.25rem !important; border-radius: 0 !important; }
  .mobile-nav-button { color: var(--dim) !important; background: transparent !important; border: none !important; }
  .mobile-nav-button:hover { color: var(--cyan) !important; }
  .secondary-nav__menu { flex-direction: column !important; }
  .secondary-nav__menu-link { padding: 0.6rem 1.25rem !important; }
}

/* ── Main content ── */
.dialog-off-canvas-main-canvas,
#page-wrapper,
main, [role="main"],
.layout-container { background: var(--bg) !important; }

.layout-container, .container { max-width: 1140px !important; }

main > .layout-container { padding-top: 0.75rem !important; }
.layout-container { padding-top: 0 !important; }
.dialog-off-canvas-main-canvas { padding-top: 0 !important; }
#page-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
.layout-main-wrapper { margin-top: 0 !important; padding-top: 0 !important; }
#main-wrapper { margin-top: 0 !important; }
body { padding-top: 0 !important; }
body.js-has-sticky-header { padding-top: 0 !important; }
.block-page-title-block { margin-bottom: 0.5rem !important; }

/* Breadcrumb */
.breadcrumb { font-size: 0.8rem; margin-bottom: 0.5rem; }
.breadcrumb ol { margin: 0; padding: 0; list-style: none; display: flex; gap: 0.4rem; align-items: center; }
.breadcrumb a { color: var(--muted) !important; text-decoration: none; }
.breadcrumb a:hover { color: var(--cyan) !important; }
.breadcrumb li::after { content: '/'; color: var(--border-dim); margin-left: 0.4rem; }
.breadcrumb li:last-child::after { display: none; }

/* Page title */
h1.page-title, h1 { font-family: var(--fd) !important; font-weight: 800 !important; font-size: 2rem !important; color: var(--text) !important; letter-spacing: -0.02em; margin-bottom: 1.25rem; line-height: 1.2; }
h2 { font-family: var(--fd) !important; font-weight: 700 !important; font-size: 1.25rem !important; color: var(--text) !important; }
h3 { font-family: var(--fd) !important; font-weight: 700 !important; font-size: 1rem !important; color: var(--text) !important; }

/* Links */
a { color: var(--cyan) !important; text-decoration: none; }
a:hover { color: #fff !important; }
a:visited { color: var(--cyan); }

/* ── Tables ── */
table { width: 100%; border-collapse: collapse; font-size: 0.875rem; font-family: var(--fb); }
thead th {
  background: var(--bg-2) !important;
  color: var(--muted) !important;
  font-family: var(--fb) !important;
  font-size: 0.72rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
tbody td {
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid var(--border-dim);
  color: var(--text);
  vertical-align: middle;
}
tbody tr:hover { background: var(--surface); }
tbody tr:last-child td { border-bottom: none; }

/* ── Pager ── */
nav.pager { margin-top: 1.5rem; }
.pager__items { display: flex; gap: 0.15rem; align-items: center; flex-wrap: nowrap; }
.pager__item a, .pager__item--current .pager__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--dim) !important;
  border-radius: 4px;
  padding: 0.15rem 0.3rem;
  font-size: 0.7rem;
  font-family: var(--fm);
  transition: all 0.15s;
  text-decoration: none !important;
}
.unwantedip-search-global { margin-right: 1rem !important; }
.pager__item a:hover { color: var(--cyan) !important; border-color: var(--cyan) !important; }
.pager__item--current .pager__link { color: var(--cyan) !important; border-color: var(--cyan) !important; }
.pager__item--active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cyan-dim) !important;
  border: 1px solid var(--cyan) !important;
  color: var(--cyan) !important;
  border-radius: 6px;
  padding: 0.28rem 0.7rem;
  font-size: 0.82rem;
  font-family: var(--fm);
  min-width: 1.8rem;
}
.pager__item--control a { padding: 0.28rem 0.6rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; background: transparent !important; border-color: transparent !important; }
.pager__item--control a:hover { background: var(--cyan-dim) !important; border-color: var(--border) !important; }
.pager__item--control svg { fill: var(--muted); width: 10px; height: 14px; transition: fill 0.15s; }
.pager__item--control a:hover svg { fill: var(--cyan); }

/* ── Buttons ── */
.button, button[type="submit"], input[type="submit"] {
  background: var(--cyan-dim) !important;
  border: 1px solid var(--cyan) !important;
  color: var(--cyan) !important;
  border-radius: 6px;
  font-family: var(--fb);
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.45rem 1rem;
  cursor: pointer;
  transition: all 0.15s;
}
.button:hover, button[type="submit"]:hover { background: var(--cyan) !important; color: var(--bg) !important; }

/* ── Inputs ── */
input[type="text"], input[type="search"], textarea, select {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 6px;
  padding: 0.4rem 0.75rem;
  font-family: var(--fb);
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.15s;
}
input[type="text"]:focus, input[type="search"]:focus { border-color: var(--cyan) !important; box-shadow: 0 0 0 3px var(--cyan-dim); }
input::placeholder { color: var(--muted) !important; }

/* ── Footer ── */
footer[role="contentinfo"],
footer[role="contentinfo"] *,
footer[role="contentinfo"] .layout-container,
footer[role="contentinfo"] .region { background: var(--bg-2) !important; }
footer[role="contentinfo"] {
  border-top: 1px solid var(--border);
  color: var(--muted) !important;
  padding: 0 !important;
  margin-top: 1rem;
  min-height: unset !important;
}
footer[role="contentinfo"] .layout-container { padding: 0 !important; max-width: 100% !important; }
footer[role="contentinfo"] .region { padding: 0 !important; }

/* Hide duplicate footer block */
#block-eagleeye-footer { display: none !important; }

/* ── Login form ── */
.user-login-form {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 2rem;
  max-width: 400px;
  margin: 3rem auto;
}
