.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
    border-top: none;
}

@media (max-width: 767px) {
  /* Evitar scroll horizontal en pantallas pequeñas */
  html, body { overflow-x: hidden; }

  /* Contenedores: reducir padding en móviles */
  #container, #content { padding-left: 10px; padding-right: 10px; }

  /* Texto más legible en pantallas pequeñas */
  body { font-size: 15px; line-height: 1.45; }

  /* Inputs y botones más grandes para pantallas táctiles */
  input, select, textarea {
    font-size: 16px;
    padding: 10px 12px;
  }
  
  .btn {
    font-size: 16px;
    padding: 2px 12px;
  }

  /* Imágenes fluidas */
  img { max-width: 100%; height: auto; }

  /* Tablas: evitar que rompan el layout */
  .table-responsive { border: 0; }
  table { width: 100%; }
  
  /* CAMBIO: Ajustes adicionales para pantallas pequeñas */
  #content .rankings-table { width: 100%; /* tabla rankings a ancho completo en móviles */ }
  #content .rankings_menu { width: 100%; /* menu de rankings a ancho completo en móviles */ }
 
  .profiles_player_avatar, .profiles_player_content { float: none; width: 100%; /* perfiles: columnas apiladas en móvil */ }
  .csinfo_glist li { width: 100%; /* lista de guilds apilada en móvil */ }
}

a:focus:not(.aRankUser):not(.nombreGuild),
a:hover:not(.aRankUser):not(.nombreGuild) {
    color: inherit;
    text-decoration: none;
}

.form-control {
	background: #fafafa;
	border: 1px solid #e3e3e3;
	color: #666;
}
.form-control:focus {
	border: 1px solid #ccc;
}

/* Eliminar padding de columnas en Bootstrap (via stackoverflow) */
.nopadding {
   padding: 0;
   margin: 0;
}

/* Centrado vertical en elementos inline-block (via stackoverflow) */
.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

.thumbnail {
    background-color: #f1f1f1;
    border: 1px solid #e3e3e3;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #5d8ec9;
}

.btn-primary {
    color: #64491f;
    background-color: #ffecb2;
    border-color: #d9c68d;
    -moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    transition: all .1s ease-in;
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
    color: #64491f;
    background-color: #edc085;
    border-color: #d9c68d;
}

.btn-yellow {
    color: #64491f !important;
    background-color: #ffecb2;
    border-color: #d9c68d;
    -moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    transition: all .3s ease-in;
}
.btn-yellow:active, .btn-yellow:focus, .btn-yellow:hover {
    color: #64491f;
    background-color: #edc085;
    border-color: #d9c68d;
}

.btn-danger, .btn-danger:active, .btn-danger:focus, .btn-danger:hover {
    color: #ffffff;
}

/* Barra de carga online */
#gGST_Wrap {
  width: 100%;
  max-width: 300px;
  margin: 10px auto;
  display: flex;
  border-radius: 6px;
  overflow: hidden;
  font-size: 14px;
  font-family: Arial, sans-serif;
}

.gGST_BoxOn, .gGST_BoxOff {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px;
  height: 30px;
  transition: width 0.5s ease-in-out;
}

.gGST_BoxOn {
  background: #4caf50;
  color: #fff;
  font-weight: bold;
  border-right: 1px solid #333;
}

.gGST_BoxOff {
  background: #2e2e2e;
  color: #ccc;
}

/* ===== Rankings: fix mobile table ===== */
@media (max-width: 767px) {

  /* 1) Hacer que la tabla use el ancho completo y no fuerce layout fijo */
  .rankings-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* 2) Reducir tamaño y padding para que quepa */
  .rankings-table tr td {
    padding: 8px 6px;
    font-size: 14px;
  }

  .rankings-table-place {
    font-size: 16px;
  }

  /* 3) La primera columna (puesto) no puede medir 100px en mobile */
  .rankings-table tr td:first-child {
    width: 44px;          /* antes tenías 100px */
  }

  /* 4) Evitar que textos largos se rompan feo */
  .rankings-table td {
    word-break: normal;
    overflow-wrap: anywhere;
  }
}

/* ===========================
   Mobile: Rankings table legible
   =========================== */
/* ===========================
   Mobile: Rankings sin cortes (scroll horizontal)
   =========================== */
