:root {
  /* Fondo y texto principal */
  --color-dark-blue-bg: #010f18;
  --color-dark-module-bg: #191919;
  --color-dark-border: #282828;
  --color-primary-text: #c1c1c1;
  --background-image: url("../img/background-dark.jpg");

  /* Color principal de acento (Amarillo/Oro) */
  --color-accent-gold: #ffbd00;
  --color-accent-gold-hover: #ffda8a;
  /* Usado en 'a:hover' */
  --color-accent-gold-light-alpha: rgba(255, 189, 0, 0.09);
  --color-accent-gold-medium-alpha: rgba(255, 189, 0, 0.15);
  --color-accent-gold-border-alpha: rgba(255, 189, 0, 0.25);
  --color-accent-gold-shadow: rgba(255, 189, 0, 0.5);
  --color-text-input-focus: #fff397;
  /* Usado en algunos hover/focus */

  /* Colores de texto/fondo neutrales */
  --color-black: #000000;
  --color-white: #ffffff;
  --color-light-gray-text: #aaa;
  --color-lighter-gray-text: #777;
  --color-dark-gray-text: #333;
  --color-white-input-alpha: rgba(255, 255, 255, 0.09);
  --color-white-border-alpha: rgba(255, 255, 255, 0.15);
  --color-navbar-border-alpha: #ffffff1c;
  --color-navbar-bg-alpha: #00000050;
  --color-black-shadow-alpha: #00000078;
  --color-black-shadow-strong: rgba(0, 0, 0, 0.5);
  --color-black-shadow-light: rgba(0, 0, 0, 0.05);

  /* Colores específicos de módulos */
  --color-footer-bg-border: #141f2c;
  --color-footer-time: #ffecb2;
  --color-cs-red: #ff0000;
  --color-cs-purple: #d4a6ff;
  --color-cs-purple-countdown: #ba70ff;
  --color-panel-sidebar-event-border: #004555;
  --color-panel-sidebar-event-text: #01e4ff;
  --color-panel-sidebar-event-light-alpha: rgba(1, 230, 255, 0.15);
  --color-event-open: #00ff00;
  --color-event-inprogress: #ffff00;
  --color-paypal-bg: #fef2da;
  --color-paypal-border: #f79433;
  --color-general-table-bg: #f1f1f1;
  --color-general-table-border: #e3e3e3;
  --color-general-table-header: #5d8ec9;
  --color-general-table-alt-row: #fafafa;
  --color-tos-text: #555;
  --color-tos-title: #5d8ec9;

  /* Panel Heading*/
  --panel-heading-1: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, var(--color-accent-gold-medium-alpha) 50%, rgba(0, 0, 0, 0) 100%);
  --panel-heading-2: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, var(--color-panel-sidebar-event-light-alpha) 50%, rgba(0, 0, 0, 0) 100%);
  --panel-heading-3: linear-gradient(90deg, var(--color-accent-gold-medium-alpha) 0%, rgba(0, 0, 0, 0) 100%);
  --border-panel-sidebar: #553e00;
  --box-shadow-panel-sidebar: 0 5px 20px #00000085;
  --box-shadow-panel-sidebar-events: 0 5px 20px #00000085;
}

