/* =========================================================
   BULMA OVERRIDES
   Nur noch Patches, die Bulma 1.0.4 nicht sauber per Variable anbietet.
   Farben/Surfaces/States liegen in app_theme.css.
   ========================================================= */

/* --- Structural borders missing in Bulma vars --- */
.card,
.box,
.message,
.notification,
.panel {
  border: var(--light-border);
}

.card-header,
.message-header,
.panel-heading {
  border-bottom: var(--light-border);
}

/* Bulma setzt bei .box keinen Border; Linkfarbe soll im Box-Kontext neutral bleiben. */
.box a {
  color: inherit;
}

/* --- Content / code --- */
.content {
  color: var(--text-primary);
}

.content a {
  color: var(--icon-update-mark-color);
}

.content code,
code {
  background: var(--surface-elevated);
  color: var(--text-primary);
  border: var(--light-border);
}

/* --- Forms: Verhalten, nicht Farben --- */
.input[disabled],
.textarea[disabled],
.select select[disabled] {
  cursor: not-allowed;
}



/* Disabled control icons: Bulma hat dafür keine eigene Variable.
   Farbe kommt aus app_theme.css via --bulma-input-disabled-color. */
.control.has-icons-left .input[disabled] ~ .icon,
.control.has-icons-left .input:disabled ~ .icon,
.control.has-icons-left .textarea[disabled] ~ .icon,
.control.has-icons-left .textarea:disabled ~ .icon,
.control.has-icons-left .select:has(select[disabled]) ~ .icon,
.control.has-icons-left .select:has(select:disabled) ~ .icon,
.control.has-icons-right .input[disabled] ~ .icon,
.control.has-icons-right .input:disabled ~ .icon,
.control.has-icons-right .textarea[disabled] ~ .icon,
.control.has-icons-right .textarea:disabled ~ .icon,
.control.has-icons-right .select:has(select[disabled]) ~ .icon,
.control.has-icons-right .select:has(select:disabled) ~ .icon {
  color: var(--bulma-input-disabled-color);
}

.control.has-icons-left .input[disabled] ~ .icon iconify-icon,
.control.has-icons-left .input:disabled ~ .icon iconify-icon,
.control.has-icons-left .textarea[disabled] ~ .icon iconify-icon,
.control.has-icons-left .textarea:disabled ~ .icon iconify-icon,
.control.has-icons-left .select:has(select[disabled]) ~ .icon iconify-icon,
.control.has-icons-left .select:has(select:disabled) ~ .icon iconify-icon,
.control.has-icons-right .input[disabled] ~ .icon iconify-icon,
.control.has-icons-right .input:disabled ~ .icon iconify-icon,
.control.has-icons-right .textarea[disabled] ~ .icon iconify-icon,
.control.has-icons-right .textarea:disabled ~ .icon iconify-icon,
.control.has-icons-right .select:has(select[disabled]) ~ .icon iconify-icon,
.control.has-icons-right .select:has(select:disabled) ~ .icon iconify-icon {
  color: currentColor;
}

/* --- Dropdown hover: Bulma-Delta reicht nicht immer bei Teleport/Custom Dropdowns --- */
.dropdown-item:hover {
  background: var(--surface-card) !important;
}

/* --- Tags: Projekt-Alias, zusätzlich zu Bulma .tag.is-primary --- */
.tag-primary {
  background: var(--bulma-primary);
  color: var(--bulma-primary-invert);
  border: none;
}

/* Unklassifizierte Tags etwas ruhiger als Bulma Default */
.tag:not([class*="is-"]) {
  background: var(--tag-background, rgba(255, 255, 255, 0.06));
  color: var(--text-primary);
  border: 1px solid var(--tag-border-color, rgba(255, 255, 255, 0.15));
}

html[data-theme="light"] .tag:not([class*="is-"]) {
  --tag-background: rgba(0, 0, 0, 0.06);
  --tag-border-color: rgba(0, 0, 0, 0.15);
}

/* --- Button Spezialfälle --- */

html[data-theme="light"] .button.is-light:hover {
  --button-light-hover-border-color: rgba(0, 0, 0, 0.2);
}

.button.is-light[disabled],
.button.is-light:disabled,
fieldset[disabled] .button.is-light {
  color: var(--text-tertiary);
  cursor: not-allowed;
}

.button.is-light iconify-icon,
.button.is-light[disabled] iconify-icon,
.button.is-light:disabled iconify-icon {
  color: currentColor;
}


/* Disabled icons: color comes from app_theme.css via --bulma-input-disabled-color.
   Kept here because Bulma has no dedicated disabled icon variable/selector. */
[data-field-wrapper].is-disabled .control.has-icons-left .icon,
[data-field-wrapper].is-disabled .control.has-icons-right .icon,
.control.has-icons-left:has(.input:disabled) .icon,
.control.has-icons-left:has(select:disabled) .icon,
.control.has-icons-right:has(.input:disabled) .icon,
.control.has-icons-right:has(select:disabled) .icon {
  color: var(--bulma-input-disabled-color);
}

[data-field-wrapper].is-disabled .control.has-icons-left .icon iconify-icon,
[data-field-wrapper].is-disabled .control.has-icons-right .icon iconify-icon,
.control.has-icons-left:has(.input:disabled) .icon iconify-icon,
.control.has-icons-left:has(select:disabled) .icon iconify-icon,
.control.has-icons-right:has(.input:disabled) .icon iconify-icon,
.control.has-icons-right:has(select:disabled) .icon iconify-icon {
  color: currentColor;
}


.button {
  box-shadow: none;
  font-weight: 500;
}
.input,
.textarea,
.select select {
  box-shadow: none;
}
.card,
.box,
.panel {
  border-radius: var(--bulma-radius);
}
.box,
.card-content {
  padding: 1rem;
}