/* ===========================================
   Forgejo Custom Theme - git.bexsys.fr
   Version: 2.0

   Basé sur forgejo-dark avec palette BEXSYS
   =========================================== */

@import url("./theme-forgejo-dark.css");
@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;600;700&family=Red+Hat+Text:wght@400;500;600&family=Red+Hat+Mono:wght@400;500&display=swap");

:root {
  /* ===== Palette BEXSYS ===== */
  --color-bx-green: #acf299;
  --color-bx-green-hover: #c2f7b3;
  --color-bx-green-dark: #8ad474;
  --color-bx-green-subtle: rgba(172, 242, 153, 0.12);
  --color-bx-bg: #111113;
  --color-bx-bg-light: #19191d;
  --color-bx-bg-lighter: #222226;
  --color-bx-text: #e4e4e7;
  --color-bx-text-muted: #8b8b92;

  /* ===== Typographie Red Hat ===== */
  --fonts-regular: 'Red Hat Text', -apple-system, sans-serif;
  --fonts-monospace: 'Red Hat Mono', ui-monospace, monospace;

  /* ===== Override Forgejo Primary Colors ===== */
  --color-primary: var(--color-bx-green);
  --color-primary-dark-1: var(--color-bx-green-dark);
  --color-primary-dark-2: #7ec46a;
  --color-primary-light-1: var(--color-bx-green-hover);
  --color-primary-light-2: #d4fac8;
  --color-primary-alpha-10: rgba(172, 242, 153, 0.1);
  --color-primary-alpha-20: rgba(172, 242, 153, 0.2);
  --color-primary-alpha-40: rgba(172, 242, 153, 0.4);

  /* ===== Accent Color ===== */
  --color-accent: var(--color-bx-green);
  accent-color: var(--color-bx-green);

  /* ===== Body Background ===== */
  --color-body: var(--color-bx-bg);
  --color-box-body: var(--color-bx-bg-light);
  --color-box-body-highlight: var(--color-bx-bg-lighter);

  /* ===== Secondary Colors ===== */
  --color-secondary: var(--color-bx-bg-lighter);
  --color-secondary-dark-1: var(--color-bx-bg-light);
  --color-secondary-dark-2: var(--color-bx-bg);
  --color-secondary-light-1: #2c2c30;
  --color-secondary-light-2: #363639;

  /* ===== Text Colors ===== */
  --color-text: var(--color-bx-text);
  --color-text-light: var(--color-bx-text-muted);
  --color-text-light-1: #a1a1a6;
  --color-text-light-2: #71717a;
  --color-text-dark: #FFFFFF;

  /* ===== Link Colors ===== */
  --color-link: var(--color-bx-green);
  --color-link-hover: var(--color-bx-green-hover);

  /* ===== Button Primary ===== */
  --color-button-primary-bg: var(--color-bx-green);
  --color-button-primary-text: #111113;
  --color-button-primary-hover-bg: var(--color-bx-green-hover);
  --color-button-primary-hover-text: #111113;

  /* ===== Labels & Tags ===== */
  --color-label-bg: var(--color-bx-green-subtle);
  --color-label-text: var(--color-bx-green);

  /* ===== Navigation Active ===== */
  --color-nav-hover-bg: var(--color-bx-green-subtle);

  /* ===== Code & Diff Colors ===== */
  --color-diff-added-row-bg: rgba(172, 242, 153, 0.08);
  --color-diff-added-row-border: rgba(172, 242, 153, 0.25);
  --color-diff-added-word-bg: rgba(172, 242, 153, 0.2);

  /* ===== Focus States ===== */
  --color-focus: var(--color-bx-green);
  --color-focus-shadow: 0 0 0 3px rgba(172, 242, 153, 0.25);

  /* ===== Progress & Loading ===== */
  --color-progress-bar: var(--color-bx-green);
}

/* ===== Typographie ===== */
body {
  font-family: 'Red Hat Text', -apple-system, sans-serif !important;
  background-color: var(--color-bx-bg) !important;
}

h1, h2, h3, h4, h5, h6,
.header,
.ui.header {
  font-family: 'Red Hat Display', sans-serif !important;
}

code, pre, .mono,
.CodeMirror,
.cm-editor,
.diff-file-body,
.file-view pre {
  font-family: 'Red Hat Mono', ui-monospace, monospace !important;
}

/* ===== Navigation Bar ===== */
.ui.secondary.menu .item.active,
.ui.secondary.menu .item:hover {
  background-color: var(--color-bx-green-subtle) !important;
  color: var(--color-bx-green) !important;
}

