:root {
  --wf-gold: #c9a461;
  --wf-gold-soft: #8f7348;
  --wf-red: #9f2922;
  --wf-yellow: #e2b94b;
  --wf-ink: #0c0b0a;
  --wf-panel: rgba(10, 9, 8, .88);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.wf-nav-mark {
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0 !important;
  margin-right: 45px !important;
  border: 1px solid rgba(201,164,97,.55);
  transform: rotate(45deg);
  color: var(--wf-gold);
  font-family: Cambria, serif;
  font-size: 26px;
  justify-content: center;
}
.wf-nav-mark::before { display: none !important; }
.wf-nav-mark { line-height: 48px; text-align: center; }

.wf-loader { text-align: center; color: white; }
.wf-loader span { display:block; font-size: 13px; letter-spacing: 8px; color: var(--wf-gold); margin-bottom: 10px; }
.wf-loader strong { display:block; font-family: Cambria, serif; font-size: 58px; letter-spacing: 8px; font-weight: 400; text-shadow: 0 0 30px rgba(201,164,97,.4); }

.wf-hero { padding-top: 220px; height: 975px; }
.wf-hero .h-scroll { margin-top: 30px; }
.wf-hero-brand { margin: 0 auto 25px; text-align: center; }
.wf-hero-brand span { color: var(--wf-gold); letter-spacing: 8px; font-size: 14px; }
.wf-hero-brand h1 { font-size: 108px; line-height: 105px; letter-spacing: 8px; margin-top: 6px; }
.wf-brand-line { height: 1px; width: 420px; max-width: 70%; margin: 18px auto 0; background: linear-gradient(90deg, transparent, var(--wf-gold), transparent); }
.wf-hero h2 { color: white; font-family: Cambria, serif; font-weight: 300; font-size: 38px; text-shadow: 0 0 20px #000; }
.wf-hero-copy { color: rgba(255,255,255,.76); width: 720px; max-width: calc(100% - 40px); margin: 18px auto 0; font-size: 19px; line-height: 30px; }
.wf-hero .h-link { margin-top: 32px; margin-bottom: 30px; }

.wf-beta-actions a { min-width: 250px; }
.wf-beta-callout { width: 870px; max-width: calc(100% - 40px); padding: 22px 34px 20px; border-top: 1px solid rgba(201,164,97,.42); border-bottom: 1px solid rgba(201,164,97,.25); background: linear-gradient(90deg, transparent, rgba(10,8,6,.58) 14%, rgba(10,8,6,.7) 50%, rgba(10,8,6,.58) 86%, transparent); text-align: center; }
.wf-beta-kicker { display:block; color:var(--wf-gold); font-size:11px; letter-spacing:3.2px; margin-bottom:8px; }
.wf-beta-callout h3 { color:white; font:400 27px/1.2 Cambria,serif; letter-spacing:.4px; margin:0 0 8px; }
.wf-beta-callout > p { width:760px; max-width:100%; margin:0 auto; color:rgba(255,255,255,.67); font-size:14px; line-height:21px; }
.wf-beta-reward { display:flex; align-items:center; justify-content:center; gap:13px; margin:15px auto 0; color:rgba(255,255,255,.72); font-size:12px; line-height:18px; }
.wf-beta-reward i { color:var(--wf-gold); font-size:22px; filter:drop-shadow(0 0 10px rgba(201,164,97,.28)); }
.wf-beta-reward span { text-align:left; }
.wf-beta-reward strong { display:block; color:#e5c681; font:400 15px/1.15 Cambria,serif; letter-spacing:.4px; margin-bottom:2px; }

.f .f-list a div span { padding: 68px 22px 0; }
.f .f-list a div span p { margin-bottom: 6px; }
.f .f-list a div span small { color: rgba(255,255,255,.72); font-size: 14px; line-height: 19px; max-width: 280px; margin: 0 auto 12px; min-height: 38px; }

.wf-loop { min-height: 700px; padding: 120px 0 130px; text-align:center; background: radial-gradient(circle at 50% 0, rgba(111,78,39,.18), transparent 48%), #11100f; }
.wf-loop .title h1 { font-size:60px; line-height:64px; }
.wf-loop-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:90px; text-align:left; }
.wf-loop-grid article { min-height:260px; padding:32px 28px; background:linear-gradient(145deg, rgba(255,255,255,.035), rgba(0,0,0,.18)); border:1px solid rgba(201,164,97,.22); position:relative; }
.wf-loop-grid article::after { content:""; position:absolute; left:0; bottom:0; width:54px; height:2px; background:var(--wf-gold); }
.wf-loop-grid b { color:var(--wf-gold); font:400 42px/1 Cambria,serif; opacity:.7; }
.wf-loop-grid h3 { color:white; font:400 28px/1.2 Cambria,serif; margin:20px 0 12px; }
.wf-loop-grid p { color:rgba(255,255,255,.62); font-size:16px; line-height:25px; }

.wf-community-copy { width:640px; max-width:calc(100% - 40px); margin:22px auto 0; color:#5d4932; font-size:17px; line-height:25px; }

.wf-footer { padding-top: 65px; padding-bottom: 75px; }
.wf-footer-logo { display:inline-block; color:#c5a161; font-family:Cambria,serif; font-size:36px; letter-spacing:5px; margin-bottom:8px; }

.placeholder-link { cursor:pointer; }

/* Wiki */
.wf-wiki-page .wiki { padding-bottom: 90px; }
.wf-wiki-intro { padding-top: 160px !important; }
.wf-mini-brand { margin-bottom:30px; }
.wf-mini-brand span { display:block !important; margin:0 0 6px !important; color:var(--wf-gold) !important; font-size:11px !important; letter-spacing:5px; }
.wf-mini-brand strong { display:block; color:white; font-family:Cambria,serif; font-size:42px; letter-spacing:5px; font-weight:400; }
.wf-note { margin-top:28px; padding:18px 22px; border-left:2px solid var(--wf-gold); background:rgba(201,164,97,.07); color:rgba(255,255,255,.72); line-height:26px; font-size:16px; }
.wf-note strong { color:var(--wf-gold); font-weight:500; }
.wf-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:34px 0 40px; }
.wf-info-grid article { padding:24px; background:rgba(255,255,255,.025); border:1px solid rgba(201,164,97,.16); }
.wf-info-grid article b { display:block; color:var(--wf-gold); font-family:Cambria,serif; font-size:23px; font-weight:400; margin-bottom:9px; }
.wf-info-grid article p { color:rgba(255,255,255,.66); line-height:25px; font-size:16px; }
.wf-info-grid.compact article { min-height:135px; }
.wf-wiki-page code { color:#e5c681; background:#15110b; padding:5px 9px; border:1px solid rgba(201,164,97,.25); }
.wf-wiki-page table { overflow:hidden; }
.wf-wiki-page table th { color:#d8b36f; }
.wf-wiki-page table td { line-height:22px; }

@media (max-width: 1100px) {
  .wf-loop-grid { grid-template-columns:1fr 1fr; }
  .wf-hero-brand h1 { font-size:88px; }
}

@media (max-width: 768px) {
  .wf-nav-mark { margin: 16px auto 24px !important; transform:none; }
  .wf-hero { padding-top:180px; height:auto; min-height:920px; }
  .wf-hero-brand span { letter-spacing:4px; font-size:11px; }
  .wf-hero-brand h1 { font-size:55px; line-height:60px; letter-spacing:4px; }
  .wf-hero h2 { font-size:29px; line-height:35px; padding:0 20px; }
  .wf-hero-copy { font-size:16px; line-height:25px; }
  .wf-beta-actions a { min-width:0; }
  .wf-beta-callout { margin-top:20px; padding:20px 17px 18px; }
  .wf-beta-kicker { letter-spacing:2px; font-size:10px; }
  .wf-beta-callout h3 { font-size:23px; }
  .wf-beta-callout > p { font-size:13px; line-height:20px; }
  .wf-beta-reward { align-items:flex-start; gap:10px; }
  .wf-beta-reward i { margin-top:4px; }
  .wf-loop { padding:85px 0; }
  .wf-loop .title h1 { font-size:42px; line-height:46px; }
  .wf-loop-grid { grid-template-columns:1fr; margin-top:50px; }
  .wf-info-grid { grid-template-columns:1fr; }
  .wf-wiki-intro { padding-top:120px !important; }
  .wf-mini-brand strong { font-size:32px; }
}

/* V3 — Closed Beta registration / feature reveal */
.wf-beta-reward { text-align: center; }
.wf-beta-reward span { text-align: center; max-width: 660px; }
.wf-beta-reward strong { text-align: center; }

.wf-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 32px 0 44px;
  text-align: left;
}
.wf-feature-grid article {
  min-height: 220px;
  padding: 28px 24px 25px;
  background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(0,0,0,.17));
  border: 1px solid rgba(201,164,97,.18);
  position: relative;
}
.wf-feature-grid article::after {
  content: "";
  position: absolute;
  left: 24px;
  bottom: 0;
  width: 42px;
  height: 2px;
  background: var(--wf-gold);
}
.wf-feature-grid i {
  color: var(--wf-gold);
  font-size: 24px;
  margin-bottom: 20px;
  display: block;
}
.wf-feature-grid b {
  display: block;
  color: #fff;
  font: 400 22px/1.2 Cambria, serif;
  margin-bottom: 10px;
}
.wf-feature-grid p {
  color: rgba(255,255,255,.65);
  font-size: 15px;
  line-height: 24px;
}

.wf-discord-cta {
  margin-top: 34px;
  padding: 30px 28px;
  border: 1px solid rgba(201,164,97,.23);
  background: linear-gradient(90deg, rgba(201,164,97,.05), rgba(0,0,0,.18), rgba(201,164,97,.05));
  text-align: center;
}
.wf-discord-cta span {
  color: var(--wf-gold);
  font: 400 22px/1.2 Cambria, serif;
}
.wf-discord-cta p {
  max-width: 680px;
  margin: 10px auto 20px;
  color: rgba(255,255,255,.65);
  line-height: 24px;
}
.wf-discord-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 205px;
  min-height: 48px;
  padding: 0 22px;
  color: #fff;
  border: 1px solid rgba(201,164,97,.55);
  background: rgba(201,164,97,.08);
  letter-spacing: .5px;
  transition: .25s ease;
}
.wf-discord-cta a:hover {
  background: rgba(201,164,97,.18);
  border-color: var(--wf-gold);
}
.wf-discord-cta a i { color: #c8a665; font-size: 18px; }

.wf-discord-circle a { transition: transform .25s ease, filter .25s ease; }
.wf-discord-circle a:hover { transform: translateY(-3px) scale(1.04); filter: brightness(1.1); }

/* Registration modal */
body.wf-modal-open { overflow: hidden; }
.wf-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}
.wf-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.wf-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(5px);
}
.wf-modal-panel {
  position: relative;
  z-index: 1;
  width: 520px;
  max-width: 100%;
  padding: 46px 46px 38px;
  color: #fff;
  text-align: center;
  border: 1px solid rgba(201,164,97,.42);
  background:
    radial-gradient(circle at 50% 0, rgba(159,41,34,.17), transparent 38%),
    linear-gradient(145deg, rgba(25,22,18,.98), rgba(8,8,8,.99));
  box-shadow: 0 30px 90px rgba(0,0,0,.65), 0 0 60px rgba(201,164,97,.07);
}
.wf-modal-panel::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 100px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--wf-gold);
}
.wf-modal-close {
  position: absolute;
  right: 14px;
  top: 10px;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.55);
  font-size: 30px;
  line-height: 38px;
  cursor: pointer;
}
.wf-modal-close:hover { color: #fff; }
.wf-modal-panel h2 {
  margin: 8px 0 11px;
  font: 400 34px/1.15 Cambria, serif;
}
.wf-modal-panel > p {
  width: 390px;
  max-width: 100%;
  margin: 0 auto 27px;
  color: rgba(255,255,255,.67);
  font-size: 15px;
  line-height: 23px;
}
#wf-beta-form { text-align: left; }
#wf-beta-form label {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
#wf-beta-form input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  height: 54px;
  padding: 0 16px;
  color: #fff;
  outline: none;
  border: 1px solid rgba(201,164,97,.28);
  background: rgba(0,0,0,.32);
  font: 16px Arial, sans-serif;
  transition: border-color .2s ease, box-shadow .2s ease;
}
#wf-beta-form input[type="email"]:focus {
  border-color: rgba(201,164,97,.75);
  box-shadow: 0 0 0 3px rgba(201,164,97,.08);
}
#wf-beta-form button[type="submit"] {
  width: 100%;
  min-height: 54px;
  margin-top: 13px;
  border: 1px solid rgba(201,164,97,.62);
  color: #fff;
  background: linear-gradient(180deg, rgba(159,41,34,.72), rgba(95,25,21,.78));
  font: 400 16px/1 Cambria, serif;
  letter-spacing: .7px;
  cursor: pointer;
  transition: .22s ease;
}
#wf-beta-form button[type="submit"]:hover { filter: brightness(1.15); border-color: var(--wf-gold); }
#wf-beta-form button[type="submit"]:disabled { opacity: .55; cursor: wait; }
.wf-form-status {
  min-height: 20px;
  margin-top: 13px;
  text-align: center;
  color: rgba(255,255,255,.7);
  font-size: 13px;
  line-height: 19px;
}
.wf-form-status.is-success { color: #d9c188; }
.wf-form-status.is-error { color: #e3978f; }
.wf-modal-panel > small {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.38);
  font-size: 11px;
  line-height: 17px;
}
.wf-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  .wf-feature-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .wf-beta-reward { flex-direction: column; align-items: center; }
  .wf-feature-grid { grid-template-columns: 1fr; }
  .wf-feature-grid article { min-height: 0; }
  .wf-modal { padding: 14px; }
  .wf-modal-panel { padding: 40px 22px 30px; }
  .wf-modal-panel h2 { font-size: 29px; }
}