@media (max-width: 767px) {

  /* El contenedor de la tabla permite scroll horizontal */
  .rankings-table {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;

    width: 100%;
    max-width: 100%;

    border-collapse: collapse;
    table-layout: auto;
  }

  /* Nada se parte */
  .rankings-table th,
  .rankings-table td {
    white-space: nowrap;   /* <- clave */
  }

  /* Ajuste leve para que no sea gigante */
  .rankings-table th,
  .rankings-table td,
  .rankings-table tr td {
    font-size: 13px;
    padding: 6px 8px;
    line-height: 1.2;
  }
}

/* ===========================
   GUIDES MODULE (Accordion)
   =========================== */


.panel-body.guide-content {
  line-height: 1.4; /* Or a smaller value like 1.2; */
  letter-spacing: -0.02em; /* Small negative value */
}

.panel-body.guide-content {
    padding-left: 0;
    margin-left: 1em;
}

.guides-accordion .panel-guide {
  background: rgba(222, 217, 204, 0.97);
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.12);
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0,0,0,0.12);
  margin-bottom: 14px;
}

.guides-accordion .panel-guide .panel-heading {
  padding: 0;
  background: linear-gradient(45deg, rgba(134,76,49,0.75), rgba(224,127,82,0.75), rgba(90,51,33,0.75));
  border-bottom: 1px dotted #294b54;
}

.guides-accordion .panel-guide .panel-title a {
  padding: 16px 18px;
  color: #fff !important;
  font-family: 'Lato', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-decoration: none !important;
  position: relative;
  transition: opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
}

/* hover leve, sin “romper” el diseño */
.guides-accordion .panel-guide .panel-title a:hover {
  opacity: 0.95;
  transform: translateY(-1px);
}

/* Flechita a la derecha */
.guides-accordion .panel-guide .panel-title a:after {
  content: "▾";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  font-size: 18px;
  opacity: 0.95;
  transition: transform 0.2s ease-in-out;
}

/* Cuando está abierto, rota la flecha */
.guides-accordion .panel-guide .panel-title a[aria-expanded="true"]:after {
  transform: translateY(-50%) rotate(180deg);
}

/* Cuerpo */
.guides-accordion .panel-guide .guide-content {
  color: #2b2b2b;
  line-height: 1.65;
  font-size: 15px;
  tab-size: .5;
}

/* Contenido “tipo blog” */
.guides-accordion .panel-guide .guide-content h1,
.guides-accordion .panel-guide .guide-content h2,
.guides-accordion .panel-guide .guide-content h3,
.guides-accordion .panel-guide .guide-content h4 {
  color: #2f4f4f;
  margin-top: 12px;
  margin-bottom: 0;
  font-weight: 700;
}

.panel-body.guide-content p {
  margin-bottom: 0.5em; /* Or even 0; */
}

.guides-accordion .panel-guide .guide-content p {
  margin: 0 0 12px 0;
}

.panel-guide ul {
    margin-left: 0;
}

.guides-accordion .panel-guide .guide-content ul,
.guides-accordion .panel-guide .guide-content ol {
  margin: 0;
  padding-inline-start: 0.5em !important; /* Padding de Lists */
  list-style: none;
}

.guides-accordion .panel-guide .guide-content li {
    padding: 0;
    margin: 0 !important;
}

.guides-accordion .panel-guide .guide-content li::before {
  /* Símbolo decorativo */
  content: "◆";

  /* Color azul tipo fantasy */
  color: #1e90ff;

  /* Tamaño del símbolo */
  font-size: 0.8rem;
}

/* Imágenes responsivas dentro de guías */
.guides-accordion .panel-guide .guide-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 0 8px rgba(0,0,0,0.15);
  margin: 10px 0;
  transition: transform 0.3s ease;
}

.guides-accordion .panel-guide .guide-content img:hover {
  transform: scale(1.05);
  position: relative;
  z-index: 10;
}

/* Citas */
.guides-accordion .panel-guide .guide-content blockquote {
  border-left: 4px solid #5d8ec9;
  background: rgba(93,142,201,0.12);
  padding: 10px 12px;
  margin: 12px 0;
  border-radius: 6px;
}

/* Código */
.guides-accordion .panel-guide .guide-content code,
.guides-accordion .panel-guide .guide-content pre {
  background: rgba(0,0,0,0.08);
  border-radius: 6px;
}

