/* ============================================================
   DracusRO — FluxCP theme
   Loads AFTER bootstrap 3 and after the stock flux.css, so this
   file wins every conflict. Palette and type match dracusro.com.
   ============================================================ */

:root{
  --paper:#FBF6EC; --paper-2:#F4ECDE; --paper-3:#EADFCC;
  --ink:#2C2318; --ink-dim:#6E6050; --ink-faint:#A2917C;
  --rule:#DCCFB8;
  --prt:#2C6BB4; --moc:#C2761B; --gef:#7A4CB8; --pay:#3B8B58; --alb:#1F8AA0;
  --brass:#C08213; --brass-hi:#D9970F; --brass-ink:#8A5B04;
  --good:#3B8B58; --bad:#B03A2E;
  --display:'Cinzel',serif; --body:'Spectral',Georgia,serif; --mono:'IBM Plex Mono',monospace;
}

/* ---------- base ---------- */
html{position:relative;min-height:100%}
body{
  margin:0 0 70px 0;padding:0;
  font-family:var(--body);font-size:16px;line-height:1.6;
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
body > .container{padding:86px 15px 0}
::selection{background:var(--brass);color:#fff}
a{color:var(--brass-ink);text-decoration:none}
a:hover,a:focus{color:var(--ink);text-decoration:underline}
:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}
hr{border-top:1px solid var(--rule)}

h1,h2,h3,h4,h5{font-family:var(--body);color:var(--ink);letter-spacing:-.01em}
h1{font-size:2rem;font-weight:700;margin:0 0 .7rem}
h2{font-size:1.6rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .7rem;color:var(--ink)}
h3{
  font-family:var(--mono);font-size:.76rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);
  border-bottom:1px solid var(--rule);padding-bottom:.45rem;margin:1.8rem 0 .9rem;
}
h3:first-letter{font-weight:600}
h4{font-size:1.05rem;font-weight:700;margin:1.1rem 0 .4rem}
p{margin:0 0 .85rem}
small,.small{font-size:.86rem;color:var(--ink-dim)}

/* ---------- navbar ---------- */
.navbar{margin-bottom:0;border-radius:0}
.navbar.dro-nav,
.navbar-default,
.navbar-inverse{
  background:rgba(251,246,236,.94)!important;
  background-image:none!important;
  border:0;border-bottom:1px solid var(--rule)!important;
  box-shadow:none;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  min-height:58px;
}
.navbar-brand.dro-mark{
  font-family:var(--display);font-weight:900;font-size:1.12rem;letter-spacing:.08em;
  color:var(--ink)!important;height:auto;padding:18px 15px;
}
.navbar-brand.dro-mark span{color:var(--brass-ink)}
.navbar-brand.dro-mark:hover{text-decoration:none;color:var(--ink)!important}

.navbar-nav > li > a{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-dim)!important;padding:20px 13px;
}
.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus{color:var(--ink)!important;background:transparent!important}
.navbar-nav > .open > a,
.navbar-nav > .open > a:hover,
.navbar-nav > .open > a:focus{background:var(--paper-2)!important;color:var(--ink)!important}
.navbar-nav > .active > a{background:transparent!important;color:var(--ink)!important;box-shadow:none}
.dro-right > li > a{color:var(--ink-faint)!important}

.dropdown-menu{
  background:#fff;border:1px solid var(--rule);border-radius:2px;
  box-shadow:0 10px 26px rgba(80,60,30,.13);padding:.3rem 0;margin-top:0;
}
.dropdown-menu > li > a{
  font-family:var(--body);font-size:.95rem;color:var(--ink);padding:.42rem 1.1rem;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus{background:var(--paper-2);color:var(--ink)}
.navbar-toggle{border-color:var(--rule)}
.navbar-toggle .icon-bar{background:var(--ink-dim)}
.caret{border-top-color:var(--ink-faint)}

/* ---------- footer ---------- */
#footer{
  position:absolute;bottom:0;width:100%;height:auto;min-height:60px;
  background:var(--paper-2);border-top:1px solid var(--rule);
  padding:1.1rem 0;
}
#footer .text-muted{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);margin:0;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;
}
#footer a{color:var(--ink-faint)}
#footer a:hover{color:var(--ink);text-decoration:none}
.dro-foot-mark{font-family:var(--display);font-weight:900;font-size:.9rem;letter-spacing:.07em;color:var(--ink)!important}
.dro-foot-mark span{color:var(--brass-ink)}
.dro-disclaimer{margin-left:auto}
.dro-selects select{
  font-family:var(--mono);font-size:.66rem;background:#fff;color:var(--ink-dim);
  border:1px solid var(--rule);border-radius:2px;padding:.2rem .35rem;
}