/* V4 refinements */
.wf-beta-reward { max-width: 760px; }
.wf-beta-reward > span { display:block; }
.wf-reward-copy { display:block; text-align:center; }
.wf-discord-circle a { position: relative; font-size: 46px; color: #ffffff; text-shadow: 0 0 18px rgba(0,0,0,.35); }
.wf-discord-circle a i { display:block; line-height:1; }
.wf-footer .c-text span { display:block; width:min(840px, 90%); margin:0 auto; text-align:center; justify-content:center; }
.wf-footer .c-text, .wf-footer .c-link { text-align:center; }
.wf-submit-frame { width:0; height:0; border:0; position:absolute; left:-9999px; opacity:0; pointer-events:none; }
/* Open modal even if JS fails */
.wf-modal:target { opacity: 1; visibility: visible; pointer-events: auto; }

/* V5 — language selector, self-contained Discord logo, hard-centred footer */
.wf-language-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;
  margin-right: 28px;
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: .7px;
}
.wf-language-switcher a {
  color: rgba(255,255,255,.46);
  transition: color .2s ease, text-shadow .2s ease;
}
.wf-language-switcher a:hover,
.wf-language-switcher a.active {
  color: #d0ad6a;
  text-shadow: 0 0 12px rgba(201,164,97,.22);
}
.wf-language-switcher span { color: rgba(201,164,97,.42); }