:root[data-theme="light"] {
  /* Fondo y texto principal */
  --color-dark-blue-bg: #f5f8fa;
  /* Fondo principal muy claro/blanco roto */
  --color-dark-module-bg: #ffffff;
  /* Fondo de módulos/componentes (blanco puro) */
  --color-dark-border: #e0e0e0;
  /* Borde claro para separar secciones */
  --color-primary-text: #333333;
  /* Texto principal oscuro */
  --background-image: url("../img/background-light.jpg");

  /* Color principal de acento (Amarillo/Oro) */
  --color-accent-gold: #ffbd00;
  /* Igual, el color de acento principal */
  --color-accent-gold-hover: #e6a800;
  /* Un poco más oscuro para el hover */
  --color-accent-gold-light-alpha: rgba(255, 189, 0, 0.1);
  --color-accent-gold-medium-alpha: rgba(255, 189, 0, 0.2);
  --color-accent-gold-border-alpha: rgba(255, 189, 0, 0.35);
  --color-accent-gold-shadow: rgba(255, 189, 0, 0.4);
  --color-text-input-focus: #141414;
  /* Texto en focus (oscuro) */

  /* Colores de texto/fondo neutrales */
  --color-black: #000000;
  /* Negro puro */
  --color-white: #ffffff;
  /* Blanco puro */
  --color-light-gray-text: #666;
  /* Texto gris claro (para elementos secundarios) */
  --color-lighter-gray-text: #999;
  /* Texto gris muy claro (para elementos muy secundarios) */
  --color-dark-gray-text: #ccc;
  /* Gris muy claro (para algo que era oscuro y debe ser claro) */
  --color-white-input-alpha: rgba(0, 0, 0, 0.05);
  /* Usado como fondo de input (un poco de negro) */
  --color-white-border-alpha: rgba(0, 0, 0, 0.1);
  /* Usado como borde (un poco de negro) */
  --color-navbar-border-alpha: #ffffff50;
  /* Borde de navbar semi-transparente (oscuro) */
  --color-navbar-bg-alpha: #69696954;
  /* Fondo de navbar semi-transparente (claro/blanco) */
  --color-black-shadow-alpha: #00000028;
  /* Sombra suave (negra) */
  --color-black-shadow-strong: rgba(0, 0, 0, 0.2);
  /* Sombra más fuerte (negra) */
  --color-black-shadow-light: rgba(0, 0, 0, 0.02);
  /* Sombra muy sutil (negra) */

  /* Colores específicos de módulos */
  --color-footer-bg-border: #e8eef3;
  /* Fondo de pie de página (gris azulado claro) */
  --color-footer-time: #555555;
  /* Texto oscuro para la hora del pie de página */
  --color-cs-red: #cc0000;
  /* Rojo */
  --color-cs-purple: #8a2be2;
  /* Púrpura */
  --color-cs-purple-countdown: #7d00ff;
  /* Púrpura más oscuro para cuenta regresiva */
  --color-panel-sidebar-event-border: #a0e6ff;
  /* Borde de evento (azul claro) */
  --color-panel-sidebar-event-text: #005a66;
  /* Texto de evento (azul oscuro) */
  --color-panel-sidebar-event-light-alpha: rgba(0, 90, 102, 0.1);
  --color-event-open: #008800;
  /* Verde oscuro (Open) */
  --color-event-inprogress: #cc8800;
  /* Amarillo oscuro/naranja (In Progress) */
  --color-paypal-bg: #f8f8f2;
  /* Fondo de PayPal (casi blanco) */
  --color-paypal-border: #e3842c;
  /* Borde de PayPal (naranja más oscuro) */
  --color-general-table-bg: #f9f9f9;
  /* Fondo de tabla muy claro */
  --color-general-table-border: #dddddd;
  /* Borde de tabla claro */
  --color-general-table-header: #3a75b7;
  /* Encabezado de tabla (azul oscuro) */
  --color-general-table-alt-row: #ffffff;
  /* Fila alterna (blanco puro) */
  --color-tos-text: #555;
  /* Texto de TOS */
  --color-tos-title: #3a75b7;
  /* Título de TOS (azul oscuro) */

  /* Panel Heading*/
  --panel-heading-1: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, var(--color-accent-gold-medium-alpha) 50%, rgba(0, 0, 0, 0) 100%);
  --panel-heading-2: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, var(--color-panel-sidebar-event-light-alpha) 50%, rgba(0, 0, 0, 0) 100%);
  --panel-heading-3: linear-gradient(90deg, var(--color-accent-gold-medium-alpha) 0%, rgba(0, 0, 0, 0) 100%);
  --border-panel-sidebar: #ffbd00;
  --box-shadow-panel-sidebar: 0 5px 20px #533d002b;
  --box-shadow-panel-sidebar-events: 0 5px 20px #005a6652;
}

@font-face {
  font-family: FaceYourFears;
  src: url("../fonts/FaceYourFears.ttf");
}

