/* =========================================
   1. VARIABLES Y BASE (FONDO GLOBAL)
   ========================================= */
:root {
    --bg-dark: #0a0a0a;
    --sidebar-bg: rgba(10, 10, 10, 0.95);
    --text-color: #e0e0e0;
    --accent: #d4af37;
    /* Dorado MyL */
    --accent-dark: #8b1a1a;
    /* Rojo Lacre */
    --font-main: 'Cinzel', serif;
    --card-radius: 10px;
}

* {
    box-sizing: border-box;
}

body {
    background: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)),
        url('img/fondo-grimerio.png') no-repeat center center fixed;
    background-size: cover;
    color: var(--text-color);
    font-family: var(--font-main);
    margin: 0;
    display: flex;
    flex-direction: column;
  }

a {
    text-decoration: none;
    color: inherit;
}

/* =========================================
   2. CABECERA (MAIN HEADER) - UNIFICADO
   ========================================= */



/* CONTENEDOR DE IDENTIDAD */


/* TIPOGRAFÍA LABRADA MÍSTICA REFINADA */



/* =========================================
   3. INDEX - PORTAL Y NAVEGACIÓN
   ========================================= */
.portal-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 40px;
    overflow-y: auto;
}

.hero-title {
    font-size: 3.5rem;
    color: var(--accent);
    text-shadow: 0 0 30px rgba(0, 0, 0, 1);
    margin: 0;
}

.btn-explorar-all {
    display: inline-block;
    background: linear-gradient(to bottom, #8b1a1a, #4a0a0a);
    color: white !important;
    padding: 15px 40px;
    border: 2px solid var(--accent);
    text-decoration: none !important;
    font-weight: bold;
    border-radius: 4px;
    transition: 0.3s;
    margin-top: 10px;
}

.btn-explorar-all:hover {
    transform: scale(1.05);
    box-shadow: 0 0 20px var(--accent-dark);
}

.nav-icons-container {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
}

.edicion-item {
    width: 140px;
    cursor: pointer;
    transition: 0.3s;
    text-align: center;
}

.icon-circle {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 2px solid var(--accent);
    margin: 0 auto 15px;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

.edicion-item:hover .icon-circle {
    background: var(--accent);
    box-shadow: 0 0 15px var(--accent);
    transform: translateY(-5px);
}

/* =========================================
   4. BIBLIOTECA - LAYOUT Y GRILLA
   ========================================= */
.main-layout {
    display: flex;
    flex: 1;
    overflow: hidden;
}

.top-search-bar {
    margin-bottom: 20px;
    display: flex;
    gap: 15px;
    align-items: center;
}

#main-search {
    width: 100%;
    padding-right: 45px !important;
    background: white !important;
    color: black !important;
    border: 1px solid #d4af37;
    /* Añadimos negrita al texto que escribe el usuario */
    font-weight: bold;
}

#main-search:focus {
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.3);
    background: rgba(20, 20, 20, 0.9);
    border-color: #fff;
}

#btn-clear-search {
    position: absolute;
    right: 12px;
    background: var(--accent);
    /* Fondo dorado para resaltar en el buscador */
    border: 1px solid #000;
    color: #000;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: none;
    /* JS controla esto: display: flex */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    transition: 0.2s;
    z-index: 5;
}

#btn-clear-search:hover {
    background: #fff;
    transform: scale(1.1) rotate(90deg);
}

#results-info {
    font-family: var(--font-main);
    color: var(--accent);
    font-size: 0.9rem;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    text-transform: uppercase;
}

#card-count {
    color: white;
    font-weight: bold;
    font-size: 1.1rem;
}

.filter-group {
    margin-bottom: 30px;
}

.filter-group h3 {
    color: var(--accent);
    font-size: 1rem;
    border-bottom: 1px solid rgba(212, 175, 55, 0.3);
    padding-bottom: 5px;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filter-list li {
    margin-bottom: 10px;
}

.filter-list label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #ccc;
    transition: 0.2s;
}

.filter-list label:hover {
    color: var(--accent);
}

.range-container {
    margin-bottom: 20px;
}

.range-container label {
    display: block;
    font-size: 0.8rem;
    margin-bottom: 8px;
    color: #aaa;
}

.range-container input[type="range"] {
    width: 100%;
    accent-color: var(--accent);
    cursor: pointer;
}