/* ===== Primary Buttons ===== */
.ui.primary.button,
.ui.primary.buttons .button {
  background-color: var(--color-bx-green) !important;
  color: #111113 !important;
  border-radius: 6px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
  background-color: var(--color-bx-green-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(172, 242, 153, 0.2);
}

.ui.primary.button:active,
.ui.primary.buttons .button:active {
  background-color: var(--color-bx-green-dark) !important;
  transform: translateY(0);
}

/* ===== Secondary/Basic Buttons ===== */
.ui.basic.button,
.ui.secondary.button {
  border-color: var(--color-bx-green) !important;
  color: var(--color-bx-green) !important;
  border-radius: 6px;
}

.ui.basic.button:hover,
.ui.secondary.button:hover {
  background-color: var(--color-bx-green-subtle) !important;
  color: var(--color-bx-green-hover) !important;
}

/* ===== Links ===== */
a {
  color: var(--color-bx-green);
  transition: color 0.15s ease;
}

a:hover {
  color: var(--color-bx-green-hover);
}

/* ===== Labels & Badges ===== */
.ui.label {
  border-radius: 4px;
}

.ui.label.green,
.ui.green.label {
  background-color: var(--color-bx-green) !important;
  color: #111113 !important;
}

/* ===== Repository Cards ===== */
.repository.list .item .header a {
  color: var(--color-bx-green) !important;
}

.repository.list .item .header a:hover {
  color: var(--color-bx-green-hover) !important;
}

/* ===== Tabs ===== */
.ui.tabular.menu .item.active {
  border-bottom-color: var(--color-bx-green) !important;
  color: var(--color-bx-green) !important;
}

.ui.secondary.pointing.menu .item.active {
  border-color: var(--color-bx-green) !important;
  color: var(--color-bx-green) !important;
}

/* ===== Form Inputs ===== */
.ui.input input:focus,
.ui.form textarea:focus,
.ui.form input:focus {
  border-color: var(--color-bx-green) !important;
  box-shadow: 0 0 0 2px rgba(172, 242, 153, 0.15) !important;
}

/* ===== Checkboxes & Toggles ===== */
.ui.checkbox input:checked ~ .box:before,
.ui.checkbox input:checked ~ label:before {
  border-color: var(--color-bx-green) !important;
  background-color: var(--color-bx-green) !important;
}

.ui.toggle.checkbox input:checked ~ label:before {
  background-color: var(--color-bx-green) !important;
}

/* ===== Progress Bars ===== */
.ui.progress .bar {
  background-color: var(--color-bx-green) !important;
}

/* ===== Pagination ===== */
.ui.pagination.menu .item.active {
  background-color: var(--color-bx-green) !important;
  color: #111113 !important;
}

/* ===== Dropdown ===== */
.ui.dropdown .menu .item.active,
.ui.dropdown .menu .item:hover {
  background-color: var(--color-bx-green-subtle) !important;
  color: var(--color-bx-green) !important;
}

/* ===== Selection ===== */
::selection {
  background-color: rgba(172, 242, 153, 0.25);
  color: #FFFFFF;
}

/* ===== Scrollbar (Webkit) ===== */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--color-bx-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--color-bx-bg-lighter);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-bx-green-dark);
}

/* ===== Branch/Tag Labels ===== */
.ref-container .ref-name {
  background-color: var(--color-bx-green-subtle) !important;
  color: var(--color-bx-green) !important;
  border-radius: 4px;
}

/* ===== Commit Graph ===== */
.commit-list .commit-id {
  color: var(--color-bx-green);
}

/* ===== Issue/PR States ===== */
.issue-state-open,
.merged-icon {
  background-color: var(--color-bx-green) !important;
}

/* ===== Activity Graph ===== */
.activity-bar-graph rect.contrib {
  fill: var(--color-bx-green);
}

/* ===== Notifications ===== */
.ui.message.positive,
.ui.message.success {
  background-color: var(--color-bx-green-subtle) !important;
  color: var(--color-bx-green) !important;
  border-left: 4px solid var(--color-bx-green);
}

/* ===== Modal Focus ===== */
.ui.modal > .actions .button.primary {
  background-color: var(--color-bx-green) !important;
  color: #111113 !important;
}

/* ===== Footer ===== */
footer {
  background-color: var(--color-bx-bg) !important;
  border-top: 1px solid var(--color-bx-bg-lighter);
}

/* ===== Header Navbar ===== */
.full.height > .navbar {
  background-color: var(--color-bx-bg-light) !important;
  border-bottom: 1px solid var(--color-bx-bg-lighter);
}

/* ===== Sign In Page ===== */
.page-content.user.signin .ui.form .field .ui.button.primary,
.page-content.user.signup .ui.form .field .ui.button.primary {
  background-color: var(--color-bx-green) !important;
  color: #111113 !important;
}

/* ===== Code Mirror (Editor) ===== */
.CodeMirror-selected {
  background-color: rgba(172, 242, 153, 0.2) !important;
}

.CodeMirror-cursor {
  border-left-color: var(--color-bx-green) !important;
}

/* ===== Markdown Preview ===== */
.markdown a {
  color: var(--color-bx-green);
}

.markdown a:hover {
  color: var(--color-bx-green-hover);
}

/* ===== Stats & Numbers ===== */
.repository .repo-header .repo-buttons .ui.labeled.button > .label {
  background-color: var(--color-bx-bg-lighter) !important;
}