html {
  height: 100%;
}

body {
  background: var(--color-dark-blue-bg) var(--background-image) no-repeat top center;
  /* background-size: cover;
  background-attachment: fixed; */
  color: var(--color-primary-text);
  font-family: "Lato", sans-serif;
  font-size: 14px;
  margin: 0;
  height: 100%;
}

a {
  color: var(--color-primary-text);
  text-decoration: none;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

a:hover {
  color: var(--color-accent-gold-hover);
}

img {
  border: 0px;
}

input[type="text"],
input[type="password"],
input[type="number"] {
  background: var(--color-white-input-alpha);
  border: 1px solid var(--color-white-border-alpha);
  color: var(--color-primary-text);
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus {
  background: var(--color-accent-gold-light-alpha);
  border: 1px solid var(--color-accent-gold);
  box-shadow: 0 0 10px var(--color-accent-gold-shadow);
  animation: blurPulse 0.5s ease infinite;
}

#header {
  width: 100%;
  margin: 0px auto;
  text-align: center;
  overflow: hidden;
  color: var(--color-white);
  padding: 70px 0px 10px;
}

#header a {
  position: relative;
  right: 250px;
}

#header a img {
  animation: zoomIn 0.2s ease-in;
}

#container {
  width: 90%;
  max-width: 1300px;
  height: auto;
  margin: 0px auto;
  padding: 20px 0px;
}

#content {
  width: 100%;
  overflow: auto;
  min-height: 500px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.module-contents {
  background: var(--color-dark-module-bg);
  padding: 15px 15px 30px 15px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  -khtml-border-radius: 10px;
  border: 2px solid var(--color-dark-border);
  overflow: auto;
  min-height: 800px;
  box-shadow: 0 1px 1px var(--color-black-shadow-light);
}

.footer {
  font-family: "Segoe UI", "Lucida Sans Unicode", "Lucida Grande", "Tahoma",
    "Arial", "sans-serif";
  width: 100%;
  font-size: 14px;
  color: var(--color-light-gray-text);
  padding: 60px 0px;
  background: var(--color-black) url("../img/footer_background.png") no-repeat bottom center;
  overflow: auto;
  border-top: 40px solid var(--color-footer-bg-border);
}

.footer>.footer-container {
  width: 1300px;
  margin: 0px auto;
}

.footer-time {
  font-size: 45px;
  color: var(--color-footer-time);
  font-weight: bold;
  position: relative;
  top: -10px;
}

#navbar {
  display: flex;
  width: 90%;
  max-width: 1275px;
  margin: 0px auto;
  background: var(--color-navbar-bg-alpha);
  border-radius: 0px 0px 8px 8px;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 15px 25px 0 var(--color-black-shadow-alpha);
  backdrop-filter: blur(7px);
  border-bottom: 1px solid var(--color-navbar-border-alpha);
  animation: slideBottom 0.2s ease-in;
}

#navbar ul {
  text-align: center;
  margin: 0px;
  -webkit-padding-start: 0px;
}

#navbar ul li {
  font-family: "Lato", sans-serif;
  list-style-type: none;
  display: inline-block;
  font-size: 18px;
}

#navbar ul li a {
  display: inline-block;
  color: var(--color-white) !important;
  text-decoration: none;
  padding: 20px 25px;
  font-weight: regular;
  text-shadow: 0 0 15px #00000050;
}

#navbar ul li a:active,
#navbar ul li a:focus,
#navbar ul li a:hover {
  text-decoration: none;
  color: var(--color-accent-gold) !important;
  transform: translateY(-1px);
}

#navbar ul li a.active {
  color: var(--color-accent-gold) !important;
  position: relative;
}

#navbar ul li a.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background: var(--color-accent-gold);
  border-radius: 2px 2px 0 0;
}