#raza-filter {
    width: 100%;
    background-color: #121212 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d4af37' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    border: 1px solid var(--accent) !important;
    color: var(--accent) !important;
    padding: 10px 15px !important;
    font-family: var(--font-main) !important;
    font-size: 0.9rem !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none;
    outline: none !important;
    transition: 0.3s all ease;
    text-transform: uppercase;
}

#raza-filter option {
    background: #0a0a0a;
    color: white;
}

.content {
    flex: 1;
    padding: 30px;
    overflow-y: auto;
    /* Permite scroll solo en la grilla de cartas */
    background: rgba(0, 0, 0, 0.2);
    scrollbar-gutter: stable;
    /* Evita que la grilla salte al aparecer el scroll */
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 25px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 10px;
    align-items: start;
}

.card-item {
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.3s ease;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.card-item:hover {
    transform: translateY(-8px);
    filter: brightness(1.1);
    z-index: 10;
}

.card-img-container {
    width: 100%;
    aspect-ratio: 2 / 2.85;
    background: #000;
    border-radius: var(--card-radius);
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.card-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* =========================================
   5. PANEL DE DETALLE (UNIFICACIÓN TOTAL)
   ========================================= */
.detail-panel {
    position: fixed;
    right: -100%;
    top: 0;
    bottom: 0;
    width: 420px !important;
    background: rgba(12, 12, 12, 0.98);
    backdrop-filter: blur(10px);
    border-left: 3px solid var(--accent);
    z-index: 2000;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 !important;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    box-shadow: -15px 0 35px rgba(0, 0, 0, 0.9);
}

.detail-panel.active {
    right: 0;
}

.detail-content {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 40px 30px;
}

#detail-img {
    width: 100% !important;
    height: auto !important;
    max-height: 52vh;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.7);
    margin-bottom: 20px;
}

#detail-name {
    font-size: 1.8rem;
    color: white;
    margin: 5px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#detail-type {
    font-size: 0.9rem;
    color: var(--accent);
    margin-bottom: 8px;
    letter-spacing: 1px;
    font-weight: bold;
}

.detail-references {
    display: flex;
    justify-content: center;
    gap: 15px;
    font-size: 0.75rem;
    color: #888;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.detail-references span {
    background: rgba(255, 255, 255, 0.05);
    padding: 3px 8px;
    border-radius: 4px;
    border: 1px solid rgba(212, 175, 55, 0.2);
}

.detail-hability {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #ccc;
    font-style: italic;
    background: rgba(255, 255, 255, 0.05);
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    text-align: left;
    border-left: 2px solid var(--accent);
}

.btn-save-card {
    width: 100%;
    background: linear-gradient(to bottom, #d4af37, #b8860b) !important;
    color: black !important;
    border: 1px solid white !important;
    padding: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    font-family: var(--font-main);
    cursor: pointer;
    border-radius: 4px;
    transition: 0.3s;
    margin: 10px 0;
}

.btn-save-card:hover {
    background: white !important;
    box-shadow: 0 0 15px var(--accent);
}

#detail-illustrator {
    font-size: 0.75rem;
    color: #666;
    margin-top: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-rel-jump {
    background: rgba(255, 255, 255, 0.05);
    color: var(--accent);
    border: 1px solid var(--accent);
    padding: 6px 14px;
    font-family: var(--font-main);
    font-size: 0.8rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    min-width: 80px;
}

.btn-rel-jump:hover {
    background: var(--accent);
    color: black;
    box-shadow: 0 0 15px var(--accent);
    transform: translateY(-2px);
}

/* =========================================
   6. PERFIL - VISTA PRINCIPAL
   ========================================= */
.perfil-main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    overflow-y: auto;
}

.perfil-card {
    background: rgba(10, 10, 10, 0.95);
    border: 1px solid var(--accent);
    padding: 50px;
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 50px rgba(0, 0, 0, 1);
    position: relative;
}

#perfil-view-wrapper {
    display: flex;
    width: 100%;
    gap: 0;
    align-items: stretch;
}

.invocador-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-right: 40px;
}

.data-separator {
    width: 2px;
    background: linear-gradient(to bottom, transparent, var(--accent), transparent);
    align-self: stretch;
    opacity: 0.6;
}

.data-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-left: 40px;
    justify-content: flex-start;
}

