/* ==================================================================
   KingsMC theme-override.css
   =================================================================
   custom.css and modules.css style OUR pages (home, rules, store,
   wiki, ghost, staff, vote). Everything else on the site — login,
   register, forum, profile, member list, leaderboards, terms,
   privacy, etc — is still the stock Fomantic UI framework, which
   defaults to a LIGHT theme. This file forces those to obsidian too,
   plus the third-party JS libraries (toastr notifications, SweetAlert2
   confirm dialogs, cookieconsent.js) that ship with their own light
   default styling. Loaded last, so it can safely win over Fomantic's
   built-in light theme.
   ================================================================== */

html, body{
  background:var(--bg) !important;
  color:var(--ink) !important;
}

/* ---- Fomantic UI base containers ---- */
.ui.container,
.ui.grid,
#page-content,
.pusher, #wrapper{
  background:transparent !important;
}

.ui.segment,
.ui.segments,
.ui.segments .segment,
.ui.card, .ui.cards > .card,
.ui.raised.segment{
  background:var(--panel) !important;
  color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:none !important;
}
.ui.card > .content, .ui.cards > .card > .content{
  background:transparent !important;
  border-color:var(--hairline) !important;
}
.ui.card .header, .ui.cards > .card .header{ color:var(--ink) !important; }
.ui.card .description, .ui.cards > .card .description,
.ui.card .meta, .ui.cards > .card .meta{ color:var(--ink-dim) !important; }

.ui.message{
  background:var(--panel-hi) !important;
  color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:none !important;
}
.ui.message .header{ color:var(--ink) !important; }
.ui.positive.message, .ui.success.message{ border-color:var(--live-green) !important; }
.ui.negative.message, .ui.error.message{ border-color:var(--crimson) !important; }
.ui.warning.message{ border-color:var(--gold-dim) !important; }
.ui.info.message{ border-color:var(--discord-blurple) !important; }

/* ---- typography ---- */
h1, h2, h3, h4, h5, h6,
.ui.header{ color:var(--ink) !important; }
p, span, div, li, label{ color:inherit; }
a{ color:var(--gold); }
a:hover{ color:var(--gold-dim); }
.ui.breadcrumb .section{ color:var(--ink-dim) !important; }
.ui.breadcrumb .active.section{ color:var(--ink) !important; }
.ui.breadcrumb .divider{ color:var(--ink-faint) !important; }
code, .ui.label code{ background:var(--bg-soft) !important; color:var(--gold) !important; border-radius:4px; padding:2px 5px; }
pre{ background:var(--bg-soft) !important; color:var(--ink-dim) !important; border:1px solid var(--hairline) !important; border-radius:8px; padding:14px; }
hr, .ui.divider{ border-color:var(--hairline) !important; color:var(--ink-faint) !important; }

/* ---- forms & inputs ---- */
.ui.form input:not([type="checkbox"]):not([type="radio"]),
.ui.form textarea,
.ui.form select,
.ui.input > input,
.ui.input input,
textarea{
  background:var(--bg-soft) !important;
  color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
}
.ui.form input:focus, .ui.form textarea:focus, .ui.input > input:focus{
  border-color:var(--gold-dim) !important;
}
.ui.form label{ color:var(--ink-dim) !important; }
.ui.form ::placeholder{ color:var(--ink-faint) !important; opacity:1; }
.ui.checkbox label, .ui.radio.checkbox label{ color:var(--ink-dim) !important; }
.ui.checkbox .box:before, .ui.checkbox label:before{
  background:var(--bg-soft) !important; border:1px solid var(--hairline) !important;
}
.ui.checkbox input:checked ~ .box:before, .ui.checkbox input:checked ~ label:before{
  background:var(--gold) !important; border-color:var(--gold) !important;
}
.ui.checkbox input:checked ~ .box:after, .ui.checkbox input:checked ~ label:after{ color:var(--on-gold) !important; }