/* ---------- panels / wells / generic blocks ---------- */
.panel,.well,.jumbotron{
  background:#fff;border:1px solid var(--rule);border-radius:3px;
  box-shadow:0 2px 0 var(--rule);
}
.panel-heading{
  background:var(--paper-2);border-bottom:1px solid var(--rule);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-dim);font-weight:600;
}
.panel-title{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}
#content{background:transparent}
.block,.generic-form-div{
  background:#fff;border:1px solid var(--rule);border-radius:3px;padding:1.3rem 1.4rem;margin-bottom:1.4rem;
}

/* ---------- tables ---------- */
table{font-family:var(--body);font-size:.95rem}
.table,.horizontal-table,.vertical-table,.generic-form-table,
.shop-table,.woe-table,.install_table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-bottom:1.4rem;
}
.table > thead > tr > th,
.horizontal-table th,.vertical-table th,.generic-form-table th,
.shop-table th,.woe-table th{
  background:var(--paper-2);
  font-family:var(--mono);font-size:.64rem;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim);
  text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--rule)!important;
  vertical-align:middle;
}
.table > tbody > tr > td,
.horizontal-table td,.vertical-table td,.generic-form-table td,
.shop-table td,.woe-table td{
  padding:.65rem .9rem;border-top:0!important;
  border-bottom:1px solid rgba(220,207,184,.55);vertical-align:middle;color:var(--ink);
}
.table > tbody > tr:last-child > td{border-bottom:0}
.table-striped > tbody > tr:nth-of-type(odd),
.horizontal-table tr:nth-of-type(even){background:rgba(244,236,222,.5)}
.table-hover > tbody > tr:hover,
.horizontal-table tr:hover{background:var(--paper-2)}
.vertical-table th{width:1%;white-space:nowrap;background:var(--paper-2)}
.empty-row td{color:var(--ink-faint);font-style:italic;text-align:center;padding:1.6rem}
.sortable a{color:var(--ink-dim)}
.up:after{content:' \25B2';color:var(--brass-ink)}
.down:after{content:' \25BC';color:var(--brass-ink)}
.top-ranked{background:rgba(192,130,19,.09)!important;font-weight:600}
.center{text-align:center}
.short{width:1%;white-space:nowrap}