.avatar-container-large {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 3px solid var(--accent);
    overflow: hidden;
    margin-bottom: 20px;
    cursor: pointer;
    position: relative;
}

.avatar-container-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-nick {
    font-size: 2.2rem;
    color: white;
    margin: 10px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
}

.card-bio {
    font-style: italic;
    color: #aaa;
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: center;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.perfil-status {
    color: var(--accent);
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.btn-large,
.btn-modificar-perfil {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 20px auto 0 auto;
    background: linear-gradient(to bottom, #d4af37, #b8860b) !important;
    color: black !important;
    border: 1px solid white !important;
    padding: 12px 25px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    font-family: var(--font-main) !important;
    cursor: pointer;
    border-radius: 4px;
    transition: 0.3s;
    text-align: center;
}

.btn-large:hover,
.btn-modificar-perfil:hover {
    background: white !important;
    box-shadow: 0 0 20px var(--accent);
}

/* =========================================
   7. MODIFICAR DATOS (EDICIÓN)
   ========================================= */
#perfil-edit-form {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

#perfil-edit-form .perfil-title {
    color: var(--accent);
    text-align: center;
    letter-spacing: 4px;
    margin-bottom: 30px;
    text-transform: uppercase;
    font-size: 1.6rem;
}

#perfil-edit-form .form-grid-image-match {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#perfil-edit-form .input-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#perfil-edit-form label {
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: bold;
    text-transform: uppercase;
}

#perfil-edit-form input,
#perfil-edit-form select,
#perfil-edit-form textarea {
    background: rgba(0, 0, 0, 0.8) !important;
    border: 1px solid #444 !important;
    color: white !important;
    padding: 12px !important;
    font-family: var(--font-main);
    border-radius: 4px;
    resize: none;
    line-height: 1.5;
    overflow-y: auto;
    white-space: pre-wrap;
}

.edit-buttons-match {
    display: flex !important;
    gap: 15px !important;
    margin-top: 35px !important;
    justify-content: center;
}

.btn-vincular-match {
    flex: 1;
    background: linear-gradient(to bottom, #d4af37, #b8860b) !important;
    border: 1px solid #fff !important;
    color: #000 !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    padding: 12px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    transition: 0.3s;
    font-family: var(--font-main) !important;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.4);
}

.btn-vincular-match:hover {
    background: #fff !important;
    box-shadow: 0 0 20px var(--accent) !important;
}

.btn-abortar-match {
    flex: 1;
    background: linear-gradient(to bottom, #8b1a1a, #5a0a0a) !important;
    border: 1px solid var(--accent) !important;
    color: white !important;
    font-size: 0.8rem !important;
    font-weight: bold !important;
    padding: 12px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    transition: 0.3s;
    font-family: var(--font-main) !important;
}

.btn-abortar-match:hover {
    background: var(--accent) !important;
    color: #000 !important;
}

/* =========================================
   8. CARPETAS, GALERÍA Y AVATARES
   ========================================= */
.avatar-gallery {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(10, 10, 10, 0.98);
    border: 2px solid var(--accent);
    padding: 25px;
    z-index: 5000;
    box-shadow: 0 0 50px rgba(0, 0, 0, 1);
    max-width: 450px;
    width: 90%;
    text-align: center;
}

.avatar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 20px;
    max-height: 400px;
    overflow-y: auto;
}

.avatar-option {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: 0.3s;
    object-fit: cover;
}

.avatar-option:hover {
    border-color: var(--accent);
    transform: scale(1.1);
}

.avatar-loading {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.avatar-loaded {
    opacity: 1;
}

/* =========================================
   9. ANIMACIONES Y SCROLLBAR
   ========================================= */
@keyframes brilloAura {
    0% {
        box-shadow: 0 0 5px rgba(212, 175, 55, 0.4);
    }

    100% {
        box-shadow: 0 0 15px rgba(212, 175, 55, 0.8), 0 0 5px #fff;
    }
}

@keyframes floating {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-5px);
    }
}

@keyframes fadeInElement {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 10px;
}

/* =========================================
   10. BOTÓN CIERRE (CENTRA DO Y DORADO)
   ========================================= */