.guides-accordion .panel-guide .guide-content pre {
  padding: 12px;
  overflow-x: auto;
}

/* Mobile tweaks */
@media (max-width: 767px) {
  .guides-module {
    padding: 0 8px;
    margin: 0 auto 30px auto;
}


  .guides-accordion .panel-guide .panel-title a {
    padding: 14px 14px;
    font-size: 16px;
  }

  .guides-accordion .panel-guide .guide-content {
    padding: 14px 14px;
    font-size: 15px;
  }
}

/* Para iconos de Font Awesome */
.usercp-icon {
    font-size: 20px;        /* Tamaño del icono */
    color: #fafafa;          /* Color del icono */
    margin-right: 1rem;       /* Espacio a la derecha */
    vertical-align: middle;  /* Alineación con el texto */
}

/* Para iconos de imagen */
img.usercp-icon {
    width: 24px;             /* Ancho deseado */
    height: auto;            /* Alto proporcional */
    margin-right: 8px;
    vertical-align: middle;
}

/* Efecto hover (opcional) */
.usercp-icon:hover {
    opacity: 0.8;
    transform: scale(1.1);
    transition: all 0.2s ease;
}

.panel-downloads:not(.btn) {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.55),
        rgba(0,0,0,0.05)
    );
    backdrop-filter: blur(5px);
    border: 4px solid #294b54;
    border-radius: 15px;
    color: #9fc2d6;
	text-decoration: none;
}

.panel-downloads .panel-title {
    color: #A6A6A6;
	text-align: center;
	text-shadow: #000000 1px 0 10px;
	font-weight: bold;
}

.panel-downloads .table>tbody>tr>rd {
    color: #A6A6A6;
	text-shadow: #FFFFFF 1px 0 10px;
	font-weight: bold;
}

.unstick-txt {
    color: #d7d7d7;
	text-shadow: #A6A6A6 1px 0 10px;
	font-weight: bold;
	font-size: 15px;
}

.table-unstick {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.55),
        rgba(0,0,0,0.05)
    );
    backdrop-filter: blur(5px);
    border: 4px solid #294b54;
    color: #9fc2d6;
	text-decoration: none;
}

.table-unstick .table-title {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.55),
        rgba(0,0,0,0.05)
    );
}

.table-unstick .table-content {
    background-color: transparent;
}

.table-unstick tr:not(.tr-unstick-title) {
    position: relative; /* Necesario para posicionar el pseudo-elemento */
}

.table-unstick tr:not(.tr-unstick-title):not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1.5px; /* Grosor del borde */
    background: linear-gradient(to left, rgba(0,0,0,0.35), #ffda8a, rgba(0,0,0,0.12));
    pointer-events: none; /* Para que no interfiera con clicks */
}

.table-unstick .table>tbody>tr>rd {
    color: #A6A6A6;
	text-shadow: #FFFFFF 1px 0 10px;
	font-weight: bold;
}

/* ===== DONATION SQUARE - VERSIÓN COMPACTA ===== */
.DonationSquare {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.35),
        rgba(0,0,0,0.12)
    );
    backdrop-filter: blur(5px);
    border: 2px solid #a67c00;          /* Mismo grosor de borde */
    border-radius: 30px;                 /* Mismo redondeado */
    max-width: 650px;                     /* Mismo ancho máximo */
    height: 120px;                         /* Altura fija más baja (podés cambiarla) */
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    /*box-shadow: 0 10px 20px rgba(0,0,0,0.5);*/
    box-sizing: border-box;
    padding-top: 0;                            /* Sin padding interno */
    overflow: hidden;                      /* Para que el redondeado recorte la imagen si es necesario */
    
    
    /* Sombra de profundidad (oscura) + BRILLO DORADO */
    box-shadow: 
        0 10px 20px rgba(0,0,0,0.5),        /* sombra de profundidad */
        0 0 20px 8px rgba(255, 218, 138, 0.4); /* brillo dorado (podés ajustar color/opacidad) */
}

.DonationSquare img {
    width: 100%;
    height: 100%;
    margin-top: 35px;
    margin-left: -6.5px;
    object-fit: cover;                     /* La imagen cubre todo el contenedor, se recorta si es necesario */
    display: block;
    border-radius: 26px;                    /* 30px de borde - 4px de borde = 26px, para que el borde se vea parejo */
}

