/* ===========================================
   Forgejo Custom Theme - git.breis.ch
   "T'entends ce commit endiablé ?"
   Version: 1.0
   
   Basé sur forgejo-dark avec palette breis.ch
   =========================================== */

@import url("./theme-forgejo-dark.css");

:root {
  /* ===== Palette breis.ch (vert doux) ===== */
  --color-breis-green: #7BC47B;
  --color-breis-green-hover: #8ED18E;
  --color-breis-green-dark: #5EA65E;
  --color-breis-green-subtle: rgba(123, 196, 123, 0.12);
  --color-breis-bg: #1A1A1A;
  --color-breis-bg-light: #242424;
  --color-breis-bg-lighter: #2E2E2E;
  --color-breis-text: #E8E8E8;
  --color-breis-text-muted: #A0A0A0;

  /* ===== Override Forgejo Primary Colors ===== */
  --color-primary: var(--color-breis-green);
  --color-primary-dark-1: var(--color-breis-green-dark);
  --color-primary-dark-2: #4AAD4A;
  --color-primary-light-1: var(--color-breis-green-hover);
  --color-primary-light-2: #A3EDA3;
  --color-primary-alpha-10: rgba(123, 196, 123, 0.1);
  --color-primary-alpha-20: rgba(123, 196, 123, 0.2);
  --color-primary-alpha-40: rgba(123, 196, 123, 0.4);

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

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

  /* ===== Secondary Colors ===== */
  --color-secondary: var(--color-breis-bg-lighter);
  --color-secondary-dark-1: var(--color-breis-bg-light);
  --color-secondary-dark-2: var(--color-breis-bg);
  --color-secondary-light-1: #383838;
  --color-secondary-light-2: #424242;

  /* ===== Text Colors ===== */
  --color-text: var(--color-breis-text);
  --color-text-light: var(--color-breis-text-muted);
  --color-text-light-1: #B0B0B0;
  --color-text-light-2: #909090;
  --color-text-dark: #FFFFFF;

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

  /* ===== Button Primary ===== */
  --color-button-primary-bg: var(--color-breis-green);
  --color-button-primary-text: #1A1A1A;
  --color-button-primary-hover-bg: var(--color-breis-green-hover);
  --color-button-primary-hover-text: #1A1A1A;

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

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

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

  /* ===== Focus States ===== */
  --color-focus: var(--color-breis-green);
  --color-focus-shadow: 0 0 0 3px rgba(123, 196, 123, 0.25);

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

/* ===== Global Body ===== */
body {
  background-color: var(--color-breis-bg) !important;
}

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

/* ===== Primary Buttons ===== */
.ui.primary.button,
.ui.primary.buttons .button {
  background-color: var(--color-breis-green) !important;
  color: #1A1A1A !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-breis-green-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(123, 196, 123, 0.25);
}

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

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

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

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

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

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

.ui.label.green,
.ui.green.label {
  background-color: var(--color-breis-green) !important;
  color: #1A1A1A !important;
}

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

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

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

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

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

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

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

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

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

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

/* ===== Selection ===== */
::selection {
  background-color: rgba(123, 196, 123, 0.25);
  color: #FFFFFF;
}

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

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

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

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

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

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

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

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

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

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

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

/* ===== Header Navbar ===== */
.full.height > .navbar {
  background-color: var(--color-breis-bg-light) !important;
  border-bottom: 1px solid var(--color-breis-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-breis-green) !important;
  color: #1A1A1A !important;
}

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

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

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

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

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