/* CASTLE SIEGE BANNER */
.castle-siege-banner {
  width: 100%;
  background: var(--color-black) url("../img/castle_siege_banner_bg.jpg") no-repeat center center;
  background-size: cover;
  margin: 0px auto -5px auto;
  padding: 15px;
  -moz-box-shadow: 0 0 10px var(--color-black);
  -webkit-box-shadow: 0 0 10px var(--color-black);
  box-shadow: 0 0 10px var(--color-black);
  overflow: auto;
  /*font-family: FaceYourFears;*/
  color: var(--color-white);
  -webkit-border-radius: 5px 5px 0px 0px;
  -moz-border-radius: 5px 5px 0px 0px;
  border-radius: 5px 5px 0px 0px;
  -khtml-border-radius: 5px 5px 0px 0px;
}

.cs-timeleft {
  /*font-family: FaceYourFears;*/
  font-size: 32px;
  color: var(--color-white);
}

.cs-timeleft span {
  color: var(--color-cs-red);
}

.castle-siege-banner-guildlogo {
  background: var(--color-black);
  display: inline-block;
  border: 1px solid #555;
  padding: 5px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  -khtml-border-radius: 10px;
  -moz-box-shadow: 0 0 5px var(--color-black);
  -webkit-box-shadow: 0 0 5px var(--color-black);
  box-shadow: 0 0 5px var(--color-black);
}

.castle-siege-banner-title {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--color-cs-purple);
  text-shadow: 1px 1px 2px var(--color-black);
}

.castle-siege-banner-castleowner,
.castle-siege-banner-castleowner a {
  font-family: FaceYourFears;
  font-size: 35px;
  text-shadow: 1px 1px 4px var(--color-black);
  color: var(--color-white);
}

.castle-siege-banner-countdown {
  font-family: FaceYourFears;
  font-size: 32px;
  text-shadow: 0px 0px 3px var(--color-black);
}

.castle-siege-banner-countdown span {
  color: var(--color-cs-purple-countdown);
}

/* <-- CASTLE SIEGE BANNER END */

.admincp-button {
  position: absolute;
  top: 10px;
  right: 10px;
}

.page-title {
  background: var(--panel-heading-1);
  color: var(--color-accent-gold);
  padding: 5px 0px;
  font-family: "Lato", sans-serif;
  font-size: 32px;
  margin-bottom: 20px;
  font-weight: bold;
  text-align: center;
}

/* NEWS MODULE */
.panel-news {
  margin-bottom: 30px;
  color: var(--color-dark-gray-text);
  border: 0px;
}

.panel-news .panel-heading {
  padding-top: 20px;
  padding-bottom: 20px;
  background: var(--panel-heading-3);
}

.panel-news .panel-title {
  color: var(--color-accent-gold);
  font-family: "Lato", sans-serif;
  font-size: 18px;
  font-weight: bold;
}

.panel-news .panel-footer {
  border-top: 1px solid var(--color-accent-gold-border-alpha);
  background: transparent;
  font-style: italic;
  font-size: 12px;
  height: 40px;
  color: var(--color-accent-gold-border-alpha);
}

/* RANKINGS MODULE */
.rankings-table {
  width: 90%;
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0px auto;
}

.rankings-class-image {
  width: 30px;
  height: auto;
  -moz-box-shadow: 0 0 5px #00000096;
  -webkit-box-shadow: 0 0 5px #00000096;
  box-shadow: 0 0 5px #00000096;
  border-radius: 50%;
}

.rankings-table tr td {
  border-bottom: 1px solid var(--color-accent-gold-border-alpha);
  padding: 10px;
  font-size: 18px;
  vertical-align: middle !important;
  text-align: center;
}