/* Ajuste responsive para pantallas chicas */
@media (max-width: 767px) {
    .DonationSquare {
        max-width: 95%;
        height: 100px;                       /* Un poco más bajo en móvil */
        border-radius: 20px;
    }
    .DonationSquare img {
        border-radius: 16px;                  /* 20px - 4px */
    }
}

/* ===== CORRECCIÓN DE TABLA DE RANKING ===== */
.ranking-list {
    table-layout: fixed; /* Permite controlar anchos con mayor precisión */
    width: 70%;
    margin: auto;
}

@media (max-width: 767px) {
    .ranking-list {
        width: 100%;
    }
}

/* Restaurar display de celdas de nivel y resets */
.ranking-list td.rank-level {
    display: table-cell;      /* Anula el inline-block problemático */
    text-align: left;         /* Alinea con los encabezados (que están a la izquierda) */
    border-left: none;        /* Elimina el borde izquierdo que desplazaba el texto */
    padding: 16px 15px;       /* Mantén el padding original (ajusta si es necesario) */
}

/* Anchos fijos para las columnas (ajusta según preferencia) */
.ranking-list th:nth-child(1),
.ranking-list td:nth-child(1) {
    width: 60px;              /* Posición */
}

.ranking-list th:nth-child(2),
.ranking-list td:nth-child(2) {
    width: auto;              /* Personaje: se ajusta al contenido */
    min-width: 220px;         /* Pero con un mínimo para evitar que se encoja demasiado */
}

.ranking-list th:nth-child(3),
.ranking-list td:nth-child(3) {
    width: 100px;             /* Nivel */
}

.ranking-list th:nth-child(4),
.ranking-list td:nth-child(4) {
    width: 100px;             /* Resets */
}

.ranking-list th:nth-child(5),
.ranking-list td:nth-child(5) {
    width: 80px;              /* País */
    text-align: left;         /* Alineación de la bandera con el encabezado */
}

.score_ranking {
    padding-right: 100px !important;
}

/* Asegurar que las imágenes de bandera no se salgan de su celda */
.ranking-list td img[src*="flag"],
.ranking-list td img[src*="Flag"] {
    display: inline-block;
    vertical-align: middle;
}

/* =========================
   RANKINGS RESPONSIVE
========================= */

@media (max-width: 768px){

    /* hacer que la tabla use todo el ancho */
    .ranking-list{
    width:100%;
    }
    
    /* reducir tamaño de celdas */
    .ranking-list th,
    .ranking-list td{
    padding:6px 4px;
    font-size:12px;
    }
    
    /* avatar más chico */
    .ranking-list .rank-img{
    width:26px;
    height:auto;
    }
    
    /* personaje en varias líneas */
    .ranking-list .rank-name{
    display:block;
    font-size:13px;
    }
    
    .ranking-list .rank-class{
    display:block;
    font-size:11px;
    opacity:0.7;
    }
    
    /* ocultar columnas menos importantes */
    .ranking-list th:nth-child(6),
    .ranking-list td:nth-child(6),
    .ranking-list th:nth-child(7),
    .ranking-list td:nth-child(7){
    display:none;
    }

}

/* ===== FIX RANKINGS TABLE WIDTH ===== */

table.ranking-list {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

table.ranking-list thead,
table.ranking-list tbody {
    display: table-row-group !important;
    width: 100%;
}

table.ranking-list thead tr,
table.ranking-list tbody tr {
    display: table-row !important;
    width: 100%;
}

table.ranking-list th,
table.ranking-list td {
    display: table-cell !important;
    box-sizing: border-box;
}

/* =========================
   Rankings: mobile cards (sin scroll horizontal)
   Pegar al FINAL de override.css
   ========================= */

@media (max-width: 480px) {

  /* Convertir la tabla a “cards” */
  table.ranking-list,
  table.ranking-list thead,
  table.ranking-list tbody,
  table.ranking-list tr,
  table.ranking-list th,
  table.ranking-list td {
    display: block !important;
    width: 100% !important;
  }

  /* Ocultar encabezado */
  table.ranking-list thead {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
  }

  /* Tarjeta por fila */
  table.ranking-list tbody tr {
    background: rgba(20, 25, 35, 0.90);
    border: 1px solid rgba(41, 75, 84, 0.6);
    border-radius: 16px;
    padding: 10px;
    margin-bottom: 12px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.4);
  }

  /* Cada celda: etiqueta + valor (flex) */
  table.ranking-list tbody td {
    border: 0;
    padding: 8px 6px;
    display: flex !important;                 /* Flexbox: layout 1D citeturn2search0 */
    justify-content: space-between;
    gap: 12px;
    align-items: center;
  }

  /* Etiqueta desde data-label */
  table.ranking-list tbody td::before {
    content: attr(data-label);
    color: #a0b8c5;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    flex: 0 0 42%;
  }

  /* Valor a la derecha */
  table.ranking-list tbody td > * {
    flex: 1 1 auto;
    text-align: right;
  }

  /* Player cell: mejor como bloque (sin etiqueta) */
  table.ranking-list td.col-player {
    display: block !important;
  }
  table.ranking-list td.col-player::before {
    content: "";
    display: none;
  }
}