#close-detail {
    all: unset;
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    width: 38px !important;
    height: 38px !important;
    background: #d4af37 !important;
    border: 2px solid #000 !important;
    border-radius: 50% !important;
    color: #000 !important;
    font-size: 22px !important;
    font-weight: bold !important;
    cursor: pointer !important;

    /* Centrado absoluto */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;

    box-shadow: 0 0 12px rgba(0, 0, 0, 0.9) !important;
    z-index: 3000 !important;
    transition: 0.3s ease !important;
}

#close-detail:hover {
    transform: scale(1.1) rotate(90deg) !important;
    background: #fff !important;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.8) !important;
}

.btn-remove-card {
    width: 100%;
    padding: 12px;
    background: #4a0e0e;
    color: #ff6666;
    border: 1px solid #ff3333;
    font-family: 'Cinzel', serif;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.2);
}

.btn-remove-card:hover {
    background: #800000;
    color: white;
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.5);
}

/* =========================================
   ESTILO BARRA DE BÚSQUEDA Y BOTÓN GRIMORIO
   ========================================= */

/* Contenedor que limita el ancho total */
.search-wrapper {
    display: flex;
    gap: 15px;
    align-items: center;
    width: 100%;
    max-width: 700px;
    /* Aquí controlas que no se vea tan larga */
}

/* Ajuste del input de búsqueda */
#main-search {
    flex: 2;
    /* Toma el espacio disponible de forma equilibrada */
    height: 45px;
}

/* Botón "MI GRIMORIO" estilo místico */
.btn-goto-grimorio {
    flex: 1;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #1a1a1a 0%, #000 100%);
    color: var(--accent);
    border: 1px solid var(--accent);
    font-family: var(--font-main);
    font-weight: bold;
    font-size: 0.85rem;
    letter-spacing: 1px;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease;
    white-space: nowrap;
    padding: 0 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
}

.btn-goto-grimorio .icon {
    font-size: 1.2rem;
    filter: sepia(1) saturate(5);
    /* Le da un tono más dorado al emoji */
}

.btn-goto-grimorio:hover {
    background: var(--accent);
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.4);
}

.btn-goto-grimorio:active {
    transform: translateY(0);
}

/* Responsivo: En celulares se ponen uno arriba del otro */
@media (max-width: 600px) {
    .search-wrapper {
        flex-direction: column;
        max-width: 100%;
    }

    #main-search,
    .btn-goto-grimorio {
        width: 100%;
    }
}

/* Contenedor relativo para el input y la X */
.input-container {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

#main-search {
    width: 100%;
    padding-right: 45px !important;
    background: white !important;

    /* Texto en negro y negrita para máxima legibilidad */
    color: black !important;
    font-weight: 800 !important;
    font-size: 1rem;
    border: 2px solid #d4af37;
    /* Borde un poco más grueso para que resalte */
    border-radius: 6px;
}

/* El botón de limpiar (la X) */
#clear-search {
    position: absolute;
    right: 12px;
    background: transparent;
    border: none;
    color: var(--accent);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: none;
    /* Oculto por defecto */
    transition: 0.2s;
    font-weight: bold;
}

#clear-search:hover {
    color: #fff;
    transform: scale(1.2);
}

/* Botón de Navegación Estilo Místico */
.btn-mystick-nav {
    background: linear-gradient(to bottom, #d4af37, #b8860b);
    color: black !important;
    border: 1px solid white;
    padding: 10px 20px;
    font-weight: 900;
    text-transform: uppercase;
    font-family: var(--font-main);
    cursor: pointer;
    border-radius: 4px;
    transition: 0.3s;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    font-size: 0.8rem;
}

.btn-mystick-nav:hover {
    background: #fff !important;
    box-shadow: 0 0 20px var(--accent);
    transform: translateY(-2px);
}

.btn-mystick-nav:active {
    transform: translateY(0);
}

/* Ajuste del header fijo para que no apriete los elementos */
.folder-header-fixed {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.folder-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 5px;
    border-left: 3px solid var(--accent);
    transition: 0.3s;
}

.folder-item:hover {
    background: rgba(212, 175, 55, 0.1);
}

.folder-info span {
    font-family: 'Cinzel', serif;
    font-size: 0.8rem;
    color: #fff;
}

/* Contenedor de mazos adquiridos en 2 columnas */
#grid-mazos-copiados {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* Dos columnas iguales */
    gap: 15px;
    padding: 10px;
    max-height: 400px;
    /* Altura máxima para no romper la página */
    overflow-y: auto;
    /* Scroll si hay muchos */
}