.rankings-table-place {
  color: var(--color-accent-gold);
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

.rankings-table tr:first-child td {
  color: var(--color-accent-gold);
  border-bottom: 3px solid var(--color-accent-gold);
}

.rankings-table tr td:first-child {
  width: 100px;
}

.rankings-update-time {
  text-align: right;
  font-size: 11px;
  color: var(--color-accent-gold-border-alpha);
  padding: 10px 0px;
}

.rankings_menu {
  width: 90%;
  overflow: auto;
  text-align: center;
  margin: 0px auto 20px auto;
}

.rankings_menu span {
  width: 100%;
  display: inline-block;
  padding: 10px 0px;
  color: #ccc;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  font-size: 24px;
}

.rankings_menu a {
  display: inline-block;
  font-size: 18px;
  width: 150px;
  border: 1px solid var(--color-accent-gold-border-alpha);
  text-align: center;
  padding: 2px 0px;
  margin: 2px 6px;
  background: transparent;
  -moz-border-radius: 2px;
  border-radius: 2px;
  color: #ccc;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
}

.rankings_menu a.active {
  color: var(--color-black);
  font-weight: bold;
  background: var(--color-accent-gold);
  border-color: var(--color-accent-gold);
}

.rankings_guild_logo tr td {
  border: 0px !important;
  padding: 0px !important;
  margin: 0px !important;
}

.rankings-gens-img {
  width: auto !important;
  height: 30px !important;
  border: 0 !important;
  -moz-box-shadow: 0 0 0px var(--color-black) !important;
  -webkit-box-shadow: 0 0 0px var(--color-black) !important;
  box-shadow: 0 0 0px var(--color-black) !important;
  -moz-border-radius: 0px !important;
  border-radius: 0px !important;
}

/* MY ACCOUNT MODULE */
.myaccount-table {
  width: 100%;
  background: var(--color-dark-module-bg);
  border: 1px solid var(--color-dark-border);
  box-shadow: 0 5px 20px #00000085;
  /* Alpha oscuro, mantenido para no crear variable específica */
}

.myaccount-table tr td:first-child {
  color: var(--color-primary-text);
  font-weight: bold;
}

.myaccount-table tr td {
  border-bottom: 1px solid var(--color-accent-gold-border-alpha);
  padding: 15px !important;
}

.myaccount-table tr:last-child td {
  border: 0px;
}

/* GENERAL TABLE UI */
.general-table-ui {
  width: 100%;
  table-layout: fixed;
  background: var(--color-general-table-bg);
  border: 1px solid var(--color-general-table-border);
  padding: 10px;
  margin: 10px 0px;
}

.general-table-ui tr td {
  padding: 5px;
  vertical-align: middle !important;
}

.general-table-ui tr:first-child td {
  color: var(--color-general-table-header);
}

.general-table-ui tr:nth-child(2n + 2) td {
  background: var(--color-general-table-alt-row);
}

.general-table-ui tr td {
  text-align: center;
}

.general-table-ui img {
  width: 50px;
  height: auto;
  -moz-box-shadow: 0 0 5px #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  -webkit-box-shadow: 0 0 5px #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  box-shadow: 0 0 5px #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -khtml-border-radius: 50%;
}

/* TERMS OF SERVICE PAGE */
.tos_list li {
  color: var(--color-tos-title);
  margin-bottom: 40px;
}

.tos_list li p {
  color: var(--color-tos-text);
  text-align: justify;
  text-justify: inter-word;
  text-transform: none;
  padding-right: 35px;
}

/* PAYPAL */
.paypal-gateway-container {
  width: 100%;
}

.paypal-gateway-content {
  background: var(--color-paypal-bg);
  border: 3px solid var(--color-paypal-border);
  padding: 15px;
  overflow: auto;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-weight: bold;
}

.paypal-gateway-logo {
  width: 100%;
  height: 100px;
  background: #fff9ec url("../img/paypal-logo-200-68.png") no-repeat center;
  /* Mantengo el color de fondo */
  background-size: contain;
  margin-bottom: 15px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

.paypal-gateway-conversion-rate {
  margin: 0px auto;
  text-align: center;
  color: var(--color-black);
  font-size: 18px;
  padding: 10px 0px;
}

.paypal-gateway-form {
  width: 100%;
  margin: 20px auto;
  text-align: center;
}

.paypal-gateway-form div {
  display: inline-block;
  padding: 0px 10px;
  color: var(--color-black);
  font-size: 24px;
}

.paypal-gateway-form input[type="text"] {
  width: 60px;
  font-size: 24px;
  border: 3px solid var(--color-paypal-border);
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  color: var(--color-paypal-border);
}

.paypal-gateway-continue {
  margin: 0px auto;
  text-align: center;
}

.paypal-gateway-continue input[type="submit"] {
  background: url("../img/paypal-submit.jpg") no-repeat;
  width: 200px;
  height: 40px;
  border: 0px;
}

.module-requirements {
  font-size: 12px;
  margin-top: 20px;
}

/* SIDEBAR */
.panel-sidebar {
  background: var(--color-dark-module-bg);
  border: 2px solid var(--color-dark-border);
  border-top: 2px solid var(--border-panel-sidebar);
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
}

.panel-sidebar>.panel-heading {
  background: var(--panel-heading-1);
  color: var(--color-accent-gold);
  font-family: "Lato", sans-serif;
  border: 0px;
  box-shadow: var(--box-shadow-panel-sidebar);
  /* Alpha oscuro, mantenido para no crear variable específica */
}

.panel-sidebar>.panel-heading>.panel-title {
  font-weight: bold;
}

.panel-usercp {
  background: var(--color-dark-module-bg);
  /* Cambiado de #191919 */
  background-size: cover;
}

.panel-usercp ul {
  list-style-type: none;
  padding: 0px;
  margin: 0px;
}

.panel-usercp ul li {
  display: table;
  width: 100%;
  vertical-align: middle;
  line-height: 30px;
}

.panel-usercp ul li a {
  color: var(--color-primary-text) !important;
  font-weight: bold;
}

.panel-usercp ul li a:active,
.panel-usercp ul li a:hover {
  color: var(--color-text-input-focus) !important;
}

.panel-usercp ul li img {
  position: relative;
  top: -2px;
  padding-right: 10px;
  width: 30px;
  height: auto;
}

.sidebar-banner {
  text-align: center;
  margin: 20px 0px;
  border: 0px;
}

.sidebar-banner img {
  border: 0px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -khtml-border-radius: 5px;
  width: 100%;
  height: auto;
  transition: 0.3s ease;
}

.sidebar-banner a img:hover {
  scale: 1.05;
  animation: blurSat 0.3s ease-out;
}

/* PANEL SIDEBAR EVENT TIMERS */
.panel-sidebar-events {
  background: var(--color-dark-module-bg) url("../img/panel_events_bg.png") no-repeat top center;
  border: 2px solid var(--color-dark-border);
  border-top: 2px solid var(--color-panel-sidebar-event-border);
}

.panel-sidebar-events>.panel-heading {
  background: var(--panel-heading-2);
  color: var(--color-panel-sidebar-event-text);
  font-family: "Lato", sans-serif;
  border: 0px;
  box-shadow: var(--box-shadow-panel-sidebar-events);
  /* Alpha oscuro, mantenido para no crear variable específica */
}

.panel-sidebar-events>.panel-heading>.panel-title {
  font-weight: bold;
}

.panel-sidebar-events>.panel-body {
  color: #ccc;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
}

.panel-sidebar-events>.panel-body>.table {
  margin-bottom: 0px !important;
}

.event-schedule-open {
  color: var(--color-event-open);
}

.event-schedule-inprogress {
  color: var(--color-event-inprogress);
}

.panel-sidebar-events .smalltext {
  font-size: 11px;
  position: relative;
  top: -5px;
}

/* GENERAL PANEL STYLING */
.panel-general {
  margin-bottom: 30px;
  background: var(--color-general-table-bg);
  border: 1px solid var(--color-general-table-border);
  -moz-border-radius: 0px;
  border-radius: 0px;
  color: var(--color-dark-gray-text);
}

.panel-body .panel-title {
  background: var(--panel-heading-3);
  color: var(--color-accent-gold);
  padding: 10px;
  font-family: "Lato", sans-serif;
  font-size: 18px;
  margin-bottom: 20px !important;
  font-weight: bold;
}

/* ADD STATS MODULE */
.panel-addstats {
  margin-bottom: 30px;
  background: var(--color-general-table-bg);
  border: 1px solid var(--color-general-table-border);
  -moz-border-radius: 0px;
  border-radius: 0px;
  color: var(--color-dark-gray-text);
}

.panel-addstats .character-avatar img {
  width: 100px;
  height: auto;
  -moz-box-shadow: 0 0 5px #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  -webkit-box-shadow: 0 0 5px #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  box-shadow: 0 0 5px #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -khtml-border-radius: 50%;
}

.panel-addstats .character-name {
  color: #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  font-family: "Lato", sans-serif;
  font-size: 18px;
  border-bottom: 1px solid var(--color-general-table-border);
  padding: 20px 0px;
  margin-bottom: 20px !important;
  font-weight: bold;
}

/* HELPER CLASSES */
.rounded_corners_image {
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -khtml-border-radius: 50%;
}

/* DOWNLOADS */
.panel-downloads {
  margin-bottom: 30px;
  border: 1px solid var(--color-dark-border);
  -moz-border-radius: 0px;
  border-radius: 4px;
}

.download-description {
  font-size: 13px;
  position: relative;
  top: -5px;
  color: var(--color-lighter-gray-text);
}

.online-status-indicator {
  margin-left: 5px;
}

/* WEBENGINE CMS */
.webengine-powered {
  color: var(--color-lighter-gray-text) !important;
}

.webengine-powered:active,
.webengine-powered:hover {
  color: #ff3214 !important;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
}

/* LANGUAGE PICKER */
.webengine-language-switcher {
  display: inline-block;
  list-style: none;
  padding: 0px !important;
  margin: 0px !important;
  overflow: hidden;
  transition: all 0.3s ease;
}

.webengine-language-switcher li {
  display: inline-block;
  list-style-type: none;
  background: var(--color-dark-gray-text);
  padding: 0px 5px 2px 5px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -khtml-border-radius: 3px;
  transition: all 0.3s ease;
}

.webengine-language-switcher li:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%);
}