/* =========================
   RANKINGS <400px: cards apiladas sin scroll horizontal
   Pegar AL FINAL de override.css
   ========================= */

@media (max-width: 400px) {

  /* Evitar scroll horizontal incluso si style.css fuerza overflow */
  .ranking-list {
    overflow-x: visible !important;
    white-space: normal !important;
  }

  /* Convertimos tabla a layout de “cards” */
  table.ranking-list,
  table.ranking-list thead,
  table.ranking-list tbody,
  table.ranking-list tr,
  table.ranking-list th,
  table.ranking-list td {
    display: block !important;   /* sobrescribe table-cell !important */
    width: 100% !important;
  }

  /* Ocultar cabecera visual (data-label reemplaza) */
  table.ranking-list thead {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
  }

  /* Cada fila es una tarjeta */
  table.ranking-list tbody tr {
    background: rgba(20, 25, 35, 0.90);
    border: 1px solid rgba(41, 75, 84, 0.6);
    border-radius: 16px;
    padding: 10px;
    margin-bottom: 12px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.4);
  }

  /* Cada celda: etiqueta + valor */
  table.ranking-list tbody td {
    border: 0 !important;
    padding: 8px 6px !important;

    display: flex !important;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
  }

  table.ranking-list tbody td::before {
    content: attr(data-label);
    color: #a0b8c5;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    flex: 0 0 42%;
  }

  table.ranking-list tbody td > * {
    flex: 1 1 auto;
    text-align: right;
  }

  /* Player cell: sin etiqueta, se ve como bloque */
  table.ranking-list td.col-player {
    display: block !important;
    padding-bottom: 10px !important;
  }
  table.ranking-list td.col-player::before {
    content: "";
    display: none !important;
  }
}

/* Menú de rankings sin scroll horizontal en <400px */
@media (max-width: 400px) {
  .rankings_menu {
    width: 100% !important;
    overflow: visible !important;

    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
  }

  .rankings_menu a {
    width: auto !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.2;
  }
}

@media screen and (max-width: 400px) {
  /* Ajustar contenedor de la tabla */
  .ranking-container {
    width: 100%;
    margin-bottom: 10px;
  }
  /* Asegurar ancho mínimo para contenido scrollable */
  table.ranking-list,
  table.dataTableChar {
    width: 100%;
    min-width: 100%;
    table-layout: auto;
  }
  /* Hacer que las celdas se ajusten en bloque */
  table.ranking-list th,
  table.ranking-list td,
  table.dataTableChar th,
  table.dataTableChar td {
    padding: 4px;
    white-space: normal;
    word-break: break-word;
    font-size: 0.9em;
  }
  /* Evitar tablas muy anchas */
  table.ranking-list thead, table.ranking-list tbody,
  table.dataTableChar thead, table.dataTableChar tbody {
    display: block;
  }
  /* Opcional: colapsar filas en bloques (podría ocultar <thead> en móviles) */
  table.ranking-list thead tr, table.dataTableChar thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  table.ranking-list tr, table.dataTableChar tr {
    margin-bottom: 10px;
    display: block;
    border-bottom: 1px solid #ccc;
  }
  /* Etiquetas de celdas en bloque (estilo lista) */
  table.ranking-list td:before, table.dataTableChar td:before {
    content: attr(data-th) ": ";
    font-weight: bold;
    display: block;
  }
}