.wf-discord-circle a {
  position: relative;
  overflow: visible;
}
.wf-discord-svg {
  display: block;
  width: 56px;
  height: 46px;
  fill: #d7b36d;
  filter: drop-shadow(0 0 10px rgba(201,164,97,.28));
  transition: fill .2s ease, filter .2s ease;
}
.wf-discord-circle a:hover .wf-discord-svg {
  fill: #fff;
  filter: drop-shadow(0 0 15px rgba(201,164,97,.55));
}
.wf-discord-mini {
  width: 20px;
  height: 16px;
  fill: currentColor;
  flex: 0 0 auto;
}

.wf-footer .c-text,
footer .copyright .c-text { width: 100%; text-align: center !important; }
.wf-footer .c-text span,
footer .copyright .c-text span {
  display: block !important;
  width: min(860px, 90%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  justify-content: center !important;
}

/* Registration is deliberately CSS-first: clicking the anchor works without JS. */
.wf-modal:target {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.wf-modal-close {
  display: block;
  text-decoration: none;
}
.wf-modal-backdrop { display: block; }

@media (max-width: 1200px) {
  .wf-language-switcher { margin-right: 14px; font-size: 10px; gap: 6px; }
  nav div .user { margin-right: 18px; }
}
@media (max-width: 900px) {
  .wf-language-switcher {
    position: fixed;
    top: 73px;
    right: 12px;
    height: 36px;
    padding: 0 12px;
    margin: 0;
    background: rgba(0,0,0,.82);
    border: 1px solid rgba(201,164,97,.18);
    z-index: 1002;
  }
}


/* V6 — compact flag selector, exact Discord image, native beta dialog */
.wf-language-switcher { gap: 7px; margin-right: 24px; }
.wf-language-switcher a { width: 27px; height: 18px; display:flex; align-items:center; justify-content:center; padding:0; border:1px solid rgba(255,255,255,.12); opacity:.55; overflow:hidden; box-sizing:border-box; transition:.2s ease; }
.wf-language-switcher a:hover, .wf-language-switcher a.active { opacity:1; border-color:#c9a461; box-shadow:0 0 10px rgba(201,164,97,.16); }
.wf-language-switcher img { width:100%; height:100%; display:block; object-fit:cover; }
.wf-language-switcher span { display:none !important; }
.wf-discord-circle a { overflow:hidden !important; }
.wf-discord-logo { display:block; width:54px; height:42px; max-width:54px; max-height:42px; object-fit:contain; margin:auto; border-radius:6px; }
.wf-discord-mini-img { width:20px; height:16px; object-fit:contain; vertical-align:middle; margin-right:8px; border-radius:3px; }
.wf-beta-dialog:not([open]) { display:none; }
.wf-beta-dialog { width:min(520px, calc(100vw - 32px)); box-sizing:border-box; padding:46px 46px 38px; color:#fff; text-align:center; border:1px solid rgba(201,164,97,.42); background:radial-gradient(circle at 50% 0, rgba(159,41,34,.17), transparent 38%),linear-gradient(145deg, rgb(25,22,18), rgb(8,8,8)); box-shadow:0 30px 90px rgba(0,0,0,.75),0 0 60px rgba(201,164,97,.07); }
.wf-beta-dialog::backdrop { background:rgba(0,0,0,.84); backdrop-filter:blur(5px); }
.wf-dialog-close-form { position:absolute; right:12px; top:8px; margin:0; }
.wf-dialog-close { width:38px; height:38px; border:0; padding:0; background:transparent; color:rgba(255,255,255,.58); font-size:30px; line-height:38px; cursor:pointer; }
.wf-dialog-close:hover { color:#fff; }
.wf-beta-dialog h2 { margin:8px 0 11px; color:#fff; font:400 34px/1.15 Cambria,serif; }
.wf-beta-dialog > p { width:390px; max-width:100%; margin:0 auto 27px; color:rgba(255,255,255,.67); font-size:15px; line-height:23px; }
.wf-beta-server-form { text-align:left; }
.wf-beta-server-form label { display:block; margin-bottom:8px; color:rgba(255,255,255,.72); font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.wf-beta-server-form input[type=email] { box-sizing:border-box; width:100%; height:54px; padding:0 16px; color:#fff; outline:none; border:1px solid rgba(201,164,97,.28); background:rgba(0,0,0,.32); font:16px Arial,sans-serif; }
.wf-beta-server-form input[type=email]:focus { border-color:rgba(201,164,97,.75); box-shadow:0 0 0 3px rgba(201,164,97,.08); }
.wf-beta-server-form button[type=submit] { width:100%; min-height:54px; margin-top:13px; border:1px solid rgba(201,164,97,.62); color:#fff; background:linear-gradient(180deg, rgba(159,41,34,.72), rgba(95,25,21,.78)); font:400 16px/1 Cambria,serif; letter-spacing:.7px; cursor:pointer; }
.wf-beta-dialog > small { display:block; margin-top:14px; color:rgba(255,255,255,.4); font-size:11px; line-height:17px; }
.wf-register-page { min-height:100vh; background:radial-gradient(circle at 50% 0, rgba(122,80,35,.16), transparent 35%),#0b0a09; color:#fff; }
.wf-register-shell { width:min(620px, calc(100% - 32px)); margin:0 auto; padding:120px 0 90px; text-align:center; }
.wf-register-shell .wf-footer-logo { margin-bottom:8px; }
.wf-register-shell h1 { margin:34px 0 12px; font:400 42px/1.12 Cambria,serif; }
.wf-register-shell > p { color:rgba(255,255,255,.66); line-height:25px; margin:0 auto 30px; max-width:520px; }
.wf-register-card { padding:30px; border:1px solid rgba(201,164,97,.3); background:rgba(255,255,255,.025); }
.wf-register-back { display:inline-block; margin-top:24px; color:#c9a461; }
@media(max-width:900px) { .wf-language-switcher { position:static; height:auto; padding:0; margin:0 12px 0 0; background:none; border:0; z-index:auto; } }
@media(max-width:600px) { .wf-beta-dialog { padding:40px 22px 28px; } .wf-beta-dialog h2 { font-size:29px; } .wf-language-switcher a { width:24px; height:16px; } }


/* =========================================================
   WARFRONT V7 — cache-busted hosted build
   ========================================================= */

/* Header language flags: force them visible regardless of older theme rules. */
nav > div:last-child {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  margin-left:auto !important;
  flex:0 0 auto !important;
  min-width:0;
}
.wf-language-switcher {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  height:73px !important;
  margin:0 24px 0 0 !important;
  padding:0 !important;
  position:relative !important;
  z-index:2005 !important;
  background:transparent !important;
  border:0 !important;
}
.wf-language-switcher a {
  display:flex !important;
  width:29px !important;
  height:19px !important;
  min-width:29px !important;
  min-height:19px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:2px;
  overflow:hidden !important;
  box-sizing:border-box !important;
  opacity:.58 !important;
  background:#111;
  transition:opacity .2s ease, border-color .2s ease, transform .2s ease !important;
}
.wf-language-switcher a:hover,
.wf-language-switcher a.active {
  opacity:1 !important;
  border-color:#c9a461 !important;
  box-shadow:0 0 10px rgba(201,164,97,.2) !important;
  transform:translateY(-1px);
}
.wf-language-switcher img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  margin:0 !important;
}

/* Discord ornament: keep original decorative button and fit the supplied logo inside it. */
.wf-discord-circle { text-align:center !important; }
.c .c-link.wf-discord-circle a,
.wf-discord-circle a {
  width:357px !important;
  height:95px !important;
  max-width:calc(100vw - 30px) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  background:url(../images/icons/social.png) top center / contain no-repeat !important;
  color:#fff;
  padding:0 !important;
}
.wf-discord-circle .wf-discord-logo {
  display:block !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  object-fit:contain !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  box-shadow:0 0 15px rgba(0,0,0,.28);
}

/* V7 centred registration overlay: no browser-native dialog. */
.wf-v7-modal {
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  box-sizing:border-box !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, visibility .18s ease;
}
.wf-v7-modal:target {
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.wf-v7-modal-backdrop {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:rgba(0,0,0,.86) !important;
  backdrop-filter:blur(6px);
}
.wf-v7-modal-panel {
  position:relative !important;
  z-index:1 !important;
  width:540px !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:48px 48px 38px !important;
  text-align:center !important;
  color:#fff !important;
  border:1px solid rgba(201,164,97,.46) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(159,41,34,.20), transparent 42%),
    linear-gradient(145deg, rgba(29,25,20,.99), rgba(7,7,7,.995)) !important;
  box-shadow:0 35px 110px rgba(0,0,0,.78), 0 0 70px rgba(201,164,97,.08) !important;
}
.wf-v7-modal-panel::before {
  content:"";
  position:absolute;
  top:-1px;
  left:50%;
  width:120px;
  height:2px;
  transform:translateX(-50%);
  background:#c9a461;
  box-shadow:0 0 18px rgba(201,164,97,.45);
}
.wf-v7-modal-close {
  position:absolute !important;
  right:14px !important;
  top:11px !important;
  width:38px !important;
  height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.58) !important;
  font:300 31px/1 Arial,sans-serif !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
}
.wf-v7-modal-close:hover { color:#fff !important; }
.wf-v7-modal-panel .wf-beta-kicker { margin-bottom:9px !important; }
.wf-v7-modal-panel h2 {
  margin:0 0 12px !important;
  color:#fff !important;
  font:400 35px/1.15 Cambria,serif !important;
}
.wf-v7-modal-panel > p {
  max-width:410px !important;
  margin:0 auto 27px !important;
  color:rgba(255,255,255,.66) !important;
  font-size:15px !important;
  line-height:23px !important;
}
.wf-v7-form { text-align:left !important; }
.wf-v7-form label {
  display:block !important;
  margin:0 0 8px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:11px !important;
  letter-spacing:1.2px !important;
  text-transform:uppercase !important;
}
.wf-v7-form input[type=email] {
  display:block !important;
  width:100% !important;
  height:56px !important;
  box-sizing:border-box !important;
  padding:0 17px !important;
  border:1px solid rgba(201,164,97,.31) !important;
  border-radius:0 !important;
  outline:none !important;
  color:#fff !important;
  background:rgba(0,0,0,.38) !important;
  font:16px Arial,sans-serif !important;
}
.wf-v7-form input[type=email]:focus {
  border-color:rgba(201,164,97,.78) !important;
  box-shadow:0 0 0 3px rgba(201,164,97,.08) !important;
}
.wf-v7-form button {
  display:block !important;
  width:100% !important;
  min-height:56px !important;
  margin:14px 0 0 !important;
  padding:0 20px !important;
  border:1px solid rgba(201,164,97,.68) !important;
  color:#fff !important;
  background:linear-gradient(180deg, rgba(159,41,34,.82), rgba(82,20,17,.90)) !important;
  font:400 17px/1 Cambria,serif !important;
  letter-spacing:.5px !important;
  cursor:pointer !important;
}
.wf-v7-form button:hover { filter:brightness(1.14); border-color:#c9a461 !important; }
.wf-v7-modal-note {
  display:block !important;
  margin:15px auto 0 !important;
  max-width:420px !important;
  color:rgba(255,255,255,.38) !important;
  font-size:11px !important;
  line-height:17px !important;
}

/* Dedicated registration/success pages. */
.wf-register-page {
  min-height:100vh !important;
  margin:0 !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(125,76,32,.22), transparent 36%),
    linear-gradient(rgba(8,8,8,.88),rgba(8,8,8,.96)),
    url(../images/bg/2.jpg) center / cover fixed no-repeat !important;
}
.wf-register-shell {
  min-height:100vh !important;
  width:min(720px, calc(100% - 32px)) !important;
  margin:0 auto !important;
  padding:70px 0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.wf-register-card,
.wf-success-card {
  width:100% !important;
  box-sizing:border-box !important;
  padding:46px 44px !important;
  border:1px solid rgba(201,164,97,.35) !important;
  background:linear-gradient(145deg, rgba(25,22,18,.96), rgba(8,8,8,.98)) !important;
  box-shadow:0 28px 85px rgba(0,0,0,.58) !important;
}
.wf-register-shell .wf-footer-logo { font-size:45px !important; letter-spacing:7px !important; }
.wf-register-shell h1 {
  margin:22px 0 12px !important;
  color:#fff !important;
  font:400 44px/1.08 Cambria,serif !important;
}
.wf-register-shell p {
  max-width:560px !important;
  margin:0 auto 25px !important;
  color:rgba(255,255,255,.65) !important;
  font-size:16px !important;
  line-height:25px !important;
}
.wf-register-back {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  margin-top:26px !important;
  padding:0 20px !important;
  color:#d1ad68 !important;
  border:1px solid rgba(201,164,97,.28) !important;
  text-decoration:none !important;
}
.wf-register-back:hover { color:#fff !important; border-color:#c9a461 !important; }

@media (max-width:1200px) {
  nav ul li:not(:last-child) { margin-right:42px; }
  .wf-language-switcher { margin-right:14px !important; }
  nav div .user { margin-right:20px; }
}
@media (max-width:900px) {
  .wf-language-switcher {
    position:fixed !important;
    top:18px !important;
    right:78px !important;
    height:36px !important;
    margin:0 !important;
    padding:0 8px !important;
    background:rgba(0,0,0,.82) !important;
    border:1px solid rgba(201,164,97,.18) !important;
  }
}
@media (max-width:600px) {
  .wf-v7-modal { padding:14px !important; }
  .wf-v7-modal-panel { padding:42px 22px 30px !important; }
  .wf-v7-modal-panel h2 { font-size:29px !important; }
  .wf-register-card,.wf-success-card { padding:36px 22px !important; }
  .wf-register-shell h1 { font-size:36px !important; }
  .wf-language-switcher a { width:26px !important; height:17px !important; min-width:26px !important; min-height:17px !important; }
}


/* WARFRONT VOTE STRIP v8 */
.wf-vote-section {
  position:relative !important;
  z-index:2 !important;
  padding:34px 20px 32px !important;
  background:linear-gradient(180deg, rgba(8,8,8,.92), rgba(13,11,9,.98)) !important;
  border-top:1px solid rgba(201,164,97,.20) !important;
  border-bottom:1px solid rgba(201,164,97,.12) !important;
  text-align:center !important;
}
.wf-vote-inner {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.wf-vote-title {
  display:block !important;
  margin-bottom:6px !important;
  color:#d2ad68 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  letter-spacing:4px !important;
  text-transform:uppercase !important;
}
.wf-vote-subtitle {
  display:block !important;
  margin-bottom:18px !important;
  color:rgba(255,255,255,.48) !important;
  font-size:13px !important;
  line-height:1.6 !important;
}
.wf-vote-buttons {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
}
.wf-vote-buttons a {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:6px 10px !important;
  box-sizing:border-box !important;
  background:rgba(0,0,0,.48) !important;
  border:1px solid rgba(201,164,97,.22) !important;
  box-shadow:inset 0 0 18px rgba(201,164,97,.025) !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}
.wf-vote-buttons a:hover {
  transform:translateY(-2px) !important;
  border-color:rgba(210,173,104,.70) !important;
  box-shadow:0 7px 20px rgba(0,0,0,.38),inset 0 0 18px rgba(201,164,97,.06) !important;
}
.wf-vote-buttons img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:60px !important;
  border:0 !important;
}
.wf-vote-note {
  display:block !important;
  margin-top:12px !important;
  color:rgba(255,255,255,.25) !important;
  font-size:10px !important;
  letter-spacing:1px !important;
}
@media (max-width:600px) {
  .wf-vote-section { padding:28px 14px 26px !important; }
  .wf-vote-title { letter-spacing:3px !important; }
  .wf-vote-buttons { gap:8px !important; }
}

/* WARFRONT VOTE STRIP HARDENING v8.4 */
.wf-vote-buttons a,
.wf-vote-buttons a[style] {
  position:static !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  z-index:auto !important;
  float:none !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.wf-vote-buttons img,
.wf-vote-buttons img[style] {
  position:static !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  z-index:auto !important;
  float:none !important;
  object-fit:contain !important;
}
.wf-vote-fallback {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:88px !important;
  height:48px !important;
  padding:0 8px !important;
  color:#d2ad68 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