.webengine-language-switcher li a {
  color: #999999;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
}

.webengine-language-switcher li a:hover {
  color: var(--color-white) !important;
}

/* MY ACCOUNT CHARACTER LIST */
.myaccount-character-block {
  background: var(--color-dark-gray-text);
  border: 1px solid #666;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  padding: 5px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  display: inline-block;
  margin: 0px auto;
  -moz-box-shadow: 0 0 10px var(--color-black-shadow-strong);
  -webkit-box-shadow: 0 0 10px var(--color-black-shadow-strong);
  box-shadow: 0 0 10px var(--color-black-shadow-strong);
}

.myaccount-character-block img {
  width: 100px;
  height: auto;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -moz-box-shadow: 0 0 5px var(--color-black);
  -webkit-box-shadow: 0 0 5px var(--color-black);
  box-shadow: 0 0 5px var(--color-black);
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.myaccount-character-block img:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%);
}

.myaccount-character-block-location {
  font-size: 12px;
  color: #7e7e7e;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  margin-bottom: 20px;
  margin-top: 2px;
  line-height: 1.2;
}

.myaccount-character-block-level {
  position: relative;
  top: -77px;
  display: inline-block;
  background: rgba(0, 0, 0, 0.5);
  /* Alpha oscuro, mantenido para no crear variable específica */
  padding: 0px 5px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  color: var(--color-white);
  font-size: 10px;
}