/* Ajuste para que los items no se vean gigantes */
.item-copiado {
    min-height: 80px;
    margin-bottom: 0 !important;
    /* El gap del grid maneja el espacio */
}

/* Scrollbar mística para el panel de copias */
#grid-mazos-copiados::-webkit-scrollbar {
    width: 5px;
}

#grid-mazos-copiados::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 10px;
}

/* Responsive: 1 columna en celulares */
@media (max-width: 768px) {
    #grid-mazos-copiados {
        grid-template-columns: 1fr;
    }
}

/* Estilo para los títulos de mazos adquiridos (reemplaza el azul feo) */
.item-copiado .slot-name {
    color: #ffffff !important;
    /* Blanco puro para el nombre */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    font-size: 0.85rem;
    line-height: 1.2;
    display: block;
    margin-bottom: 4px;
}

/* Si el título es un enlace (<a>), forzamos que no sea azul */
#grid-mazos-copiados a {
    color: #fff !important;
    text-decoration: none !important;
}

/* Estilo para el prefijo "COPIA:" en dorado */
.item-copiado .slot-name strong,
.item-copiado .prefijo-copia {
    color: var(--accent) !important;
    /* Dorado MyL */
    font-size: 0.7rem;
    letter-spacing: 1px;
}

/* Ajuste para que los nombres largos no rompan el diseño */
.item-copiado .slot-info {
    max-width: 70%;
    /* Evita que el texto choque con los botones */
    
}

#main-search::placeholder {
    color: #d4af37;
    opacity: 0.8;
    /* También ponemos en negrita el texto de sugerencia */
    font-weight: bold;
    font-style: italic;
    text-transform: uppercase;
}

.action-buttons-container {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    width: 100%;
}

.action-button {
    flex: 1;
    background: linear-gradient(to bottom, #d4af37, #b8860b) !important;
    color: #000 !important;
    border: 1px solid #fff !important;
    padding: 12px 5px !important;
    font-family: 'Cinzel', serif;
    font-weight: 900 !important;
    font-size: 0.75rem !important;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    transition: 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.action-button:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 15px #d4af37;
    transform: translateY(-2px);
}

#related-cards-section {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    width: 100%;
}

.related-title {
    font-size: 0.75rem;
    color: #d4af37;
    margin-bottom: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: bold;
}

#related-buttons-container {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.btn-rel-jump {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    border: 1px solid #d4af37;
    padding: 6px 12px;
    font-family: 'Cinzel', serif;
    font-size: 0.7rem;
    cursor: pointer;
    border-radius: 3px;
    transition: 0.3s;
}

.btn-rel-jump:hover {
    background: #d4af37;
    color: #000;
}

/* Estilo para los botones generados por el JS en el panel de detalle */
/* Botones de Colección/Trades que genera el JS */
.btn-folder-add {
    flex: 1 !important;
    background: linear-gradient(to bottom, #d4af37, #b8860b) !important;
    color: #000 !important;
    border: 1px solid #fff !important;
    padding: 12px 5px !important;
    font-family: 'Cinzel', serif !important;
    font-weight: 900 !important;
    font-size: 0.75rem !important;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    transition: 0.3s ease;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 5px !important;
}

.btn-folder-add:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 15px #d4af37;
    transform: translateY(-2px);
}

/* Contenedor de estos botones */
.folder-actions-row {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
    margin-top: 15px;
    width: 100%;
}

#toast-container {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999; /* Por encima de todo */
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.toast {
    background: rgba(10, 10, 10, 0.9);
    color: #d4af37;
    border: 1px solid #d4af37;
    padding: 15px 30px;
    border-radius: 4px;
    font-family: 'Cinzel', serif;
    font-size: 0.9rem;
    text-transform: uppercase;
    box-shadow: 0 5px 20px rgba(0,0,0,0.8);
    animation: fadeInToast 0.3s ease, fadeOutToast 0.3s ease 2.7s forwards;
    backdrop-filter: blur(5px);
}

@keyframes fadeInToast {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOutToast {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-20px); }
}

/* Bloque de Referencias (Abajo del ilustrador) */
#related-cards-section {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    width: 100%;
    text-align: center;
}

.related-title {
    font-size: 0.75rem;
    color: #d4af37;
    margin-bottom: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: bold;
}