/* ---------- forms ---------- */
label{font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-dim);font-weight:600;margin-bottom:.35rem}
input[type=text],input[type=password],input[type=email],input[type=number],
input[type=file],textarea,select,.form-control{
  font-family:var(--body);font-size:.96rem;color:var(--ink);
  background:#fff;border:1px solid var(--rule);border-radius:2px;
  padding:.5rem .7rem;height:auto;box-shadow:none;
}
input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,
textarea:focus,select:focus,.form-control:focus{
  border-color:var(--brass);box-shadow:0 0 0 2px rgba(192,130,19,.13);outline:none;
}
input::placeholder,textarea::placeholder{color:var(--ink-faint)}
.generic-form-table td{padding:.5rem .9rem}
.security-code{border:1px solid var(--rule);border-radius:2px;background:#fff}

/* ---------- buttons ---------- */
.btn,.submit_button,input[type=submit],button[type=submit]{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  padding:.6rem 1.15rem;border-radius:2px;border:1px solid var(--brass);
  background:var(--brass);color:#fff;font-weight:500;
  box-shadow:none;text-shadow:none;transition:background .16s;
}
.btn:hover,.submit_button:hover,input[type=submit]:hover,button[type=submit]:hover,
.btn:focus{background:var(--brass-hi);border-color:var(--brass-hi);color:#fff}
.btn-default{background:#fff;border-color:var(--rule);color:var(--ink-dim)}
.btn-default:hover{background:var(--paper-2);border-color:var(--ink-faint);color:var(--ink)}
.btn-danger{background:var(--bad);border-color:var(--bad)}
.btn-danger:hover{background:#8F2E24;border-color:#8F2E24}
.btn-success{background:var(--good);border-color:var(--good)}
.btn-link{background:transparent;border-color:transparent;color:var(--brass-ink)}
.button-action,.action,.td-action{white-space:nowrap}

/* ---------- messages ---------- */
.message,.notice,.alert,.alert-info{
  background:#EAF3E9;border:1px solid var(--good);color:#245638;
  padding:.85rem 1.1rem;border-radius:3px;margin:0 0 1.3rem;
  font-size:.96rem;
}
.error,.alert-danger,.important{
  background:#FBEAE7;border:1px solid var(--bad);color:#7E2A20;
  padding:.85rem 1.1rem;border-radius:3px;margin:0 0 1.3rem;
}
.note,.alert-warning{
  background:#FFF6E0;border:1px solid var(--brass);color:#6A4708;
  padding:.85rem 1.1rem;border-radius:3px;margin:0 0 1.3rem;
}
.missing,.not-applicable{color:var(--ink-faint);font-style:italic}

/* ---------- status colours ---------- */
.green,.online,.up{color:var(--good);font-weight:600}
.red,.offline,.state-banned,.state-permanently-banned{color:var(--bad);font-weight:600}
.state-pending{color:var(--brass-ink);font-weight:600}

/* ---------- menus / sidebars ---------- */
#sidebar,#admin_sidebar,#submenu,#pagemenu{
  background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:.9rem 1.1rem;margin-bottom:1.4rem;
}
#submenu,#pagemenu{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center;padding:.7rem 1.1rem}
#submenu a,#pagemenu a,.menuitem a{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-dim);
}
#submenu a:hover,#pagemenu a:hover,.menuitem a:hover{color:var(--ink);text-decoration:none}
.current-sub-menu a,.current-shop-category a{color:var(--brass-ink)!important;font-weight:600}
.module-name{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-faint)}

/* ---------- pagination ---------- */
.pages,.jump-to-page{
  font-family:var(--mono);font-size:.78rem;color:var(--ink-dim);margin:1.1rem 0;
}
.pages a{
  display:inline-block;padding:.3rem .62rem;margin-right:.25rem;
  border:1px solid var(--rule);border-radius:2px;background:#fff;color:var(--ink-dim);
}
.pages a:hover{border-color:var(--brass);color:var(--brass-ink);text-decoration:none}
.pagination > li > a,.pagination > li > span{
  color:var(--ink-dim);background:#fff;border-color:var(--rule);
}
.pagination > .active > a,.pagination > .active > span{
  background:var(--brass);border-color:var(--brass);color:#fff;
}

/* ---------- search ---------- */
.search-form,.search-form2{
  background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;
  padding:1.1rem 1.2rem;margin-bottom:1.4rem;
}
.toggler{cursor:pointer;color:var(--brass-ink)}
.keyword{background:rgba(192,130,19,.2);padding:0 2px;border-radius:2px}

/* ---------- shop / donations ---------- */
.shop-item-name,.cart-item-name{font-weight:600;color:var(--ink)}
.shop-item-cost-qty,.cost,.qty,.credit-amount,.donation-amount,.cart-sub-total{
  font-family:var(--mono);font-size:.88rem;color:var(--brass-ink);font-weight:600;
}
.shop-item-image img{border:1px solid var(--rule);border-radius:2px;background:#fff}
.credit-balance,.remaining-balance{
  font-family:var(--mono);color:var(--ink);font-weight:600;
}
.exchange-rate,.info-text,.cart-info-text,.checkout-info-text{color:var(--ink-dim);font-size:.92rem}
.remove-from-cart a{color:var(--bad)}

/* ---------- item / mob database ---------- */
.item-drop-card{color:var(--gef);font-weight:600}
.item-drop-mvp,.mvp{color:var(--moc);font-weight:600}
.monster-mode{font-family:var(--mono);font-size:.82rem;color:var(--ink-dim)}
.script,.script-line{
  font-family:var(--mono);font-size:.82rem;background:var(--paper-2);
  border:1px solid var(--rule);border-radius:2px;padding:.8rem 1rem;
  color:var(--ink);white-space:pre-wrap;
}
.script-line-num{color:var(--ink-faint);user-select:none}
.script-line-code{color:var(--ink)}
.normalslotted{color:var(--good)}
.overslotted1,.overslotted2,.overslotted3,.overslotted4{color:var(--moc)}
.job-classes,.character-stats{font-size:.93rem}
.equipped{color:var(--good);font-weight:600}

/* ---------- misc ---------- */
#server_status{font-family:var(--mono);font-size:.8rem}
.emblem-server img{background:#fff;border:1px solid var(--rule);border-radius:2px;padding:2px}
#logo{display:none}
#copyright{display:none}
.raw-txn-log{font-family:var(--mono);font-size:.8rem}

@media(max-width:768px){
  body > .container{padding-top:74px}
  #footer .text-muted{font-size:.62rem;gap:.8rem}
  .dro-disclaimer{margin-left:0;flex-basis:100%}
  .table,.horizontal-table{font-size:.88rem}
  .table > thead > tr > th,.horizontal-table th{padding:.55rem .6rem}
  .table > tbody > tr > td,.horizontal-table td{padding:.55rem .6rem}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