.myaccount-character-name a {
  font-weight: bold;
  color: #f4f4f4;
  /* Mantengo este ya que solo se usa aquí y no es uno de los principales */
  font-size: 16px;
}

/* RANKINGS FILTER BY CLASS */

.rankings-class-filter {
  display: inline-block;
  list-style-type: none;
  margin: 20px auto;
  padding: 10px 20px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  -khtml-border-radius: 10px;
}

.rankings-class-filter li {
  display: inline-block;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-bottom: 10px;
}

.rankings-class-filter li:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
}

.rankings-class-filter-selection {
  display: inline-block;
  width: 75px;
  text-align: center;
  color: var(--color-black);
  font-size: 11px;
  cursor: pointer;
}

.rankings-class-filter-selection:hover {
  color: var(--color-black) !important;
}

.rankings-class-filter-selection:hover img {
  -webkit-filter: brightness(120%);
  filter: brightness(120%);
}

.rankings-class-filter-selection img {
  width: 40px;
  height: auto;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -khtml-border-radius: 50%;
  margin-bottom: 5px;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.45);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.45);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.45);
}

.rankings-class-filter-grayscale {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.ab-table-download tbody tr {
  display: flex;
  align-items: center;
}

.ab-table-download tbody tr td {
  font-size: 16px;
}

/* Custom buttons - Usan una imagen de fondo que ya define el estilo. Solo cambié los colores de texto. */
.ab-btn-custom-1 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/ab-btn-custom-1.png") no-repeat center;
  cursor: pointer;
  width: 100%;
  height: 61px;
  border: none;
  text-align: center;
  color: var(--color-white);
  font-size: 16px;
  text-shadow: 2px 2px 5px var(--color-black);
  filter: drop-shadow(2px 2px 5px var(--color-black-shadow-strong));
  transition: 0.3s ease-in;
}