/* ---- buttons ---- */
.ui.button{
  background:var(--panel-hi) !important;
  color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
}
.ui.button:hover{ background:var(--panel) !important; }
.ui.primary.button, .ui.button.btn-theme, .btn-theme{
  background:var(--gold) !important;
  color:var(--on-gold) !important;
  border:none !important;
}
.ui.primary.button:hover, .btn-theme:hover{ filter:brightness(1.08); }
.ui.negative.button{ background:var(--crimson) !important; color:#fff !important; border:none !important; }
.ui.basic.button{ background:transparent !important; color:var(--ink-dim) !important; border:1px solid var(--hairline) !important; }

/* ---- menu / tabs / pagination ---- */
.ui.menu,
.ui.tabular.menu,
.ui.vertical.menu{
  background:var(--panel) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:none !important;
}
.ui.menu .item{ color:var(--ink-dim) !important; }
.ui.menu .item:hover{ background:var(--gold-08) !important; color:var(--ink) !important; }
.ui.menu .active.item{ background:var(--gold-12) !important; color:var(--gold) !important; }
.ui.menu .item::before{ background:var(--hairline) !important; }

.ui.pagination.menu .item{
  background:var(--panel) !important; color:var(--ink-dim) !important; border-color:var(--hairline) !important;
}
.ui.pagination.menu .active.item{ background:var(--gold) !important; color:var(--on-gold) !important; }

/* ---- dropdowns & popovers ---- */
.ui.dropdown .menu,
.ui.selection.dropdown .menu{
  background:var(--panel-hi) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:0 16px 32px rgba(0,0,0,0.4) !important;
}
.ui.dropdown .menu > .item{ color:var(--ink-dim) !important; }
.ui.dropdown .menu > .item:hover{ background:var(--gold-08) !important; color:var(--ink) !important; }
.ui.selection.dropdown{ background:var(--bg-soft) !important; color:var(--ink) !important; border-color:var(--hairline) !important; }
.po-content, .popover-content, [data-popover]{
  background:var(--panel-hi) !important; color:var(--ink) !important; border:1px solid var(--hairline) !important;
}

/* ---- tables ---- */
.ui.table{ background:var(--panel) !important; color:var(--ink-dim) !important; border:1px solid var(--hairline) !important; }
.ui.table thead th{ background:var(--panel-hi) !important; color:var(--ink) !important; border-color:var(--hairline) !important; }
.ui.table tbody tr{ background:transparent !important; border-color:var(--hairline) !important; }
.ui.table tbody tr:hover{ background:var(--gold-02) !important; }
.ui.striped.table tbody tr:nth-child(2n){ background:var(--bg-soft) !important; }

/* ---- modals ---- */
.ui.modal{ background:var(--panel-hi) !important; color:var(--ink) !important; border:1px solid var(--hairline) !important; }
.ui.modal > .header{ background:var(--panel-hi) !important; color:var(--ink) !important; border-bottom:1px solid var(--hairline) !important; }
.ui.modal > .content{ background:var(--panel-hi) !important; color:var(--ink-dim) !important; }
.ui.modal > .actions{ background:var(--panel) !important; border-top:1px solid var(--hairline) !important; }
.ui.dimmer{ background:rgba(6,5,10,0.75) !important; }

/* ---- labels / badges ---- */
.ui.label{ background:var(--panel-hi) !important; color:var(--ink-dim) !important; border:1px solid var(--hairline) !important; }
.badge-theme{ background:var(--gold) !important; color:var(--on-gold) !important; }

/* ---- list ---- */
.ui.list .item{ color:var(--ink-dim) !important; }
.ui.list .header{ color:var(--ink) !important; }

/* ---- toastr notifications ---- */
#toast-container > div{
  background-color:var(--panel-hi) !important;
  color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:0 16px 32px rgba(0,0,0,0.4) !important;
  opacity:1 !important;
  border-radius:var(--radius-sm);
}
#toast-container > .toast-success{ border-color:var(--live-green) !important; }
#toast-container > .toast-error{ border-color:var(--crimson) !important; }
#toast-container > .toast-warning{ border-color:var(--gold-dim) !important; }
.toast-title{ color:var(--ink) !important; }
.toast-message{ color:var(--ink-dim) !important; }
.toast-close-button{ color:var(--ink-faint) !important; text-shadow:none !important; }

/* ---- SweetAlert2 ---- */
.swal2-popup{
  background:var(--panel-hi) !important; color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
}
.swal2-title{ color:var(--ink) !important; }
.swal2-html-container{ color:var(--ink-dim) !important; }
.swal2-styled.swal2-confirm{ background:var(--gold) !important; color:var(--on-gold) !important; }
.swal2-styled.swal2-cancel{ background:var(--panel) !important; color:var(--ink-dim) !important; }
.swal2-input, .swal2-textarea{ background:var(--bg-soft) !important; color:var(--ink) !important; border:1px solid var(--hairline) !important; }

/* ---- cookieconsent.js (fixes the unreadable dark-on-dark banner) ---- */
.cc-window{
  background:var(--panel-hi) !important;
  color:var(--ink) !important;
  border-top:1px solid var(--hairline);
  box-shadow:0 -10px 30px rgba(0,0,0,0.4) !important;
}
.cc-window.cc-floating{
  background:var(--panel-hi) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:0 20px 50px rgba(0,0,0,0.5) !important;
}
.cc-message, .cc-link{ color:var(--ink-dim) !important; }
.cc-link{ color:var(--gold) !important; text-decoration:underline; }
.cc-link:hover{ color:var(--gold-dim) !important; }
.cc-btn{
  background:var(--panel) !important;
  color:var(--ink) !important;
  border:1px solid var(--hairline) !important;
}
.cc-btn:hover{ background:var(--bg-soft) !important; }
.cc-btn.cc-allow, .cc-window.cc-floating .cc-highlight .cc-btn.cc-allow, .cc-highlight .cc-btn:first-child{
  background:var(--gold) !important;
  color:var(--on-gold) !important;
  border:none !important;
}
.cc-btn.cc-dismiss{ background:var(--gold) !important; color:var(--on-gold) !important; border:none !important; }
.cc-revoke{ background:var(--panel-hi) !important; color:var(--ink) !important; border:1px solid var(--hairline) !important; }

/* ---- misc known third-party bits from module pages ---- */
.progress-bar{ background:var(--gold) !important; }
.login-overlay, .register-overlay, .p-color-overlay{ background:var(--gold) !important; }