#related-buttons-container {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Botoncitos mísiticos de salto de carta */
.btn-rel-jump {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    border: 1px solid #d4af37;
    padding: 8px 15px;
    font-family: 'Cinzel', serif;
    font-size: 0.7rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    transition: 0.3s;
    text-transform: uppercase;
}

.btn-rel-jump:hover {
    background: #d4af37;
    color: #000;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.5);
}.folder-actions-row {
    display: flex !important;
    flex-direction: row !important; /* Los pone uno al lado del otro */
    gap: 10px;
    margin-top: 15px;
    width: 100%;
    justify-content: center;
}

#related-cards-section {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    width: 100%;
}

.related-title {
    font-size: 0.75rem;
    color: #d4af37;
    margin-bottom: 12px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 2px;
}

.btn-rel-jump {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    border: 1px solid #d4af37;
    padding: 6px 12px;
    font-family: 'Cinzel', serif;
    font-size: 0.7rem;
    cursor: pointer;
    border-radius: 3px;
    margin: 5px;
    transition: 0.3s;
}

.btn-rel-jump:hover {
    background: #d4af37;
    color: #000;
}

/* =========================================
   ESTILOS EXCLUSIVOS PARA EL INDEX (PORTAL)
   ========================================= */

/* Solo afectará a las cartas que estén dentro de body-santuario */
.body-santuario .carta-arte {
    width: 210px; 
    height: 310px; 
    border: 2px solid #d4af37;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: all 0.4s ease;
}

.body-santuario .carta-arte:hover {
    transform: translateY(-15px) scale(1.05);
    box-shadow: 0 15px 35px rgba(0,0,0,0.8);
}

/* Ajuste del mensaje para que no tape el dibujo */
.body-santuario .card-overlay {
    background: linear-gradient(to top, 
        rgba(0,0,0,0.9) 0%, 
        rgba(0,0,0,0.6) 30%, 
        transparent 100%);
    padding: 20px 10px;
    text-align: center;
    height: 50%; /* Solo ocupa la mitad inferior */
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.body-santuario .card-content-info h4 {
    margin: 0;
    font-family: 'Cinzel', serif;
    color: #fff;
    text-shadow: 2px 2px 4px #000;
    font-size: 1.1rem;
}

.body-santuario .card-content-info p {
    margin: 5px 0 0;
    color: #d4af37;
    font-size: 0.8rem;
    font-weight: bold;
    text-transform: uppercase;
    text-shadow: 1px 1px 2px #000;
}

/* Imagen específica para la carta central de Biblioteca */


/* Ajuste opcional: si quieres que al pasar el mouse se vea un poco más la imagen */
#filter-full-library:hover .card-overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
}

#filter-full-library {
    border: 3px solid #d4af37; /* Borde un poco más grueso */
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.4); /* Resplandor dorado constante */
}

/* ESTILO DEFINITIVO PARA LA CARTA CENTRAL */
#filter-full-library {
    background-color: #0d0d0d !important; /* Fondo oscuro de respaldo */
    background-image: url('img/Grimorio-Digital.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: 3px solid #d4af37 !important;
}

/* Evitar que el overlay sea blanco */
.body-santuario #filter-full-library .card-overlay {
    background: linear-gradient(to top, 
        rgba(0,0,0,0.9) 0%, 
        rgba(0,0,0,0.4) 40%, 
        transparent 100%) !important;
}

/* Efecto de Nivel Bloqueado */
.filter-group.disabled {
    opacity: 0.3;
    pointer-events: none;
    filter: grayscale(1);
    transition: all 0.4s ease;
}

/* Estilo para los Radio Buttons personalizados */
.radio-container {
    display: block;
    position: relative;
    padding-left: 25px;
    cursor: pointer;
    user-select: none;
}

.radio-container input { position: absolute; opacity: 0; cursor: pointer; }

.checkmark {
    position: absolute;
    top: 2px;
    left: 0;
    height: 16px;
    width: 16px;
    background-color: rgba(255,255,255,0.1);
    border: 1px solid #d4af37;
    border-radius: 50%;
}

.radio-container input:checked ~ .checkmark {
    background-color: #d4af37;
    box-shadow: 0 0 10px #d4af37;
}

.placeholder-text {
    font-size: 0.75rem;
    color: #666;
    font-style: italic;
}