.ab-btn-custom-1:hover,
.ab-btn-custom-1:focus {
  color: var(--color-text-input-focus) !important;
  animation: blurSatAlt 0.2s ease-out;
}

.ab-btn-custom-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/ab-btn-custom-2.png") no-repeat center;
  cursor: pointer;
  width: fit-content;
  height: 45px;
  border: none;
  border-radius: 4px;
  text-align: center;
  color: var(--color-white);
  padding: 0px 20px;
  font-size: 16px;
  text-shadow: 2px 2px 5px var(--color-black);
  filter: drop-shadow(2px 2px 5px var(--color-black-shadow-strong));
  transition: 0.3s ease-in;
}

.ab-btn-custom-2:hover,
.ab-btn-custom-2:focus {
  color: var(--color-white) !important;
  animation: blurSatAlt 0.2s ease-out;
}

.ab-btn-custom-3 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/ab-btn-custom-3.png") no-repeat center;
  cursor: pointer;
  width: fit-content;
  height: 45px;
  border: none;
  border-radius: 4px;
  text-align: center;
  color: var(--color-white);
  padding: 0px 20px;
  font-size: 16px;
  text-shadow: 2px 2px 5px var(--color-black);
  filter: drop-shadow(2px 2px 5px var(--color-black-shadow-strong));
  transition: 0.3s ease-in;
}

.ab-btn-custom-3:hover,
.ab-btn-custom-3:focus {
  color: var(--color-white) !important;
  animation: blurSatAlt 0.2s ease-out;
}

.ab-btn-custom-4 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/ab-btn-custom-4.png") no-repeat center;
  cursor: pointer;
  width: fit-content;
  height: 45px;
  border: none;
  border-radius: 4px;
  text-align: center;
  color: var(--color-white);
  padding: 0px 20px;
  font-size: 16px;
  text-shadow: 2px 2px 5px var(--color-black);
  filter: drop-shadow(2px 2px 5px var(--color-black-shadow-strong));
  transition: 0.3s ease-in;
}

.ab-btn-custom-4:hover,
.ab-btn-custom-4:focus {
  color: var(--color-white) !important;
  animation: blurSatAlt 0.2s ease-out;
}

.ab-btn-custom-5 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/ab-btn-custom-5.png") no-repeat center;
  cursor: pointer;
  width: fit-content;
  height: 45px;
  border: none;
  border-radius: 4px;
  text-align: center;
  color: var(--color-white);
  padding: 0px 20px;
  font-size: 16px;
  text-shadow: 2px 2px 5px var(--color-black);
  filter: drop-shadow(2px 2px 5px var(--color-black-shadow-strong));
  transition: 0.3s ease-in;
}

.ab-btn-custom-5:hover,
.ab-btn-custom-5:focus {
  color: var(--color-white) !important;
  animation: blurSatAlt 0.2s ease-out;
}

.ab-navbar-fixed {
  position: fixed;
  width: 100%;
  z-index: 99;
}

.ab-navbar-actions {
  display: flex;
  flex-direction: row;
  gap: 12px;
}

.ab-navbar-actions button {
  margin-right: 25px;
  border: none;
  background: transparent;
}

.ab-navbar-actions button i {
  font-size: 24px;
  color: #ffffff;
}