/* ============================================================
   PROPUESTA: Dark Premium
   Tema dark marketplace premium usando design tokens unificados.
   Creado: 2026-04-01

   ACTIVAR: agregar en _Layout.cshtml despues de all.css:
   <link rel="stylesheet" href="@Url.Content("~/Content/design-system/tokens.css")?v=@ViewBag.versionDiaria">
   <link rel="stylesheet" href="@Url.Content("~/Content/proposals/dark-premium.css")?v=@ViewBag.versionDiaria">

   DESACTIVAR: comentar o eliminar esas lineas.
   ============================================================ */

/* --- Base --- */
html,
body {
    background-color: var(--tcg-bg-surface) !important;
    color: var(--tcg-text) !important;
    font-family: var(--tcg-font-sans) !important;
    -webkit-font-smoothing: antialiased;
}

/* ============================================================
   PHASE 2 — NAVBAR PREMIUM
   ============================================================ */

/* --- Navbar sticky con glass effect --- */
.nodoNav {
    position: sticky;
    top: 0;
    z-index: var(--tcg-z-navbar);
}

.bg-azrey {
    background: linear-gradient(180deg, rgba(15, 17, 24, 0.97) 0%, rgba(20, 23, 32, 0.95) 100%) !important;
    border-bottom: 1px solid var(--tcg-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.bg-azrey .text-white,
.bg-azrey a.text-white,
.nodoNav .text-white {
    color: var(--tcg-text) !important;
    transition: color var(--tcg-transition-fast);
}

.bg-azrey a.text-white:hover {
    color: var(--tcg-accent-light) !important;
}

.bg-azrey .khaki,
.bg-azrey i.khaki {
    color: var(--tcg-accent-light) !important;
    transition: color var(--tcg-transition-fast), filter var(--tcg-transition-fast);
}

.bg-azrey i.khaki:hover {
    color: var(--tcg-accent-bright) !important;
    filter: drop-shadow(0 0 6px rgba(242, 193, 92, 0.4));
}

/* --- Navbar layout fix --- */
.nodoNav > .hstack {
    align-items: center;
}

/* Logo: ancho fijo a la izquierda */
.logoHeader {
    width: auto !important;
    flex-shrink: 0;
}

/* Buscador: centrado vertical */
#buscaBwr {
    padding-top: 0 !important;
    align-items: center !important;
}

/* Ediciones col: centrado vertical */
.nodoNav .hstack > div:nth-child(2) {
    padding-top: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Login/Registro a la derecha */
.login-profile {
    margin-left: auto !important;
}

/* Logged-in icons y login/registro al extremo derecho */
.btnMenuDisplay {
    margin-left: auto !important;
    width: auto !important; /* override inline style para pegar a la derecha */
    flex-shrink: 0 !important;
}

/* Mantener buscador centrado en su tamaño original */
#buscaBwr {
    width: 30% !important;
    flex-grow: 0 !important;
    margin: 0 auto !important;
}

/* Responsivo: en celulares angostos (<576px) el header no entraba
   (logo + ediciones + buscador + hamburguesa + el gap-4 grande sumaban
   ~377px) y desbordaba ~17px hacia la derecha. Reducimos el espaciado
   entre elementos para que todo quepa sin cortar el boton de menu. */
@media (max-width: 575.98px) {
    .nodoNav > .hstack.gap-4 {
        gap: 0.5rem !important;
    }
}


/* --- Logo hover --- */

.logoHeader img {
    filter: drop-shadow(0 0 8px rgba(201, 168, 76, 0.15));
    transition: filter var(--tcg-transition-normal);
}

.logoHeader img:hover {
    filter: drop-shadow(0 0 12px rgba(201, 168, 76, 0.3));
}

/* --- Link Ediciones --- */
.nodoNav .hstack > div:nth-child(2) a.text-white {
    font-family: var(--tcg-font-sans);
    font-size: var(--tcg-text-sm);
    font-weight: var(--tcg-font-semibold);
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

/* --- Search bar premium (solo colores, no layout) --- */
.bg-azrey .form-control,
#nombreCartaTop,
#nombreCartaTop2 {
    background: rgba(30, 33, 40, 0.8) !important;
    border: 1px solid rgba(240, 191, 102, 0.25) !important;
    color: var(--tcg-text) !important;
    transition: border-color var(--tcg-transition-normal), box-shadow var(--tcg-transition-normal), background var(--tcg-transition-normal);
}

#nombreCartaTop:focus,
#nombreCartaTop2:focus {
    background: rgba(30, 33, 40, 0.95) !important;
    border-color: rgba(240, 191, 102, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12), 0 0 20px rgba(201, 168, 76, 0.08) !important;
    outline: none !important;
}

#nombreCartaTop::placeholder,
#nombreCartaTop2::placeholder {
    color: var(--tcg-text-muted) !important;
    font-style: italic;
}

/* --- Busqueda Avanzada link --- */
#buscaBwr a.text-white.fw-bold,
#buscaMobile a {
    font-size: var(--tcg-text-xs);
    font-weight: var(--tcg-font-semibold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tcg-accent) !important;
    opacity: 0.8;
    transition: opacity var(--tcg-transition-fast), color var(--tcg-transition-fast);
}

#buscaBwr a.text-white.fw-bold:hover,
#buscaMobile a:hover {
    opacity: 1;
    color: var(--tcg-accent-light) !important;
}

/* --- Icon bar (logged in) --- */
.perfil-opciones-topbar i.bi {
    transition: color var(--tcg-transition-fast), transform var(--tcg-transition-fast), filter var(--tcg-transition-fast);
}

.perfil-opciones-topbar a:hover i.bi {
    transform: translateY(-1px);
    filter: drop-shadow(0 0 6px rgba(242, 193, 92, 0.35));
}

/* --- Badges (carrito, mensajes, notificaciones) --- */
.badge.rounded-accesos-directos {
    background: var(--tcg-danger) !important;
    color: #fff !important;
}

.badge.rounded-accesos-directos:empty {
    display: none;
}

/* --- Nick usuario --- */
#nickMenu {
    font-family: var(--tcg-font-sans);
    font-size: var(--tcg-text-sm);
    font-weight: var(--tcg-font-semibold);
    color: var(--tcg-accent-light) !important;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Dropdown menu --- */
.dropdown-menu {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    box-shadow: var(--tcg-shadow-xl);
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-2) 0 !important;
}

.dropdown-menu .dropdown-item,
#menutopbar .dropdown-item,
#ulNotificaciones li,
#ulNotificaciones a {
    color: var(--tcg-text) !important;
    padding: var(--tcg-space-2) var(--tcg-space-4) !important;
    font-size: var(--tcg-text-sm);
    transition: background var(--tcg-transition-fast), color var(--tcg-transition-fast);
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus,
#menutopbar .dropdown-item:hover,
#ulNotificaciones li:hover,
#ulNotificaciones a:hover {
    background: var(--tcg-accent-muted) !important;
    color: var(--tcg-accent-light) !important;
}

/* Notificaciones dropdown */
#ulNotificaciones {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    box-shadow: var(--tcg-shadow-xl);
    border-radius: var(--tcg-radius-md) !important;
    max-height: 400px;
    overflow-y: auto;
}

/* --- Boton Publicar TCG --- */
.btn-PublicarDesktop {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: var(--tcg-text-on-accent) !important;
    border: none !important;
    text-decoration: none !important;
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.btn-PublicarDesktop:hover {
    transform: translateY(-1px);
    box-shadow: var(--tcg-shadow-accent);
    color: var(--tcg-text-on-accent) !important;
}

/* --- Login / Registro buttons (not logged in) --- */
.login-profile .login-container a {
    transition: background var(--tcg-transition-fast);
    cursor: pointer;
}

.login-profile .login-container a:hover {
    background: var(--tcg-accent-muted);
    border-radius: var(--tcg-radius-md);
}

/* --- Side nav login panel --- */
.sidenav {
    background: var(--tcg-bg-card) !important;
    border-left: 1px solid var(--tcg-border);
    box-shadow: var(--tcg-shadow-xl);
    z-index: calc(var(--tcg-z-navbar) + 5) !important; /* encima del topbar para que se vea la X */
}

.sidenav .closebtn {
    color: var(--tcg-accent-light) !important;
    transition: color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

.sidenav .closebtn:hover {
    color: var(--tcg-accent-bright) !important;
    transform: rotate(90deg);
}

.card-header-login {
    background: transparent !important;
    border-bottom: 1px solid var(--tcg-border);
}

.card-header-login h3 {
    background: transparent !important;
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-xl);
    font-weight: var(--tcg-font-bold);
    margin: 0;
}

.card-body-login {
    background: transparent !important;
}

/* Logo en el panel de login — pegado al fondo */
#contentSidenav {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 95px);
}

.sidenav-logo {
    display: flex;
    justify-content: center;
    padding: var(--tcg-space-6) 0;
    margin-top: auto; /* empujar al fondo */
    border-top: 1px solid var(--tcg-border);
}

.sidenav-logo img {
    max-width: 120px;
    opacity: 0.7;
    filter: drop-shadow(0 0 8px rgba(201, 168, 76, 0.15));
    clip-path: inset(0 0 22% 0); /* ocultar "MARKETPLACE" */
}

/* Ocultar sección Últimos Usuarios */
#divLastUsers {
    display: none !important;
}

/* Ocultar "MARKETPLACE" del logo en el header */
.logoHeader img {
    clip-path: inset(0 0 22% 0) !important;
}

.form-control-login {
    background: var(--tcg-bg-base) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    transition: border-color var(--tcg-transition-normal);
}

.form-control-login:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 3px var(--tcg-accent-muted) !important;
}

.card-footer-login {
    border-top: 1px solid var(--tcg-border);
}

.card-footer-login a {
    color: var(--tcg-accent) !important;
    font-weight: var(--tcg-font-semibold);
    transition: color var(--tcg-transition-fast);
}

.card-footer-login a:hover {
    color: var(--tcg-accent-bright) !important;
}

.btn-log {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: var(--tcg-text-on-accent) !important;
    border: none !important;
    border-radius: var(--tcg-radius-md) !important;
    font-weight: var(--tcg-font-bold) !important;
    padding: var(--tcg-space-3) var(--tcg-space-6) !important;
    font-family: var(--tcg-font-display);
    letter-spacing: 0.03em;
    float: none !important;
    display: block !important;
    margin: var(--tcg-space-4) auto 0 !important;
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.btn-log:hover {
    transform: translateY(-1px);
    box-shadow: var(--tcg-shadow-accent);
}

/* --- Mobile navbar --- */
.navbar-toggler {
    border-color: var(--tcg-border) !important;
    padding: var(--tcg-space-2);
}

.navbar-toggler-icon {
    filter: brightness(2);
}

.cinta-opciones-topbar {
    background: var(--tcg-bg-surface) !important;
    border-top: 1px solid var(--tcg-border);
    border-radius: 0 0 var(--tcg-radius-lg) var(--tcg-radius-lg);
}

#navbarSupportedContent.collapse.show {
    padding: var(--tcg-space-3);
}

/* --- Carousel / Hero Banner --- */
.carousel {
    border-radius: var(--tcg-radius-lg);
    overflow: hidden;
    margin: 0 var(--tcg-space-4);
}


/* Overlay oscuro izquierdo para foco en texto */
#carouselExampleIndicators .carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--tcg-bg-overlay) 0%, rgba(13,15,20,.3) 40%, transparent 70%);
    pointer-events: none;
    z-index: 1;
}

#carouselExampleIndicators .carousel-control-prev,
#carouselExampleIndicators .carousel-control-next,
#carouselExampleIndicators .carousel-indicators {
    z-index: 2;
}

.carousel-indicators button {
    background-color: var(--tcg-accent) !important;
    border-radius: var(--tcg-radius-full) !important;
    width: 10px !important;
    height: 10px !important;
    border: none !important;
    opacity: .4 !important;
}

.carousel-indicators button.active {
    opacity: 1 !important;
}

/* --- Main content area --- */
.container-body {
    background: var(--tcg-bg-surface) !important;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container-body > main {
    flex: 1;
}

.main-magico {
    background: var(--tcg-bg-surface) !important;
}

/* --- Secciones Home / Búsqueda (wrappers de listados) --- */
.tcg-home-section,
.container-fluid[style*="whitesmoke"] {
    background: linear-gradient(180deg, var(--tcg-bg-card), var(--tcg-bg-surface)) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    padding: var(--tcg-space-8) !important;
    margin-bottom: var(--tcg-space-6) !important;
}

/* --- Detalle de carta (Views/Busqueda/BuscarCartaDetalle.cshtml) --- */
.tcg-card-detail-wrapper {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    flex-wrap: wrap;
    color: var(--tcg-text) !important;
}

.tcg-card-image-frame {
    width: 100%;
    margin: auto;
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
}

.tcg-card-image-frame--narrow {
    width: 70%;
}

.fw-bolder.h3,
.fw-bolder.h3 a {
    color: var(--tcg-accent-light) !important;
    text-decoration: none !important;
}

.bi-lightning-fill,
.bi-award-fill {
    color: var(--tcg-accent-light) !important;
}

/* --- Últimas Vendidas: ocultar precios y disponibles --- */
#multi-item-slide .producto-desc-min,
#multi-item-slide .producto-desc-max,
#multi-item-slide .producto-desc-ult,
#multi-item-slide .producto-precio-min,
#multi-item-slide .producto-precio-max,
#multi-item-slide .producto-footer-det {
    display: none !important;
}

#multi-item-slide .producto-body br {
    display: none !important;
}

/* --- Product Cards --- */
/* Carruseles Home (Ultimas Agregadas / Vendidas): grid con cartas
   de ancho fijo (~140px, igual al original), solo cambia cuantas
   columnas se acomodan segun el ancho del contenedor. Usamos
   auto-fill para que las cartas individuales NO se estiren. */
.slide-topsales {
    grid-template-columns: repeat(auto-fit, 140px) !important;
    justify-content: center !important;
    width: 100%;
}

@media (min-width: 0px) and (max-width: 575px) {
    .slide-topsales {
        grid-template-columns: 1fr 1fr !important;
        justify-content: center;
    }
}

/* --- Limpieza Home en movil: ocultar el banner de formatos (se ve cortado en
   pantallas angostas) y la lista de Ediciones, para llegar antes a las cartas.
   Solo movil (<=575px); desktop intacto. --- */
@media (max-width: 575.98px) {
    #carouselExampleIndicators {
        display: none !important;
    }

    #divTopEdiciones {
        display: none !important;
    }

    /* tambien ocultar la CAJA contenedora (que conserva su padding) en la
       pagina de Busqueda, sino queda un espacio vacio entre el buscador y
       los resultados */
    .tcg-home-section:has(#divTopEdiciones) {
        display: none !important;
    }
}

/* --- Cartas mas compactas en movil: imagen y texto mas chicos para acortar
   la pagina sin sacar cartas. Solo movil (<=575px); desktop intacto. --- */
@media (max-width: 575.98px) {
    /* la carta debe poder encogerse al ancho de su columna (sino la imagen
       de ancho fijo desborda y el carrusel corta los bordes) */
    .slide-topsales .cont-topsales {
        min-width: 0;
    }

    .slide-topsales .img-slider-home {
        width: 100%;
        max-width: 105px;
        height: auto;
        max-height: none;
        margin: 0 auto;
        display: block;
    }

    .slide-topsales .producto-titulo-edicion,
    .slide-topsales .producto-titulo-carta {
        font-size: 0.72rem;
        line-height: 1.15;
    }

    .slide-topsales .producto-precio-min,
    .slide-topsales .producto-precio-max {
        font-size: 0.8rem;
    }

    .slide-topsales .producto-footer-det,
    .slide-topsales .producto-footer-det a,
    .slide-topsales .producto-footer-det label {
        font-size: 0.62rem;
        line-height: 1.1;
    }
}

/* --- Tarjeta minimalista en movil: dejamos solo nombre de carta + precio +
   cantidad. Ocultamos la edicion, la etiqueta "Precio desde:"/"Min/Max/Ult" y
   el precio maximo/ultimo (queda solo el precio "desde"). Solo movil. --- */
@media (max-width: 575.98px) {
    .slide-topsales .producto-titulo-edicion,
    .slide-topsales .producto-desc-min,
    .slide-topsales .producto-desc-max,
    .slide-topsales .producto-desc-ult,
    .slide-topsales .producto-precio-max,
    .slide-topsales .producto-precio-ult {
        display: none !important;
    }
}

/* --- Compactar el espacio vertical dentro de la tarjeta en movil
   (entre imagen, nombre, precio y boton) para ganar altura. --- */
@media (max-width: 575.98px) {
    .slide-topsales .producto-header {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .slide-topsales .producto-body {
        padding-top: 0 !important;
        padding-bottom: 2px !important;
    }

    .slide-topsales .producto-body br {
        display: none !important;
    }

    .slide-topsales .producto-titulo-carta {
        margin-top: 2px !important;
        margin-bottom: 4px !important;
    }

    .slide-topsales .producto-precio-min {
        margin-top: 2px !important;
        margin-bottom: 0 !important;
    }

    .slide-topsales .producto-footer-det {
        margin-top: 4px !important;
    }
}

/* --- Movil: mostrar maximo 4 cartas por slide en los carruseles del Home
   (Ultimas Agregadas / Vendidas), para evitar filas con 1 sola carta y que
   quede parejo 2+2. Solo afecta esos dos carruseles, no el Best Of. --- */
@media (max-width: 575.98px) {
    #multi-item-slide1 .slide-topsales .cont-topsales:nth-child(n+5),
    #multi-item-slide .slide-topsales .cont-topsales:nth-child(n+5) {
        display: none !important;
    }
}

.cont-topsales {
    background: var(--tcg-card-bg) !important;
    border: 1px solid var(--tcg-card-border) !important;
    border-radius: var(--tcg-card-radius) !important;
    transition: transform var(--tcg-transition-normal), box-shadow var(--tcg-transition-normal), border-color var(--tcg-transition-normal);
}

.cont-topsales:hover {
    transform: translateY(var(--tcg-card-hover-y));
    box-shadow: var(--tcg-shadow-lg);
    border-color: var(--tcg-accent) !important;
}

.producto-body {
    background: var(--tcg-card-bg) !important;
}

.producto-titulo-edicion a {
    color: var(--tcg-text-secondary) !important;
    text-decoration: none !important;
    font-size: var(--tcg-text-xs);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.producto-titulo-carta a {
    color: var(--tcg-text) !important;
    text-decoration: none !important;
    font-weight: var(--tcg-font-semibold);
}

.producto-desc-min,
.producto-desc-max,
.producto-desc-ult {
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-xs);
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Ocultar label "Max" y precio max — mostrar solo "Precio desde:" */
.producto-desc-max {
    display: none !important;
}

.producto-desc-min {
    font-size: 0 !important;
}

.producto-desc-min::after {
    content: "Precio desde:";
    font-size: var(--tcg-text-xs);
    color: var(--tcg-text-secondary);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.producto-precio-min {
    color: var(--tcg-success) !important;
    font-weight: var(--tcg-font-bold);
    font-family: 'Space Grotesk', var(--tcg-font-sans);
}

.producto-precio-max {
    display: none !important;
}

.producto-footer-det {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: var(--tcg-text-on-accent) !important;
    border-radius: 0 0 var(--tcg-card-radius) var(--tcg-card-radius) !important;
    padding: var(--tcg-space-2) var(--tcg-space-3) !important;
}

.producto-footer-det label,
.producto-footer-det a {
    color: var(--tcg-text-on-accent) !important;
    font-weight: var(--tcg-font-semibold);
}

/* --- Top Editions Menu (tabs con underline) --- */
.menu-nav {
    border-bottom: 1px solid var(--tcg-border) !important;
    gap: 0 !important;
}

.menu-nav a,
.menu-nav .btn {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    color: var(--tcg-text-secondary) !important;
    border-radius: 0 !important;
    padding: var(--tcg-space-3) var(--tcg-space-5) !important;
    font-weight: var(--tcg-font-medium) !important;
    transition: color var(--tcg-transition-normal), border-color var(--tcg-transition-normal);
}

.menu-nav a:hover,
.menu-nav .btn:hover {
    border-bottom-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
    background: transparent !important;
}

.menu-nav a:first-child,
.menu-nav .btn:first-child {
    border-bottom-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
}

/* ============================================================
   PHASE 2 — FOOTER PREMIUM
   ============================================================ */

/* --- Footer wrapper --- */
.referenciafooter .bg-azrey {
    background: linear-gradient(180deg, #0a0c10 0%, #070810 100%) !important;
    border-top: 1px solid var(--tcg-border);
    backdrop-filter: none;
    padding-top: var(--tcg-space-8);
    padding-bottom: var(--tcg-space-4);
}

/* --- Footer carousel/banner: ocultar --- */
.referenciafooter > .carousel {
    display: none !important;
}

.referenciafooter {
    background: var(--tcg-bg-base) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Eliminar cualquier espacio/fondo claro entre main y footer */
.main,
.main-magico,
#referenciavaciamain,
#mainreferenciavacia {
    background: var(--tcg-bg-surface) !important;
}

/* --- Footer section headers --- */
.footerHeader {
    padding: 0 !important;
    margin-bottom: var(--tcg-space-2);
}

/* --- Footer body grid --- */
.footerBody {
    padding: var(--tcg-space-4) var(--tcg-space-6) !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: var(--tcg-space-6);
    max-width: 1200px;
    margin: 0 auto !important;
}

/* Ocultar Manuales/Términos y Partners */
.footerBody > .col:nth-child(1),
.footerBody > .col:nth-child(2) {
    display: none !important;
}

.footerBody > .col {
    width: 100% !important;
    margin: 0 !important;
}

.footerBody div div {
    width: 100% !important;
}

/* --- Footer section titles --- */
.a-footer__title {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-sm) !important;
    font-weight: var(--tcg-font-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    position: relative;
    padding-bottom: var(--tcg-space-2);
    margin-bottom: var(--tcg-space-3) !important;
}

.a-footer__title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 2px;
    background: var(--tcg-accent);
    border-radius: var(--tcg-radius-full);
}

.a-footer__title a {
    color: var(--tcg-accent-light) !important;
    text-decoration: none !important;
    transition: color var(--tcg-transition-fast);
}

.a-footer__title a:hover {
    color: var(--tcg-accent-bright) !important;
}

/* --- Footer links text --- */
.footerBody .text-white,
.footerBody a.text-white {
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-sm);
    transition: color var(--tcg-transition-fast);
}

.footerBody a.text-white:hover {
    color: var(--tcg-accent-light) !important;
}

/* --- Partner logos --- */
.footerBody .paymenticons {
    gap: var(--tcg-space-4);
    justify-content: center;
    padding: 0;
}

.footerBody .paymenticons li {
    padding: var(--tcg-space-3) !important;
    transition: transform var(--tcg-transition-normal);
}

.footerBody .paymenticons li:hover {
    transform: translateY(-2px);
}

.footerBody .paymenticons li img {
    border-radius: var(--tcg-radius-md);
    transition: filter var(--tcg-transition-normal), opacity var(--tcg-transition-normal);
    opacity: 0.75;
}

.footerBody .paymenticons li:hover img {
    opacity: 1;
    filter: drop-shadow(0 0 8px rgba(201, 168, 76, 0.25));
}

.footerBody .paymenticons li h5 {
    font-size: var(--tcg-text-xs) !important;
    margin-top: var(--tcg-space-2);
}

.footerBody .paymenticons li h5 a {
    color: var(--tcg-text-muted) !important;
    font-weight: var(--tcg-font-normal);
    transition: color var(--tcg-transition-fast);
}

.footerBody .paymenticons li:hover h5 a {
    color: var(--tcg-text-secondary) !important;
}

/* --- Contact icons --- */
.footerBody .paymenticons svg {
    width: 48px !important;
    height: 48px !important;
    opacity: 0.8;
    transition: opacity var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

.footerBody .paymenticons li:hover svg {
    opacity: 1;
    transform: scale(1.08);
}

/* --- Footer bottom section --- */
.footerFooter {
    border-top: 1px solid var(--tcg-border);
    padding: var(--tcg-space-4) var(--tcg-space-6);
    text-align: center;
}

/* --- Footer responsive --- */
@media (max-width: 991.98px) {
    .footerBody {
        grid-template-columns: 1fr 1fr;
        gap: var(--tcg-space-4);
        padding: var(--tcg-space-4) var(--tcg-space-4) !important;
    }
}

@media (max-width: 575.98px) {
    .footerBody {
        grid-template-columns: 1fr;
        gap: var(--tcg-space-6);
        text-align: center;
    }

    .a-footer__title::after {
        left: 50%;
    }

    .footerBody .paymenticons {
        justify-content: center;
    }
}

/* ============================================================
   PERFIL — Resumen, menú lateral, estadísticas
   ============================================================ */

/* --- Perfil card (sidebar izquierda) --- */
.info-perfil-card {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    margin-bottom: var(--tcg-space-3);
    padding-bottom: var(--tcg-space-3);
}

.info-perfil-card .rounded-circle {
    border: 3px solid var(--tcg-accent);
    box-shadow: 0 0 15px rgba(201, 168, 76, 0.2);
}

.info-perfil-card p,
.info-perfil-card label {
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-sm);
}

/* --- Perfil sidebar nav --- */
.info-perfil-card .sidebar {
    background: transparent !important;
}

.info-perfil-card .nav-link,
.info-perfil-card .nav-item > div {
    background: var(--tcg-bg-elevated) !important;
    border-bottom: 1px solid var(--tcg-border) !important;
    transition: all var(--tcg-transition-fast);
}

.info-perfil-card .nav-link:hover,
.info-perfil-card .nav-item > div:hover {
    background: rgba(201, 168, 76, 0.08) !important;
}

.menu-perfil-a-tittle {
    color: var(--tcg-text) !important;
    text-decoration: none !important;
    font-weight: var(--tcg-font-semibold);
    font-size: var(--tcg-text-sm);
}

.menu-perfil-a-tittle:hover {
    color: var(--tcg-accent-light) !important;
}

.info-perfil-card .submenu .list-group-item {
    background: transparent !important;
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-sm);
    padding: var(--tcg-space-2) var(--tcg-space-4) !important;
}

.info-perfil-card .submenu .list-group-item-action {
    background: var(--tcg-bg-card) !important;
    border-bottom: 1px solid rgba(42, 46, 56, 0.5) !important;
}

.info-perfil-card .submenu .list-group-item-action:hover {
    background: rgba(201, 168, 76, 0.06) !important;
}

.info-perfil-card .badge.bg-primary {
    background: var(--tcg-accent) !important;
    color: #0d0f14 !important;
    font-weight: var(--tcg-font-bold);
}

/* --- Sección headers (Créditos TCG, Compras, Ventas) --- */
.card-profile {
    background: transparent !important;
    border: none !important;
}

.card-profile[style*="khaki"] {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.15), rgba(201, 168, 76, 0.05)) !important;
    border: 1px solid rgba(201, 168, 76, 0.2) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.card-profile[style*="khaki"] h5 {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-weight: var(--tcg-font-bold);
    letter-spacing: 0.05em;
}

/* --- Estadísticas items (Total, Pendiente, No Confirmadas) --- */
.seccion-estadistica-item {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    overflow: hidden;
    transition: all var(--tcg-transition-fast);
}

.seccion-estadistica-item:hover {
    border-color: rgba(201, 168, 76, 0.3) !important;
    transform: translateY(-2px);
    box-shadow: var(--tcg-shadow-md);
}

.seccion-estadistica-body {
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-sm) !important;
    font-weight: var(--tcg-font-semibold);
    margin-bottom: var(--tcg-space-1);
}

.seccion-estadistica-item h5:not(.seccion-estadistica-body) {
    color: var(--tcg-text) !important;
    font-family: 'Space Grotesk', var(--tcg-font-sans);
    font-weight: var(--tcg-font-bold);
    font-size: var(--tcg-text-2xl);
}

.seccion-estadistica-item a {
    color: var(--tcg-text) !important;
    text-decoration: none;
}

.seccion-estadistica-item a:hover {
    color: var(--tcg-accent-light) !important;
}

/* --- Iconos de estadísticas --- */
.perfil-adicional-img {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    border-radius: var(--tcg-radius-lg) 0 0 var(--tcg-radius-lg) !important;
}

.perfil-adicional-img .imgxxl {
    font-size: 2rem;
    color: #fff;
}

/* --- Tabla de evaluaciones --- */
.card-profile .card-body {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    padding: var(--tcg-space-4) !important;
}

.card-profile .table {
    color: var(--tcg-text) !important;
    margin-bottom: 0;
}

.card-profile .table thead th {
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--tcg-border) !important;
    font-weight: var(--tcg-font-semibold);
}

.card-profile .table-striped > tbody > tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, 0.02) !important;
    --bs-table-accent-bg: transparent !important;
}

.card-profile .table-hover > tbody > tr:hover {
    background: rgba(201, 168, 76, 0.04) !important;
    --bs-table-hover-bg: transparent !important;
}

.card-profile .table td {
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    vertical-align: middle;
}

.card-profile .table td a {
    color: var(--tcg-text) !important;
    transition: color var(--tcg-transition-fast);
}

.card-profile .table td a:hover {
    color: var(--tcg-accent-light) !important;
}

/* --- Cuentas Bancarias --- */
.perfil-adicional .card-body .form-check-label {
    color: var(--tcg-text) !important;
}

.perfil-adicional .card-body .form-check-input {
    background-color: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
}

.perfil-adicional .card-body .form-check-input:checked {
    background-color: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
}

.agregarBtn {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    color: var(--tcg-text) !important;
    padding: var(--tcg-space-2) var(--tcg-space-3) !important;
    margin-top: var(--tcg-space-2);
    transition: all var(--tcg-transition-fast);
}

.agregarBtn:hover {
    border-color: var(--tcg-accent) !important;
    background: rgba(201, 168, 76, 0.08) !important;
}

/* --- Paginator --- */
.paginador .page-item .page-link {
    background-color: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

.paginador .page-item.active .page-link {
    background-color: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

/* --- Filter bar --- */
.barra-filtro {
    background-color: var(--tcg-bg-elevated) !important;
}

/* --- Cards genericas --- */
.card {
    background: var(--tcg-bg-card) !important;
    border-color: var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
}

.card-header {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

/* --- Buttons --- */
.btn-primary {
    background: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
    font-weight: var(--tcg-font-semibold) !important;
}

.btn-primary:hover {
    background: var(--tcg-accent-bright) !important;
    border-color: var(--tcg-accent-bright) !important;
}

.btn-secondary {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

/* --- Back to top --- */
.back-to-top {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
    border: none !important;
    border-radius: var(--tcg-radius-full) !important;
    box-shadow: var(--tcg-shadow-md);
}

/* --- Scrollbar --- */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--tcg-bg-base); }
::-webkit-scrollbar-thumb { background: var(--tcg-border); border-radius: var(--tcg-radius-sm); }
::-webkit-scrollbar-thumb:hover { background: var(--tcg-accent); }

/* --- Selection --- */
::selection {
    background: var(--tcg-accent-muted);
    color: var(--tcg-text);
}

/* --- jQuery UI Autocomplete (buscador) --- */
.ui-autocomplete {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid rgba(240, 191, 102, 0.3) !important;
    border-radius: var(--tcg-radius-lg) !important;
    box-shadow: var(--tcg-shadow-xl), 0 0 20px rgba(201, 168, 76, 0.06);
    padding: var(--tcg-space-1) !important;
    max-height: 300px;
    overflow-y: auto;
    z-index: calc(var(--tcg-z-navbar) + 10) !important;
}

.ui-autocomplete .ui-menu-item-wrapper {
    color: var(--tcg-text) !important;
    padding: var(--tcg-space-2) var(--tcg-space-3) !important;
    border-radius: var(--tcg-radius-sm);
    font-size: var(--tcg-text-sm);
    transition: background var(--tcg-transition-fast), color var(--tcg-transition-fast);
}

.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper:hover {
    background: var(--tcg-accent-muted) !important;
    color: var(--tcg-accent-light) !important;
    border: none !important;
}

/* ============================================================
   PHASE 3 — GLOBAL SITE DARK PREMIUM
   Estilos globales que cubren todas las vistas del sitio.
   ============================================================ */

/* --- Page headers (carrocompraheader, headerbody) --- */
.headerbody {
    background: var(--tcg-bg-card) !important;
    border-bottom: 1px solid var(--tcg-border);
}

.carrocompraheader {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-weight: var(--tcg-font-bold);
    letter-spacing: 0.03em;
}

/* --- Breadcrumbs --- */
.breadcrumb {
    background: var(--tcg-bg-card) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-3) var(--tcg-space-4) !important;
    border: 1px solid var(--tcg-border);
}

.breadcrumb-item a {
    color: var(--tcg-accent) !important;
    text-decoration: none;
    transition: color var(--tcg-transition-fast);
}

.breadcrumb-item a:hover {
    color: var(--tcg-accent-light) !important;
}

.breadcrumb-item.active {
    color: var(--tcg-text-secondary) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--tcg-text-muted) !important;
}

/* --- Background overrides --- */
.bg-white {
    background: var(--tcg-bg-card) !important;
}

.bg-light {
    background: var(--tcg-bg-card) !important;
}

.bg-dark {
    background: var(--tcg-bg-base) !important;
}

[style*="background-color: whitesmoke"],
[style*="background-color:whitesmoke"],
[style*="background: whitesmoke"] {
    background: var(--tcg-bg-card) !important;
}

[style*="background-color: white"],
[style*="background-color:white"],
[style*="background: white"],
[style*="background-color:#fff"],
[style*="background-color: #fff"],
[style*="background-color:#ffffff"],
[style*="background-color: #ffffff"] {
    background: var(--tcg-bg-card) !important;
}

/* --- Text color overrides --- */
.text-dark {
    color: var(--tcg-text) !important;
}

.text-black {
    color: var(--tcg-text) !important;
}

.text-muted {
    color: var(--tcg-text-secondary) !important;
}

.text-body {
    color: var(--tcg-text) !important;
}

.text-secondary {
    color: var(--tcg-text-secondary) !important;
}

/* --- Forms global --- */
.form-control {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
    transition: border-color var(--tcg-transition-normal), box-shadow var(--tcg-transition-normal);
}

.form-control:focus {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 3px var(--tcg-accent-muted) !important;
    color: var(--tcg-text) !important;
}

.form-control::placeholder {
    color: var(--tcg-text-muted) !important;
}

.form-control:disabled,
.form-control[readonly] {
    background: var(--tcg-bg-base) !important;
    color: var(--tcg-text-muted) !important;
    opacity: 0.7;
}

textarea.form-control {
    border-radius: var(--tcg-radius-md) !important;
}

.form-select,
select.form-control {
    background-color: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.form-select:focus,
select.form-control:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 3px var(--tcg-accent-muted) !important;
}

select option {
    background: var(--tcg-bg-elevated);
    color: var(--tcg-text);
}

/* --- Input groups --- */
.input-group-text {
    background: var(--tcg-bg-base) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-accent-light) !important;
}

.input-group-prepend .input-group-text,
.input-group-addon {
    background: var(--tcg-bg-base) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-accent-light) !important;
}

.input-group .form-control {
    border-radius: var(--tcg-radius-md) !important;
}

/* --- Labels --- */
label,
.form-label,
.control-label {
    color: var(--tcg-text) !important;
}

.form-check-label {
    color: var(--tcg-text) !important;
}

.form-check-input {
    background-color: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
}

.form-check-input:checked {
    background-color: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
}

/* --- Buttons global --- */
.btn-dark {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

.btn-dark:hover {
    background: var(--tcg-bg-card) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
}

.btn-outline-primary {
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent) !important;
}

.btn-outline-primary:hover {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

.btn-outline-secondary {
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text-secondary) !important;
}

.btn-outline-secondary:hover {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
}

.btn-danger {
    background: var(--tcg-danger) !important;
    border-color: var(--tcg-danger) !important;
    color: #fff !important;
}

.btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}

.btn-warning {
    background: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
    font-weight: var(--tcg-font-semibold) !important;
}

.btn-warning:hover {
    background: var(--tcg-accent-bright) !important;
    border-color: var(--tcg-accent-bright) !important;
}

.btn-success {
    background: var(--tcg-success) !important;
    border-color: var(--tcg-success) !important;
    color: #fff !important;
}

.btn-light {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

.btn-link {
    color: var(--tcg-accent) !important;
    text-decoration: none !important;
}

.btn-link:hover {
    color: var(--tcg-accent-light) !important;
}

/* --- Búsqueda Avanzada --- */
.av-breadcrumb {
    padding: var(--tcg-space-3) var(--tcg-space-5);
    font-size: var(--tcg-text-sm);
    border-bottom: 1px solid var(--tcg-border);
}

.av-breadcrumb a {
    color: var(--tcg-accent) !important;
    text-decoration: none;
}

.av-breadcrumb span {
    color: var(--tcg-text-secondary);
    margin: 0 var(--tcg-space-2);
}

.av-wrapper {
    background: var(--tcg-bg-surface) !important;
    min-height: calc(100vh - 120px);
}

.av-sidebar {
    background: var(--tcg-bg-card) !important;
    border-right: 1px solid var(--tcg-border);
    padding: var(--tcg-space-4);
    height: 100%;
}

.av-filtro-header h5 {
    font-family: var(--tcg-font-display);
    color: var(--tcg-accent-light);
    font-size: var(--tcg-text-lg);
    font-weight: var(--tcg-font-bold);
    margin: 0 0 var(--tcg-space-4) 0;
    padding-bottom: var(--tcg-space-2);
    border-bottom: 2px solid var(--tcg-accent);
}

.av-section {
    margin-bottom: var(--tcg-space-4);
}

.av-section-header {
    background: var(--tcg-bg-elevated);
    color: var(--tcg-text);
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-sm);
    font-weight: var(--tcg-font-semibold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: var(--tcg-space-2) var(--tcg-space-3);
    border-radius: var(--tcg-radius-md) var(--tcg-radius-md) 0 0;
    border: 1px solid var(--tcg-border);
    border-bottom: none;
}

.av-filter-value {
    background: var(--tcg-bg-surface);
    color: var(--tcg-text-secondary);
    padding: var(--tcg-space-2) var(--tcg-space-3);
    border: 1px solid var(--tcg-border);
    border-radius: 0 0 var(--tcg-radius-md) var(--tcg-radius-md);
    font-size: var(--tcg-text-sm);
}

.av-actions {
    display: flex;
    gap: var(--tcg-space-2);
    margin-bottom: var(--tcg-space-4);
}

.av-btn-apply {
    flex: 1;
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: #0d0f14 !important;
    font-weight: var(--tcg-font-bold) !important;
    font-family: var(--tcg-font-display);
    border: none !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-2) var(--tcg-space-4) !important;
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.av-btn-apply:hover {
    transform: translateY(-1px);
    box-shadow: var(--tcg-shadow-accent);
}

.av-btn-reset {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text-secondary) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-2) var(--tcg-space-3) !important;
    transition: all var(--tcg-transition-fast);
}

.av-btn-reset:hover {
    color: var(--tcg-accent-light) !important;
    border-color: var(--tcg-accent) !important;
}

.av-textarea {
    background: var(--tcg-bg-surface) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: 0 0 var(--tcg-radius-md) var(--tcg-radius-md) !important;
    resize: none;
    height: 280px;
    font-size: var(--tcg-text-sm);
    padding: var(--tcg-space-3) !important;
}

.av-textarea:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.15) !important;
}

.av-textarea::placeholder {
    color: var(--tcg-text-muted);
}

.av-main {
    padding: var(--tcg-space-5) !important;
}

.av-instrucciones {
    max-width: 700px;
}

.av-instrucciones-titulo {
    font-family: var(--tcg-font-display);
    color: var(--tcg-accent-light);
    font-weight: var(--tcg-font-bold);
    margin-bottom: var(--tcg-space-3);
}

.av-instrucciones p {
    color: var(--tcg-text-secondary);
    font-size: var(--tcg-text-sm);
    line-height: 1.6;
}

.av-instrucciones-pasos {
    display: flex;
    flex-direction: column;
    gap: var(--tcg-space-4);
    margin-top: var(--tcg-space-5);
}

.av-paso {
    display: flex;
    gap: var(--tcg-space-4);
    align-items: flex-start;
}

.av-paso-num {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    border-radius: var(--tcg-radius-full);
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent));
    color: #0d0f14;
    font-family: var(--tcg-font-display);
    font-weight: var(--tcg-font-bold);
    font-size: var(--tcg-text-lg);
}

.av-paso b {
    color: var(--tcg-text);
}

.av-paso p {
    margin: var(--tcg-space-1) 0 0;
    color: var(--tcg-text-secondary);
    font-size: var(--tcg-text-sm);
}

.av-paso code {
    display: block;
    background: var(--tcg-bg-elevated);
    color: var(--tcg-text-secondary);
    padding: var(--tcg-space-3);
    border-radius: var(--tcg-radius-md);
    border: 1px solid var(--tcg-border);
    font-size: var(--tcg-text-xs);
    margin-top: var(--tcg-space-2);
    line-height: 1.8;
}

/* Partial AvanzadoEdicion */
#divAvanzadoEdicion .btn-secondary {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-sm);
    letter-spacing: 0.05em !important;
    text-transform: uppercase;
    border-radius: var(--tcg-radius-md) var(--tcg-radius-md) 0 0 !important;
}

#divAvanzadoEdicion .checklist {
    background: var(--tcg-bg-surface) !important;
    color: var(--tcg-text-secondary) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: 0 0 var(--tcg-radius-md) var(--tcg-radius-md) !important;
    font-size: var(--tcg-text-sm);
}

/* --- Search results (Busqueda) --- */
.search-grid,
.search-grid-av {
    background: var(--tcg-bg-surface) !important;
}

.item-box {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    transition: border-color var(--tcg-transition-normal), box-shadow var(--tcg-transition-normal), transform var(--tcg-transition-normal);
    overflow: hidden;
}

.item-box:hover {
    border-color: var(--tcg-accent) !important;
    box-shadow: var(--tcg-shadow-lg);
    transform: translateY(-2px);
}

.grid-item-search {
    background: var(--tcg-bg-card) !important;
}

.desc-item-search {
    color: var(--tcg-text) !important;
}

.name-item-search,
.name-item-search a {
    color: var(--tcg-text) !important;
    font-weight: var(--tcg-font-semibold);
}

.item-stock-search {
    color: var(--tcg-text-secondary) !important;
}

.rounded-10 {
    border-radius: var(--tcg-radius-lg) !important;
}

/* --- Best Of por rango (Home): reutiliza el carrusel multi-item
   (.slide-topsales / .cont-topsales) de Ultimas Agregadas --- */
.tcg-bestof-bloque .producto-precio-min {
    color: var(--tcg-success) !important;
}

/* --- Boton "actualizar" de los carruseles Best Of --- */
.tcg-bestof-refresh {
    background: transparent;
    border: 1px solid var(--tcg-border);
    color: var(--tcg-accent);
    border-radius: var(--tcg-radius-full);
    width: 30px;
    height: 30px;
    line-height: 1;
    margin-left: 8px;
    vertical-align: middle;
    cursor: pointer;
    transition: border-color var(--tcg-transition-fast), color var(--tcg-transition-fast), background var(--tcg-transition-fast);
}

.tcg-bestof-refresh:hover {
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
    background: var(--tcg-accent-muted);
}

.tcg-bestof-refresh.girando i {
    display: inline-block;
    animation: tcg-spin 0.7s linear infinite;
}

@keyframes tcg-spin {
    to { transform: rotate(360deg); }
}

/* --- "Tambien te puede interesar" (Busqueda): grid fijo compacto --- */
.tcg-interesa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 12px;
}

.tcg-interesa-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 8px;
    transition: border-color var(--tcg-transition-normal), transform var(--tcg-transition-normal), box-shadow var(--tcg-transition-normal);
}

.tcg-interesa-card:hover {
    border-color: var(--tcg-accent) !important;
    box-shadow: var(--tcg-shadow-lg);
    transform: translateY(-2px);
}

.tcg-interesa-img {
    width: 100%;
    max-width: 100px;
    height: auto;
    border-radius: var(--tcg-radius-sm);
}

.tcg-interesa-nombre {
    font-size: var(--tcg-text-xs);
    color: var(--tcg-text) !important;
    margin-top: 6px;
    line-height: 1.2;
}

.tcg-interesa-precio {
    font-size: var(--tcg-text-xs);
    color: var(--tcg-success) !important;
    font-weight: var(--tcg-font-semibold);
    margin-top: 2px;
}

/* --- Simbolos de edicion (iconos SVG de Scryfall) vienen negros y no se ven
   sobre el tema oscuro -> los volvemos blancos con un filtro. Aplica en todas
   las vistas (listado de ediciones, resultados, breadcrumbs, etc.).
   Scryfall sirve los simbolos desde DOS hosts:
   c2.scryfall.com/.../scryfall-symbols/sets/  y  svgs.scryfall.io/sets/
   -> targeteamos ambos con [src*="scryfall"][src*="/sets/"]. --- */
img[src*="scryfall"][src*="/sets/"] {
    filter: brightness(0) invert(1);
}

/* --- Movil: ocultar resultados de busqueda SIN stock (0 en venta) para no
   llenar la lista de cartas que no se pueden comprar. La clase sin-stock la
   agrega DetalleBusqueda.cshtml cuando cantidadDisponible == 0. Desktop los
   sigue mostrando. --- */
@media (max-width: 575.98px) {
    .search-grid .item-box.sin-stock {
        display: none !important;
    }
}

/* --- Login (sidenav) en movil: compactar los espacios grandes entre las
   secciones (form -> links -> logo) para que el contenido no quede tan
   disperso/vacio. Solo movil. --- */
@media (max-width: 575.98px) {
    .sidenav {
        padding-top: 35px !important;
    }

    .card-footer-login {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .sidenav-logo {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }
}

/* --- Pagination global --- */
.pagination .page-item .page-link {
    background-color: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    transition: all var(--tcg-transition-fast);
}

.pagination .page-item .page-link:hover {
    background-color: var(--tcg-accent-muted) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

.pagination .page-item.disabled .page-link {
    background-color: var(--tcg-bg-base) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text-muted) !important;
}

/* --- Accordions (ediciones, filtros) --- */
.accordion {
    background: transparent !important;
    border: none !important;
}

.accordion-item {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    margin-bottom: var(--tcg-space-2);
    overflow: hidden;
}

.accordion-button {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    font-weight: var(--tcg-font-semibold);
    border: none !important;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.08), rgba(201, 168, 76, 0.03)) !important;
    color: var(--tcg-accent-light) !important;
    box-shadow: none !important;
}

.accordion-button::after {
    filter: brightness(3);
}

.accordion-button:focus {
    box-shadow: none !important;
    border-color: transparent !important;
}

.accordion-body {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
    border-top: 1px solid var(--tcg-border);
}

.accordion-collapse {
    border: none !important;
}

/* Accordion with bg-azrey header */
.accordion-item [style*="background-color: #1d71b8"],
.accordion-item [style*="background-color:#1d71b8"] {
    background: var(--tcg-bg-elevated) !important;
}

/* --- List groups --- */
.list-group-item {
    background: var(--tcg-bg-card) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

.list-group-item:hover {
    background: var(--tcg-bg-elevated) !important;
}

.list-group-item a {
    color: var(--tcg-text) !important;
    text-decoration: none;
    transition: color var(--tcg-transition-fast);
}

.list-group-item a:hover {
    color: var(--tcg-accent-light) !important;
}

/* =============================================
   EDICIONES — Acordeón Premium
   ============================================= */

.edition-accordion-wrap .accordion-item {
    border: 1px solid rgba(201, 168, 76, 0.15) !important;
    border-radius: var(--tcg-radius-lg) !important;
    margin-bottom: var(--tcg-space-3);
    overflow: hidden;
    background: var(--tcg-bg-card) !important;
}

.edition-accordion-wrap .accordion-button {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.12), rgba(201, 168, 76, 0.04)) !important;
    border-bottom: 1px solid rgba(201, 168, 76, 0.1) !important;
    padding: var(--tcg-space-4) var(--tcg-space-5) !important;
}

.edition-accordion-wrap .accordion-button h2 {
    font-family: var(--tcg-font-display);
    color: var(--tcg-accent-light) !important;
    font-size: 1.7rem;
    font-weight: var(--tcg-font-bold);
    margin: 0;
    text-shadow: 0 0 20px rgba(201, 168, 76, 0.2);
}

.edition-accordion-wrap .accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.18), rgba(201, 168, 76, 0.06)) !important;
}

.edition-accordion-wrap .accordion-button:not(.collapsed) h2 {
    color: var(--tcg-accent) !important;
}

.edition-accordion-wrap .list-group-item {
    background: var(--tcg-bg-surface) !important;
    border-color: rgba(201, 168, 76, 0.06) !important;
    padding: var(--tcg-space-3) var(--tcg-space-5) !important;
    transition: all var(--tcg-transition-fast);
}

.edition-accordion-wrap .list-group-item:hover {
    background: rgba(201, 168, 76, 0.06) !important;
    padding-left: calc(var(--tcg-space-5) + 6px) !important;
}

.edition-accordion-wrap .list-group-item img {
    width: 22px;
    height: 22px;
    margin-right: var(--tcg-space-3);
    border-radius: 3px;
}

.edition-accordion-wrap .list-group-item a {
    color: var(--tcg-text) !important;
    font-weight: 500;
}

.edition-accordion-wrap .list-group-item:hover a {
    color: var(--tcg-accent-light) !important;
}

/* --- Badges --- */
.badge {
    font-weight: var(--tcg-font-semibold);
}

.badge-dark,
.bg-secondary {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
}

.badge-pill {
    border-radius: var(--tcg-radius-full) !important;
    text-transform: capitalize;
}

.badge.bg-primary {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

.badge.bg-danger {
    background: var(--tcg-danger) !important;
}

.badge.bg-success {
    background: var(--tcg-success) !important;
}

.badge.bg-warning {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

/* --- Alerts --- */
.alert {
    border-radius: var(--tcg-radius-md) !important;
    border: 1px solid var(--tcg-border) !important;
}

.alert-success {
    background: var(--tcg-success-muted) !important;
    border-color: rgba(34, 197, 94, 0.3) !important;
    color: var(--tcg-success) !important;
}

.alert-danger {
    background: var(--tcg-danger-muted) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    color: var(--tcg-danger) !important;
}

.alert-warning {
    background: var(--tcg-warning-muted) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
    color: var(--tcg-warning) !important;
}

.alert-info {
    background: var(--tcg-info-muted) !important;
    border-color: rgba(96, 165, 250, 0.3) !important;
    color: var(--tcg-info) !important;
}

.alert-primary {
    background: var(--tcg-accent-muted) !important;
    border-color: rgba(201, 168, 76, 0.3) !important;
    color: var(--tcg-accent-light) !important;
}

/* --- Modals (Bootstrap + iModal) --- */
.modal-content {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    box-shadow: var(--tcg-shadow-xl);
    color: var(--tcg-text) !important;
}

.modal-header {
    border-bottom: 1px solid var(--tcg-border) !important;
    background: var(--tcg-bg-elevated) !important;
}

.modal-header .modal-title {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
}

.modal-header .btn-close {
    filter: brightness(3);
}

.modal-body {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
}

.modal-footer {
    border-top: 1px solid var(--tcg-border) !important;
    background: var(--tcg-bg-elevated) !important;
}

.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.7) !important;
}

/* iModal overlay */
.modal-block-content {
    background: rgba(0, 0, 0, 0.6) !important;
}

/* --- Tables enhanced --- */
.table {
    --bs-table-bg: var(--tcg-bg-card);
    --bs-table-striped-bg: var(--tcg-bg-elevated);
    --bs-table-hover-bg: var(--tcg-accent-muted);
    --bs-table-border-color: var(--tcg-border);
    color: var(--tcg-text) !important;
}

.table > :not(caption) > * > * {
    background-color: transparent !important;
    border-bottom-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
}

.table-hover > tbody > tr:hover > * {
    background-color: var(--tcg-accent-muted) !important;
    color: var(--tcg-text) !important;
}

.table thead {
    background: var(--tcg-bg-elevated) !important;
}

.table thead th {
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text-secondary) !important;
    font-weight: var(--tcg-font-semibold);
    font-size: var(--tcg-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.table td {
    border-color: var(--tcg-border) !important;
    vertical-align: middle;
}

.table a {
    color: var(--tcg-accent) !important;
    text-decoration: none;
}

.table a:hover {
    color: var(--tcg-accent-light) !important;
}

/* --- MVC Grid --- */
.mvc-grid {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    overflow: hidden;
}

/* En móvil, las tablas anchas (ej. Compras/ComprasTienda con 10 columnas)
   quedaban cortadas por overflow:hidden y no se podía llegar a los botones
   de la derecha (Pagar, Recibido, Evaluar, Consultas). Permitimos deslizar
   la tabla horizontalmente con el dedo. Solo móvil, no toca desktop. */
@media (max-width: 575.98px) {
    .mvc-grid {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* En móvil, evitar que las celdas de compras partan el contenido en varias
   líneas (ej. el "$" se separaba del número: "$" arriba y "72.981" abajo).
   Con nowrap cada celda queda en una línea (montos y textos alineados) y la
   tabla se ensancha usando el scroll horizontal que ya está activo. */
@media (max-width: 575.98px) {
    #divComprasResumenGrid .mvc-grid th,
    #divComprasResumenGrid .mvc-grid td {
        white-space: nowrap;
    }
}

/* DIRECCIONES (Perfil/DireccionesSel) en móvil: la dirección y el botón
   "Seleccionar" estaban en 2 columnas de 50% muy apretadas y el botón se
   montaba sobre el texto. Los apilamos: dirección arriba (ancho completo),
   botón "Seleccionar" abajo. */
@media (max-width: 575.98px) {
    .form-layout .row.g-0.border > .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .form-layout .row.g-0.border > .col-6.p-2 {
        padding-top: 0;
    }

    .form-layout .row.g-0.border > .col-6.p-2 .row > .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .form-layout .row.g-0.border .form-check {
        padding-top: 0;
    }
}

/* Indicador de scroll horizontal SINCRONIZADO con el desplazamiento real de
   la tabla: el "pulgar" dorado se mueve JUNTO con las columnas (como una barra
   de scroll). El JS (Compras.js) actualiza estas variables al desplazar:
     --tcg-scroll     posición 0..1 (izquierda → derecha)
     --tcg-thumbw     ancho del pulgar 0..1 (proporción visible)
     --tcg-scrollable 1 si hay desborde, 0 si no (oculta el indicador)
   Sin texto, solo móvil. Cubre Compras, ComprasTienda y ComprasVendedor. */
@media (max-width: 575.98px) {
    #divComprasResumenGrid::before {
        content: "";
        display: block;
        width: 80px;
        height: calc(var(--tcg-scrollable, 1) * 5px);
        margin: 2px auto calc(var(--tcg-scrollable, 1) * 10px);
        border-radius: 9999px;
        background-color: var(--tcg-border);
        background-image: linear-gradient(90deg, var(--tcg-accent-light), var(--tcg-accent-light));
        background-repeat: no-repeat;
        background-size: calc(var(--tcg-thumbw, 0.5) * 100%) 100%;
        background-position: calc(var(--tcg-scroll, 0) * 100%) 0;
        opacity: var(--tcg-scrollable, 1);
        transition: opacity 200ms ease;
    }
}

.mvc-grid table {
    color: var(--tcg-text) !important;
}

.mvc-grid th {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text-secondary) !important;
    border-color: var(--tcg-border) !important;
    font-weight: var(--tcg-font-semibold);
}

.mvc-grid td {
    border-color: var(--tcg-border) !important;
}

.mvc-grid tr:hover td {
    background: var(--tcg-accent-muted) !important;
}

.mvc-grid .mvc-grid-pager {
    background: var(--tcg-bg-elevated) !important;
    border-top: 1px solid var(--tcg-border) !important;
}

.mvc-grid .mvc-grid-pager button {
    color: var(--tcg-text) !important;
    background: transparent !important;
}

.mvc-grid .mvc-grid-pager button.active {
    color: var(--tcg-accent) !important;
    font-weight: var(--tcg-font-bold);
}

/* ============================================================
   MENSAJES / CHAT
   ============================================================ */

/* Section wrapper global — quitar fondo blanco legacy */
.section-wrapper,
.body-content,
.mtg-shell {
    background-color: transparent !important;
}

/* Card principal del chat */
.mtg-chat-card {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    overflow: hidden;
}

.mtg-chat-card .card-header {
    background: var(--tcg-bg-elevated) !important;
    border-bottom: 1px solid var(--tcg-border) !important;
}

.mtg-chat-card .card-header .fw-bold {
    color: var(--tcg-text) !important;
}

.mtg-chat-card .card-header .badge.bg-azrey {
    background: var(--tcg-accent) !important;
    color: #0d0f14 !important;
}

.mtg-chat-card .card-header .badge.bg-light {
    background: var(--tcg-bg-surface) !important;
    color: var(--tcg-text-secondary) !important;
    border-color: var(--tcg-border) !important;
}

/* Área de mensajes */
.mtg-chat-messages {
    background: var(--tcg-bg-surface) !important;
    min-height: 300px;
    max-height: 500px;
    overflow-y: auto;
}

.bgchat {
    background: var(--tcg-bg-surface) !important;
    border-color: var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md);
}

/* Burbujas de mensajes */
.msg {
    margin-bottom: var(--tcg-space-3);
}

.bubble {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-lg);
    padding: var(--tcg-space-3) var(--tcg-space-4);
    max-width: 75%;
    position: relative;
}

.bubble.alt {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.12), rgba(201, 168, 76, 0.05)) !important;
    border-color: rgba(201, 168, 76, 0.2);
    margin-left: auto;
}

.bubble .txt {
    display: flex;
    flex-direction: column;
}

.bubble .name {
    color: var(--tcg-accent-light) !important;
    font-weight: var(--tcg-font-bold);
    font-size: var(--tcg-text-sm);
}

.bubble .name.alt {
    color: var(--tcg-text-secondary) !important;
}

.bubble .timestamp {
    color: var(--tcg-text-muted) !important;
    font-size: var(--tcg-text-xs);
    margin-bottom: var(--tcg-space-1);
}

.bubble .message {
    color: var(--tcg-text) !important;
    font-size: var(--tcg-text-sm);
    line-height: 1.5;
}

/* Flechas de burbuja */
.bubble-arrow {
    display: none;
}

/* Composer (zona de escribir) */
.mtg-composer {
    background: var(--tcg-bg-card) !important;
    border-top: 1px solid var(--tcg-border) !important;
    padding: var(--tcg-space-3) !important;
}

.mtg-input {
    background: var(--tcg-bg-surface) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-full) !important;
    padding: var(--tcg-space-2) var(--tcg-space-4) !important;
}

.mtg-input:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.15) !important;
}

.mtg-input::placeholder {
    color: var(--tcg-text-muted) !important;
}

.mtg-send-btn {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: #0d0f14 !important;
    border: none !important;
    border-radius: var(--tcg-radius-full) !important;
    font-weight: var(--tcg-font-bold) !important;
    padding: var(--tcg-space-2) var(--tcg-space-4) !important;
    transition: all var(--tcg-transition-fast);
}

.mtg-send-btn:hover {
    transform: translateY(-1px);
    box-shadow: var(--tcg-shadow-accent);
}

.mtg-icon-btn {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-accent) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-full) !important;
    transition: all var(--tcg-transition-fast);
}

.mtg-icon-btn:hover {
    border-color: var(--tcg-accent) !important;
    background: rgba(201, 168, 76, 0.1) !important;
    color: var(--tcg-accent-light) !important;
}

/* Barra "Retorno a Mis Ventas" */
.mtg-chat-card ~ nav,
.mtg-chat-card ~ .row > nav {
    background: var(--tcg-bg-elevated) !important;
}

/* Hint text */
.mtg-composer .form-text {
    color: var(--tcg-text-muted) !important;
}

/* --- Mis Cartas (Perfil/Cartas) --- */
.container-perfil {
    background: var(--tcg-bg-surface) !important;
}

/* Barra de búsqueda */
.container-perfil .accordion-body {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    align-items: center;
}

/* Inputs dentro de la tabla */
.mvc-grid .form-control {
    background: var(--tcg-bg-surface) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-sm) !important;
    font-size: var(--tcg-text-sm);
}

.mvc-grid .form-control:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.15) !important;
}

.mvc-grid .form-control:disabled {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text-secondary) !important;
    opacity: 0.8;
}

/* Textarea de comentarios */
.mvc-grid textarea.form-control {
    resize: none;
    font-size: var(--tcg-text-xs);
}

/* Botones de acción (Editar, Grabar, Cancelar) */
.btn-accion {
    font-size: var(--tcg-text-xs) !important;
    padding: var(--tcg-space-1) var(--tcg-space-2) !important;
    border-radius: var(--tcg-radius-sm) !important;
    margin-top: var(--tcg-space-2);
}

.btn-accion.btn-success {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: #0d0f14 !important;
    border: none !important;
    font-weight: var(--tcg-font-semibold) !important;
}

.btn-accion.btn-success:hover {
    box-shadow: var(--tcg-shadow-accent);
}

.btn-accion.btn-danger {
    background: rgba(239, 68, 68, 0.15) !important;
    color: var(--tcg-danger) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
}

.btn-accion.btn-danger:hover {
    background: rgba(239, 68, 68, 0.25) !important;
}

/* Imágenes de cartas en la tabla */
.mvc-grid td img {
    border-radius: var(--tcg-radius-md);
    border: 1px solid var(--tcg-border);
    transition: transform var(--tcg-transition-fast);
}

.mvc-grid td img:hover {
    transform: scale(1.05);
    border-color: var(--tcg-accent);
}

/* Cámara icon + botón eliminar: alinear en fila */
.mvc-grid td:last-child {
    text-align: center;
}

.mvc-grid td:last-child label,
.mvc-grid td:last-child button,
.mvc-grid td:last-child span.archivo-nombre {
    display: inline-block;
    vertical-align: middle;
    margin: var(--tcg-space-1);
}

.camera-attach-perfil {
    color: var(--tcg-accent) !important;
    font-size: 1.5rem;
    cursor: pointer;
    transition: color var(--tcg-transition-fast);
    display: inline-block;
    vertical-align: middle;
}

.camera-attach-perfil:hover {
    color: var(--tcg-accent-light) !important;
}

/* Checkbox en la tabla */
.mvc-grid .form-check-input {
    background-color: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    width: 1.25em !important;
    height: 1.25em !important;
    cursor: pointer;
}

.mvc-grid .form-check-input:checked {
    background-color: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
}

/* Exportar excel link */
.perfil-adicional .excel {
    border-radius: var(--tcg-radius-sm);
}

/* Tabla más compacta */
.mvc-grid th {
    font-size: var(--tcg-text-xs) !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: var(--tcg-space-3) var(--tcg-space-2) !important;
    white-space: nowrap;
}

.mvc-grid td {
    font-size: var(--tcg-text-sm);
    padding: var(--tcg-space-3) var(--tcg-space-2) !important;
    vertical-align: middle;
}

/* --- Cart & Checkout --- */
.contenedor-carrito {
    background: var(--tcg-bg-surface) !important;
}

.listado-compras-carro {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
}

.resumen-carrocompra {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
}

.cardbg {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
}

.col-direccion {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    color: var(--tcg-text) !important;
}

/* Cart select (quantity) */
.contenedor-carrito select,
.listado-compras-carro select {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-sm) !important;
}

/* --- Login & Registration pages --- */
.main-login,
.main-center {
    background: transparent !important;
}

.container-login {
    background: var(--tcg-bg-surface) !important;
}

/* Registration form */
.label-registro,
.labelregistro {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.btn-primary-registro {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    border: none !important;
    color: var(--tcg-text-on-accent) !important;
    font-weight: var(--tcg-font-bold) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-3) var(--tcg-space-6) !important;
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.btn-primary-registro:hover {
    transform: translateY(-1px);
    box-shadow: var(--tcg-shadow-accent);
}

.login_btn,
.login-button {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    border: none !important;
    color: var(--tcg-text-on-accent) !important;
    font-weight: var(--tcg-font-bold) !important;
    border-radius: var(--tcg-radius-md) !important;
}

/* --- Content pages (terms, help, about) --- */
.perfil-ronly {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    padding: var(--tcg-space-6) !important;
}

.perfil-ronly h2,
.perfil-ronly h3,
.perfil-ronly h4 {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
}

.perfil-ronly a {
    color: var(--tcg-accent) !important;
    transition: color var(--tcg-transition-fast);
}

.perfil-ronly a:hover {
    color: var(--tcg-accent-light) !important;
}

.perfil-ronly strong {
    color: var(--tcg-text) !important;
}

/* --- HR dividers --- */
hr {
    border-color: var(--tcg-border) !important;
    opacity: 1;
}

/* --- Links global --- */
a {
    color: var(--tcg-accent) !important;
    text-decoration: none;
}

a:hover {
    color: var(--tcg-accent-light) !important;
}

/* Override for elements that must stay white */
.btn a, a.btn,
.btn-PublicarDesktop,
.producto-footer-det a,
.navbar a,
.nav-link {
    color: inherit !important;
}

.underlinenone {
    text-decoration: none !important;
}

/* --- Filters (advanced search) --- */
.filtro-header,
.accordion-hide-filtro {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.checklist {
    color: var(--tcg-text) !important;
}

.checklist label {
    color: var(--tcg-text) !important;
}

.efiltro-color {
    border-radius: var(--tcg-radius-sm);
}

/* --- Loading spinner --- */
.loading-spinner {
    background: rgba(13, 15, 20, 0.7) !important;
}

.spinner {
    border-color: var(--tcg-accent-muted) !important;
    border-top-color: var(--tcg-accent) !important;
}

/* --- Tooltip (overlib) --- */
.overlib {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
    box-shadow: var(--tcg-shadow-lg);
}

/* --- Borders override --- */
.border {
    border-color: var(--tcg-border) !important;
}

.border-dark {
    border-color: var(--tcg-border) !important;
}

.border-bottom {
    border-bottom-color: var(--tcg-border) !important;
}

.border-top {
    border-top-color: var(--tcg-border) !important;
}

.border-right,
.border-end {
    border-right-color: var(--tcg-border) !important;
}

.border-left,
.border-start {
    border-left-color: var(--tcg-border) !important;
}

/* --- Inline color overrides for common patterns --- */
[style*="color: black"],
[style*="color:black"],
[style*="color:#000"],
[style*="color: #000"] {
    color: var(--tcg-text) !important;
}

[style*="color: khaki"],
[style*="color:khaki"] {
    color: var(--tcg-accent-light) !important;
}

[style*="background-color: lightsteelblue"],
[style*="background-color:lightsteelblue"] {
    background: var(--tcg-bg-elevated) !important;
}

/* --- SweetAlert dark --- */
.sweet-alert {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    box-shadow: var(--tcg-shadow-xl);
}

.sweet-alert h2 {
    color: var(--tcg-text) !important;
}

.sweet-alert p {
    color: var(--tcg-text-secondary) !important;
}

.sweet-alert .sa-confirm-button-container .confirm {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.sweet-alert .sa-button-container .cancel {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
}

/* SweetAlert success icon — quitar fondo blanco para dark theme */
.sweet-alert .sa-icon.sa-success::before,
.sweet-alert .sa-icon.sa-success::after {
    background: var(--tcg-bg-card) !important;
}

.sweet-alert .sa-icon.sa-success .sa-fix {
    background-color: var(--tcg-bg-card) !important;
}

.sweet-alert .sa-icon.sa-success .sa-placeholder {
    border-color: rgba(76, 174, 76, 0.3) !important;
}

/* --- Stock Físico Vendedor: alerta logística --- */
.alert-logistica-warning {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(239, 68, 68, 0.04)) !important;
    border: 1px solid rgba(239, 68, 68, 0.4) !important;
    border-left: 4px solid var(--tcg-danger) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-3) var(--tcg-space-4) !important;
    margin: var(--tcg-space-3) var(--tcg-space-4);
    align-items: center;
    gap: var(--tcg-space-3);
}

.alert-logistica-icon {
    font-size: 1.75rem;
    color: var(--tcg-danger);
    flex-shrink: 0;
}

.alert-logistica-content {
    flex: 1;
}

.alert-logistica-title {
    color: var(--tcg-danger);
    font-weight: 700;
    font-size: var(--tcg-text-base);
    letter-spacing: 0.02em;
}

.alert-logistica-text {
    color: var(--tcg-text-secondary);
    font-size: var(--tcg-text-sm);
    margin-top: 2px;
}

.alert-logistica-text a {
    color: var(--tcg-accent-light);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--tcg-accent-muted);
    transition: all var(--tcg-transition-fast);
}

.alert-logistica-text a:hover {
    color: var(--tcg-accent-bright, var(--tcg-accent-light));
    border-bottom-color: var(--tcg-accent);
}

/* --- Stock Físico Vendedor: form --- */
.stock-fisico-form {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: var(--tcg-space-3) var(--tcg-space-4) !important;
    margin: var(--tcg-space-3) var(--tcg-space-4);
}

.stock-fisico-form .form-control,
.stock-fisico-form .form-select {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.stock-fisico-form .form-floating label {
    color: var(--tcg-text-secondary) !important;
}

.stock-fisico-form #grabarButton {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text-secondary) !important;
    border-radius: var(--tcg-radius-md) !important;
    font-weight: 600;
    transition: all var(--tcg-transition-fast);
}

.stock-fisico-form #grabarButton:not(:disabled) {
    background: linear-gradient(135deg, var(--tcg-accent), var(--tcg-accent-light)) !important;
    border-color: var(--tcg-accent) !important;
    color: #0d0f14 !important;
    box-shadow: 0 4px 14px rgba(201, 168, 76, 0.25);
}

.stock-fisico-form #grabarButton:not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(201, 168, 76, 0.35);
}

/* --- Stock Físico Vendedor: bandera de info inferior --- */
.stock-fisico-info {
    background: rgba(201, 168, 76, 0.06) !important;
    border: 1px solid var(--tcg-accent-muted) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-3) var(--tcg-space-4) !important;
    margin: var(--tcg-space-3) var(--tcg-space-4);
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.stock-fisico-info-title {
    color: var(--tcg-text);
    font-weight: 600;
    font-size: var(--tcg-text-base);
}

.stock-fisico-info-legend {
    color: var(--tcg-accent-light);
    font-size: var(--tcg-text-xs);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-top: 4px;
}

/* --- Stock Físico Vendedor: fondo del listado --- */
.stock-fisico-detalle-bg {
    background: var(--tcg-bg-base) !important;
}

/* --- TCG Balance: Título de sección --- */
.card-profile.card-profile-title {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.12), rgba(201, 168, 76, 0.04)) !important;
    border: 1px solid var(--tcg-accent-muted) !important;
    border-radius: var(--tcg-radius-lg) !important;
    padding: var(--tcg-space-4) var(--tcg-space-5) !important;
    box-shadow: 0 0 20px rgba(201, 168, 76, 0.08);
}

.card-profile.card-profile-title h5 {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display, 'Cinzel', serif);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0;
    text-shadow: 0 0 10px rgba(201, 168, 76, 0.2);
}

/* --- TCG Balance: Card del botón de acción --- */
.card-profile.card-profile-action {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.card-profile.card-profile-action .btn-success {
    background: linear-gradient(135deg, var(--tcg-success), #16a34a) !important;
    border: none !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-3) var(--tcg-space-5) !important;
    font-weight: 600;
    letter-spacing: 0.04em;
    font-size: var(--tcg-text-base);
    box-shadow: 0 4px 14px rgba(34, 197, 94, 0.25);
    transition: all var(--tcg-transition-fast);
}

.card-profile.card-profile-action .btn-success:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(34, 197, 94, 0.35);
    filter: brightness(1.1);
}

/* TCG Balance: input cards (Cantidad, Nick, Correo, etc) */
.seccion-estadistica-item.bg-azrey {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    transition: border-color var(--tcg-transition-fast);
}

.seccion-estadistica-item.bg-azrey:focus-within {
    border-color: var(--tcg-accent-muted) !important;
}

.seccion-estadistica-item .input-group-text {
    background: transparent !important;
    border: none !important;
    color: var(--tcg-accent-light) !important;
    font-weight: 600;
    font-size: var(--tcg-text-sm);
    padding: 0 0 var(--tcg-space-2) 0 !important;
}

.seccion-estadistica-item .form-control {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-sm) !important;
}

.seccion-estadistica-item .form-control:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.15) !important;
}

#saldoBalance {
    color: var(--tcg-success) !important;
    font-weight: 700;
    font-size: var(--tcg-text-lg);
}

/* --- Logística: Tabs de navegación --- */
.perfil-adicional .btn-outline[style*="khaki"],
.perfil-adicional .btn-dark[style*="#8a8f95"],
.perfil-adicional a.btn[style*="khaki"],
.perfil-adicional a.btn[style*="#8a8f95"] {
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: all var(--tcg-transition-fast);
    padding: var(--tcg-space-3) var(--tcg-space-4) !important;
}

/* Tab activa (khaki) → acento dorado */
.perfil-adicional a.btn[style*="khaki"] {
    background: linear-gradient(135deg, var(--tcg-accent), var(--tcg-accent-light)) !important;
    color: #0d0f14 !important;
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 12px rgba(201, 168, 76, 0.25);
}

/* Tab inactiva (#8a8f95) → fondo elevado */
.perfil-adicional a.btn[style*="#8a8f95"] {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text-secondary) !important;
    border-color: var(--tcg-border) !important;
}

.perfil-adicional a.btn[style*="#8a8f95"]:hover {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
    border-color: var(--tcg-accent-muted) !important;
}

/* --- Logística: Banner de advertencia amarillo --- */
.perfil-adicional .bg-warning {
    background: rgba(201, 168, 76, 0.1) !important;
    border: 1px solid var(--tcg-accent-muted) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-4) !important;
    margin-top: var(--tcg-space-3);
}

.perfil-adicional .bg-warning .text-dark {
    color: var(--tcg-accent-light) !important;
    font-size: var(--tcg-text-sm);
}

/* --- Logística: Textos negros → visibles en dark --- */
.perfil-adicional .text-black,
.perfil-adicional .bolded.text-black,
.perfil-adicional span.bolded.text-white {
    color: var(--tcg-text) !important;
    font-weight: 600;
}

.perfil-adicional hr.text-black {
    border-color: var(--tcg-border) !important;
    opacity: 0.5;
}

/* --- Logística: Dropdown empresa --- */
.perfil-adicional #ddlEmpresaDespacho {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border-color: var(--tcg-border) !important;
}

.perfil-adicional .dropdown-menu {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
}

.perfil-adicional .dropdown-item {
    color: var(--tcg-text) !important;
}

.perfil-adicional .dropdown-item:hover {
    background: rgba(201, 168, 76, 0.1) !important;
    color: var(--tcg-accent-light) !important;
}

.perfil-adicional #spanNombreEmpresa {
    color: var(--tcg-text-secondary) !important;
}

/* --- Logística: ajustar ancho fijo del div con botón Cambiar Precio --- */
#empresasEnvioGratuitoGrid td > div[style*="width:200px"],
#empresasEnvioGratuitoGrid td > div[style*="width: 200px"],
#preciosEntreZonaGrid td > div[style*="width:200px"],
#preciosEntreZonaGrid td > div[style*="width: 200px"] {
    width: auto !important;
    display: flex;
    justify-content: center;
}

#empresasEnvioGratuitoGrid td .btn,
#preciosEntreZonaGrid td .btn {
    white-space: nowrap;
    height: auto !important;
    padding: var(--tcg-space-2) var(--tcg-space-3) !important;
    font-size: var(--tcg-text-sm) !important;
}

/* --- Logística: Botones de acción --- */
.perfil-adicional .btn-success {
    background: var(--tcg-success) !important;
    border-color: var(--tcg-success) !important;
    color: #fff !important;
    border-radius: var(--tcg-radius-md) !important;
}

.perfil-adicional .btn-secondary:not(.dropdown-toggle) {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.perfil-adicional .btn-secondary:not(.dropdown-toggle):hover:not(:disabled) {
    border-color: var(--tcg-accent-muted) !important;
    color: var(--tcg-accent-light) !important;
}

.perfil-adicional .btn-danger {
    background: var(--tcg-danger) !important;
    border-color: var(--tcg-danger) !important;
    border-radius: var(--tcg-radius-md) !important;
}

/* --- Logística: Select / form-control en floating --- */
.perfil-adicional .form-floating .form-control,
.perfil-adicional .form-floating select.form-control {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border-color: var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.perfil-adicional .form-floating label {
    color: var(--tcg-text-secondary) !important;
}

/* --- Card body overrides --- */
.card-body {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
}

.card-footer {
    background: var(--tcg-bg-elevated) !important;
    border-top: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

/* --- Progress bars --- */
.progress {
    background: var(--tcg-bg-base) !important;
    border-radius: var(--tcg-radius-full) !important;
}

.progress-bar {
    background: linear-gradient(90deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
}

/* --- Nav tabs/pills --- */
.nav-tabs {
    border-bottom-color: var(--tcg-border) !important;
}

.nav-tabs .nav-link {
    color: var(--tcg-text-secondary) !important;
    border-color: transparent !important;
    transition: color var(--tcg-transition-fast), border-color var(--tcg-transition-fast);
}

.nav-tabs .nav-link:hover {
    border-color: var(--tcg-border) !important;
    color: var(--tcg-accent-light) !important;
}

.nav-tabs .nav-link.active {
    background: var(--tcg-bg-card) !important;
    border-color: var(--tcg-border) var(--tcg-border) var(--tcg-bg-card) !important;
    color: var(--tcg-accent-light) !important;
    font-weight: var(--tcg-font-semibold);
}

.nav-pills .nav-link {
    color: var(--tcg-text-secondary) !important;
    border-radius: var(--tcg-radius-md) !important;
}

.nav-pills .nav-link.active {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

/* --- Offcanvas --- */
.offcanvas {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
    border-color: var(--tcg-border) !important;
}

.offcanvas-header {
    border-bottom: 1px solid var(--tcg-border);
}

.offcanvas-title {
    color: var(--tcg-accent-light) !important;
}

/* --- Popover / Tooltip (Bootstrap) --- */
.popover {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
}

.popover-header {
    background: var(--tcg-bg-card) !important;
    border-bottom-color: var(--tcg-border) !important;
    color: var(--tcg-accent-light) !important;
}

.popover-body {
    color: var(--tcg-text) !important;
}

.tooltip-inner {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border);
    /* Bootstrap default es 200px, recortaba las imágenes preview de carta.
       260px deja respirar la imagen vertical estándar de TCG (rel ~5:7). */
    max-width: 260px !important;
    padding: 6px !important;
    border-radius: var(--tcg-radius-md) !important;
    box-shadow: var(--tcg-shadow-lg);
}

/* Imagen dentro del tooltip — full width del contenedor con bordes redondeados */
.tooltip-inner img {
    max-width: 100%;
    height: auto;
    border-radius: var(--tcg-radius-md);
    display: block;
}

/* Content containers inside main inherit centering from .main-magico */

/* --- Small / utility text --- */
small, .small {
    color: var(--tcg-text-secondary) !important;
}

.font-weight-light {
    color: var(--tcg-text-secondary) !important;
}

/* --- Prices in search results --- */
.text-danger {
    color: var(--tcg-danger) !important;
}

.text-success {
    color: var(--tcg-success) !important;
}

.text-warning {
    color: var(--tcg-warning) !important;
}

.text-info {
    color: var(--tcg-info) !important;
}

.text-primary {
    color: var(--tcg-accent) !important;
}

/* --- Image/card containers --- */
/* Marco oscuro que tapa las esquinas blancas de las cartas */
.producto-header {
    background-color: var(--tcg-bg-card);
    border-radius: 10px;
    overflow: hidden;
    line-height: 0;
}

.producto-header img,
.img-slider-home {
    border-radius: 0;
    display: block;
    width: 100%;
    margin: 0;
}

.img-search img,
.img-item-search img,
.img-item-search {
    border-radius: var(--tcg-radius-md);
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 7;
    object-fit: contain;
    margin: 0;
}

/* --- virtual-select dark --- */
.vscomp-toggle-button {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
    color: var(--tcg-text) !important;
}

.vscomp-dropbox {
    background: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
}

.vscomp-option {
    color: var(--tcg-text) !important;
}

.vscomp-option:hover,
.vscomp-option.focused {
    background: var(--tcg-accent-muted) !important;
}

.vscomp-option.selected {
    background: var(--tcg-accent) !important;
    color: var(--tcg-text-on-accent) !important;
}

/* --- Page loader overlay --- */
#page-loader {
    background: rgba(13, 15, 20, 0.8) !important;
}

#page-loader .spinner {
    border-top-color: var(--tcg-accent) !important;
}

/* --- Responsive global --- */
/* Content containers inside main inherit centering from .main-magico */

/* --- Transiciones globales --- */
a, .btn, .form-control, .card, .cont-topsales, .item-box, .list-group-item, .accordion-button {
    transition: all var(--tcg-transition-normal);
}

/* ============================================
   Vista Format/Búsqueda — listado de cartas
   (Views/Busqueda/Format.cshtml)
   ============================================ */

/* Contenedor principal — eliminar la "caja blanca" */
#divListado .mis-cartas-wrapper {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    box-shadow: var(--tcg-shadow-md) !important;
    flex-direction: column !important;
}

#divListado .mis-cartas-wrapper > div[class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 1rem !important;
}

/* Header de filtros (input + switches + dropdowns) */
#divListado #divAcordion {
    background: transparent !important;
    padding: 1rem 0 !important;
    margin: 0 !important;
    flex-wrap: wrap;
    gap: 0.6rem;
}

#divListado #divAcordion > div {
    margin-left: 0 !important;
}

/* Input "Carta..." — incluye también el filtro de TodasVendedorLecturaUsuario
   que usa id="nombreCartaAllUsuario" en lugar de "nombreCartaAll" */
#divListado #nombreCartaAll,
#divListado #nombreCartaAllUsuario {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    color: var(--tcg-text) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.5rem 0.85rem !important;
    min-width: 220px;
}

#divListado #nombreCartaAll::placeholder,
#divListado #nombreCartaAllUsuario::placeholder {
    color: var(--tcg-text-muted) !important;
}

#divListado #nombreCartaAll:focus,
#divListado #nombreCartaAllUsuario:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.15) !important;
    outline: none;
}

/* Switches Con Foto / Solo Foil */
#divListado .form-check-label {
    color: var(--tcg-text-secondary) !important;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

#divListado .form-check-input {
    background-color: var(--tcg-bg-elevated) !important;
    border-color: var(--tcg-border) !important;
}

#divListado .form-check-input:checked {
    background-color: var(--tcg-accent) !important;
    border-color: var(--tcg-accent) !important;
}

/* Dropdowns de filtros — override del bg blanco inline */
#divListado .dropdown > .btn,
#divListado .dropdown > select,
#divListado .dropdown-toggle.text-black {
    background: var(--tcg-bg-elevated) !important;
    background-color: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.5rem 0.85rem !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
}

#divListado .dropdown > .btn:hover,
#divListado .dropdown > select:hover {
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
}

#divListado .dropdown-menu {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    box-shadow: var(--tcg-shadow-lg) !important;
}

#divListado .dropdown-item {
    color: var(--tcg-text) !important;
}

#divListado .dropdown-item:hover {
    background: rgba(201, 168, 76, 0.1) !important;
    color: var(--tcg-accent-light) !important;
}

/* Botón limpiar filtros */
#divListado .dropdown > .btn .bi-arrow-clockwise {
    color: var(--tcg-accent-light);
}

/* Tabs Listado / Galería */
#divListado .nav-tabs.subtab {
    border-bottom: 1px solid var(--tcg-border) !important;
    padding: 0 0.5rem;
    margin-top: 0.5rem;
}

#divListado .nav-tabs.subtab li {
    list-style: none;
}

#divListado .nav-tabs.subtab a.dropdown-item {
    background: transparent !important;
    color: var(--tcg-text-secondary) !important;
    border: 1px solid transparent !important;
    border-bottom: 2px solid transparent !important;
    border-radius: var(--tcg-radius-sm) var(--tcg-radius-sm) 0 0 !important;
    padding: 0.6rem 1.2rem !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    margin-bottom: -1px;
}

#divListado .nav-tabs.subtab a.dropdown-item:hover {
    color: var(--tcg-accent-light) !important;
    background: transparent !important;
}

#divListado .nav-tabs.subtab a.dropdown-item.active {
    color: var(--tcg-accent) !important;
    background: transparent !important;
    border-bottom-color: var(--tcg-accent) !important;
}

/* Barra de encabezados de tabla (Nombre/Edición/Estado/Precio/Oferta) */
#divListado .container-mis-cartas-info {
    background: var(--tcg-bg-elevated) !important;
    border-radius: var(--tcg-radius-md) !important;
    border: 1px solid var(--tcg-border) !important;
    margin-top: 0.75rem;
    padding: 0.85rem 1rem !important;
}

#divListado .container-mis-cartas-info .border-bottom {
    border-bottom: none !important;
}

#divListado .container-mis-cartas-info .bolded {
    color: var(--tcg-accent-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.8rem;
    font-weight: 700;
}

/* Filas de cartas */
#divListado .cartaDetalle-wrapper {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 0.5rem;
    color: var(--tcg-text);
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

#divListado .cartaDetalle-wrapper:hover {
    border-color: var(--tcg-accent) !important;
    transform: translateY(-1px);
}

#divListado .cartaDetalle-wrapper a {
    color: var(--tcg-text) !important;
}

#divListado .cartaDetalle-wrapper a:hover {
    color: var(--tcg-accent-light) !important;
}

/* Galería items */
#divListado #cartaVendedorlecturaGallery .item-box-full {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.75rem !important;
    margin-bottom: 1rem;
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

#divListado #cartaVendedorlecturaGallery .item-box-full:hover {
    border-color: var(--tcg-accent) !important;
    transform: translateY(-2px);
}

#divListado #cartaVendedorlecturaGallery .text-dark,
#divListado #cartaVendedorlecturaGallery .text-muted {
    color: var(--tcg-text) !important;
}

#divListado #cartaVendedorlecturaGallery a {
    color: var(--tcg-text) !important;
}

#divListado #cartaVendedorlecturaGallery a:hover {
    color: var(--tcg-accent-light) !important;
}

/* Selector "resultados por página" */
#divListado #divResultadosPagina {
    background: var(--tcg-bg-elevated);
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: 0.4rem 0.75rem;
    color: var(--tcg-text);
}

#divListado #divResultadosPagina select {
    background: transparent;
    color: var(--tcg-text);
    border: none;
    outline: none;
}

#divListado #divResultadosPagina .bi {
    color: var(--tcg-accent-light);
    margin-right: 0.4rem;
}

/* Paginación de la vista (botones << < 1 2 3 > >>) */
#divListado .pagination {
    gap: 0.35rem;
}

#divListado .pagination .page-link {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.5rem 0.85rem !important;
    font-weight: 600;
    transition: all var(--tcg-transition-fast);
}

#divListado .pagination .page-link:hover {
    background: rgba(201, 168, 76, 0.15) !important;
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
}

#divListado .pagination .page-item.active .page-link {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: #0d0f14 !important;
    border-color: var(--tcg-accent) !important;
}

#divListado .pagination .page-item.disabled .page-link {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text-muted) !important;
    border-color: var(--tcg-border) !important;
}

/* Botón agregar al carro */
#divListado .btn-car {
    background: var(--tcg-accent) !important;
    color: #0d0f14 !important;
    border: none !important;
    border-radius: var(--tcg-radius-md) !important;
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast), background var(--tcg-transition-fast);
}

#divListado .btn-car:hover {
    background: var(--tcg-accent-light) !important;
    transform: translateY(-1px);
    box-shadow: 0 0 12px rgba(201, 168, 76, 0.4);
}

#divListado .btn-car:disabled {
    background: var(--tcg-border) !important;
    color: var(--tcg-text-muted) !important;
    cursor: not-allowed;
}

/* Select nativo de cantidad (Html.DropDownList genera <select>) en cada fila */
#divListado .cartaDetalle-wrapper select,
#divListado #cartaVendedorlecturaGallery select {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-sm) !important;
    padding: 0.3rem 0.4rem !important;
    font-size: 0.85rem;
    cursor: pointer;
    transition: border-color var(--tcg-transition-fast);
}

#divListado .cartaDetalle-wrapper select:hover,
#divListado #cartaVendedorlecturaGallery select:hover,
#divListado .cartaDetalle-wrapper select:focus,
#divListado #cartaVendedorlecturaGallery select:focus {
    border-color: var(--tcg-accent) !important;
    outline: none;
}

#divListado .cartaDetalle-wrapper select option,
#divListado #cartaVendedorlecturaGallery select option {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
}

/* Stock actual (número antes del select) — pill verde con ancho fijo
   para que el dropdown de cantidad y el botón quedan alineados a través
   de todas las filas, sin importar si el stock es 1, 99 o 323. */
#divListado .mis-cartas-detail__qty-add-cart > div > div:first-child,
#divListado .cartaDetalle-wrapper .col-3 > div > div:first-child {
    color: var(--tcg-success);
    font-weight: 700;
    font-size: 0.95rem;
    padding: 0.15rem 0.5rem;
    border-radius: var(--tcg-radius-sm);
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.25);
    margin-right: 0.5rem;
    width: 52px;          /* ancho fijo para alinear filas */
    min-width: 52px;
    text-align: center;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* Asegurar que la celda completa stock+select+btn alinee a la izquierda
   con espaciado consistente entre los 3 elementos */
#divListado .cartaDetalle-wrapper .mis-cartas-detail__qty-add-cart > div {
    gap: 0.5rem;
    justify-content: flex-start !important;
    flex-wrap: nowrap;
    width: 100%;
}

#divListado .cartaDetalle-wrapper .card-qty-selector {
    gap: 0.5rem;
    flex-wrap: nowrap;
}

/* El select de cantidad con ancho fijo también para alineación cross-row */
#divListado .cartaDetalle-wrapper select,
#divListado #cartaVendedorlecturaGallery select {
    width: 60px !important;
    min-width: 60px;
    margin-left: 0 !important;
    flex-shrink: 0;
}

/* ================ ICONOS CON FONDO BLANCO ================
   Los iconos de edición y rareza son PNG con bg blanco que dejan
   un halo en el dark theme. Les agregamos un wrapper circular oscuro
   y un sutil filtro de brillo para que se vean integrados. */
#divListado .cartaDetalle-wrapper img[width="18"],
#divListado .cartaDetalle-wrapper .col-2 img,
#divListado #cartaVendedorlecturaGallery img[width="18"],
#divListado #cartaVendedorlecturaGallery .col-2 img {
    border-radius: 50%;
    padding: 1px;
    border: 1px solid var(--tcg-border);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4) inset;
    box-sizing: content-box;
}

/* Excluir las imágenes de cartas (que son grandes) y los color symbols
   de magic (que ya vienen redondos y sin halo blanco molesto) */
#divListado .cartaDetalle-wrapper .img-search img,
#divListado #cartaVendedorlecturaGallery .img-search img,
#divListado .cartaDetalle-wrapper img.img-responsive[width="18"],
#divListado #cartaVendedorlecturaGallery img.img-responsive[width="18"] {
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
}

/* Iconos de estado/precio: ícono de cámara más visible */
#divListado .cartaDetalle-wrapper .bi-camera2,
#divListado #cartaVendedorlecturaGallery .bi-camera2 {
    color: var(--tcg-accent) !important;
    font-size: 1.05rem;
    transition: color var(--tcg-transition-fast);
}

#divListado .cartaDetalle-wrapper .bi-camera2:hover,
#divListado #cartaVendedorlecturaGallery .bi-camera2:hover {
    color: var(--tcg-accent-light) !important;
}

/* Precio destacado en cada fila del listado */
#divListado .cartaDetalle-wrapper .mis-cartas-detail__info span:last-child,
#divListado .cartaDetalle-wrapper .col-3 span:last-child {
    color: var(--tcg-accent-light);
    font-weight: 700;
}

/* Galería: tabla interna del item — fix de text-dark invisible */
#divListado #cartaVendedorlecturaGallery .item-box-full table {
    width: 100%;
    border: none;
}

#divListado #cartaVendedorlecturaGallery .item-box-full table td {
    color: var(--tcg-text) !important;
    border: none !important;
    padding: 0.25rem 0.15rem !important;
    vertical-align: middle;
}

#divListado #cartaVendedorlecturaGallery .item-box-full .name-item-search {
    color: var(--tcg-text) !important;
    font-weight: 600;
}

#divListado #cartaVendedorlecturaGallery .item-box-full a.underlinenone {
    color: var(--tcg-text) !important;
    text-decoration: none;
    transition: color var(--tcg-transition-fast);
}

#divListado #cartaVendedorlecturaGallery .item-box-full a.underlinenone:hover {
    color: var(--tcg-accent-light) !important;
}

/* En la galería el nombre de la carta (segunda fila de la tabla) destacado */
#divListado #cartaVendedorlecturaGallery .item-box-full table tr:nth-child(2) .name-item-search {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    letter-spacing: 0.02em;
    font-size: 0.95rem;
}

/* Galería: imagen de la carta con border y hover suave */
#divListado #cartaVendedorlecturaGallery .img-search img {
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

#divListado #cartaVendedorlecturaGallery .item-box-full:hover .img-search img {
    transform: scale(1.02);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}

/* ============================================
   Vista DetalleEstado — listado de ofertas
   por carta+condicion (Views/Busqueda/DetalleEstado.cshtml)
   ============================================ */

/* Fila de oferta — override del bg-azrey heredado del navbar */
.card-fila.bg-azrey {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-bottom: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.85rem 1rem !important;
    margin-bottom: 0.6rem !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.card-fila.bg-azrey:hover {
    border-color: var(--tcg-accent) !important;
    transform: translateY(-1px);
    box-shadow: var(--tcg-shadow-md), 0 0 24px rgba(201, 168, 76, 0.08);
}

/* Texto general dentro de la fila */
.card-fila.bg-azrey,
.card-fila.bg-azrey .text-white,
.card-fila.bg-azrey label {
    color: var(--tcg-text) !important;
}

/* Nombre de la carta (col izquierdo) */
.card-fila .card-first-detail .nickusuario {
    color: var(--tcg-text) !important;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.01em;
}

.card-fila .card-first-detail .nickusuario:hover {
    color: var(--tcg-accent-light) !important;
}

/* Language / Status / Price columns */
.card-fila .card-language label,
.card-fila .card-status label,
.card-fila .card-price label {
    margin: 0;
    color: var(--tcg-text) !important;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: help;
}

.card-fila .card-status label,
.card-fila .card-status .cartaEstadoTooltip {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.78rem !important;
    font-weight: 700;
    color: var(--tcg-text) !important;
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-sm);
    padding: 0.35rem 0.7rem;
    min-width: 48px;
    text-align: center;
    cursor: help;
}

.card-fila .card-price label,
.card-fila .card-price .cartaEstadoTooltip {
    display: inline-block;
    color: var(--tcg-accent-light) !important;
    font-weight: 700;
    font-size: 0.95rem !important;
    white-space: nowrap;
    background: rgba(201, 168, 76, 0.12) !important;
    border: 1px solid rgba(201, 168, 76, 0.45) !important;
    border-radius: var(--tcg-radius-sm);
    padding: 0.35rem 0.75rem;
    cursor: help;
    letter-spacing: 0.01em;
}

/* Bandera de idioma */
.card-fila .card-language .card-lang-flag {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid var(--tcg-border);
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

.card-fila .card-language .card-lang-flag:hover {
    border-color: var(--tcg-accent);
    transform: scale(1.08);
}

/* Iconos varios (camara, comentario, signed) */
.card-fila .bi-camera-fill {
    color: var(--tcg-accent-light) !important;
    font-size: 1.3rem;
    transition: color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

.card-fila .bi-camera-fill:hover {
    color: var(--tcg-accent) !important;
    transform: scale(1.1);
}

.card-fila .bi-chat-fill {
    color: var(--tcg-text-secondary);
    transition: color var(--tcg-transition-fast);
}

.card-fila .bi-chat-fill:hover {
    color: var(--tcg-accent-light);
}

/* Iconos foil/holographic */
.card-fila .is-holographic-img {
    border: 1.5px solid var(--tcg-border);
    background: var(--tcg-bg-elevated);
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.card-fila .is-holographic-img:hover {
    border-color: var(--tcg-accent);
    transform: scale(1.08);
    box-shadow: 0 0 12px rgba(201, 168, 76, 0.35);
}

/* Badge de stock disponible */
.card-fila .tcg-stock-badge,
.card-fila .badge.bg-dark.tcg-stock-badge {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-sm) !important;
    padding: 0.4rem 0.7rem !important;
    font-weight: 600;
    font-size: 0.85rem;
}

.card-fila .tcg-stock-badge .bi-box-seam {
    color: var(--tcg-accent-light);
}

/* Badge "Pausada" */
.card-fila .tcg-paused-badge,
.card-fila .badge.bg-warning.tcg-paused-badge {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.4) !important;
    border-radius: var(--tcg-radius-sm) !important;
    padding: 0.35rem 0.6rem !important;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Selector de cantidad */
.card-fila .tcg-qty-select,
.card-fila select.tcg-qty-select {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-sm) !important;
    padding: 0.4rem 0.6rem !important;
    font-weight: 600;
    font-size: 0.9rem;
    min-width: 60px;
    cursor: pointer;
    transition: border-color var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.card-fila .tcg-qty-select:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.18) !important;
    outline: none;
}

/* Botón "Agregar al carro" */
.card-fila .btn-tcg-add,
.card-fila .btn-car.btn-tcg-add {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: #0d0f14 !important;
    border: none !important;
    border-radius: var(--tcg-radius-sm) !important;
    padding: 0.5rem 0.85rem !important;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(201, 168, 76, 0.25);
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast), filter var(--tcg-transition-fast);
}

.card-fila .btn-tcg-add:hover,
.card-fila .btn-car.btn-tcg-add:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(201, 168, 76, 0.45);
    filter: brightness(1.08);
    color: #0d0f14 !important;
}

.card-fila .btn-car.btn-secondary,
.card-fila .btn-car:disabled {
    background: var(--tcg-border) !important;
    color: var(--tcg-text-muted) !important;
    border: none !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

.card-fila .btn-tcg-add .fa-cart-plus,
.card-fila .btn-car .fa-cart-plus {
    font-size: 1rem;
}

/* Mensaje "SIN PUBLICACIONES" */
p.bolded[style*="#1d71b8"] {
    color: var(--tcg-accent-light) !important;
    text-align: center;
    padding: 2rem 1rem;
    background: var(--tcg-bg-card);
    border: 1px dashed var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 1rem !important;
}

/* ============================================
   Vista BuscarCartaDetalle — detalle completo de carta
   (Views/Busqueda/BuscarCartaDetalle.cshtml)
   ============================================ */

/* Breadcrumb superior — quitar el bg blanco translucido */
.pb-3 > .container.mobile.bg-white.bg-opacity-75 {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    box-shadow: var(--tcg-shadow-md) !important;
    color: var(--tcg-text);
}

.pb-3 .breadcrumb {
    background: transparent;
    margin-bottom: 0;
}

.pb-3 .breadcrumb-item a,
.pb-3 .breadcrumb-item.active a {
    color: var(--tcg-text-secondary) !important;
    font-weight: 600;
    transition: color var(--tcg-transition-fast);
}

.pb-3 .breadcrumb-item a:hover {
    color: var(--tcg-accent-light) !important;
}

.pb-3 .breadcrumb-item.active,
.pb-3 .breadcrumb-item.active a {
    color: var(--tcg-accent-light) !important;
}

.pb-3 .breadcrumb-item + .breadcrumb-item::before {
    color: var(--tcg-text-muted);
}

/* Container principal de cada carta — quitar bg blanco hardcodeado */
.container.mobile[style*="ffffff6b"],
.container.mobile.g-0.p-3.mt-3.text-white {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    box-shadow: var(--tcg-shadow-md);
    padding: 1.5rem !important;
}

/* Columnas internas que usan .bg-white */
.container.mobile .bg-white {
    background: transparent !important;
}

/* Imagen de la carta — borde dorado sutil */
.container.mobile .img-item-search-full,
img#cartaImagen {
    border-radius: var(--tcg-radius-md) !important;
    border: 1.5px solid var(--tcg-border);
    box-shadow: var(--tcg-shadow-md), 0 0 30px rgba(201, 168, 76, 0.08);
    transition: border-color var(--tcg-transition-normal), box-shadow var(--tcg-transition-normal);
}

img#cartaImagen:hover {
    border-color: var(--tcg-accent);
    box-shadow: var(--tcg-shadow-lg), 0 0 36px rgba(201, 168, 76, 0.25);
}

/* Wrapper del contenedor de imagen */
.container.mobile [style*="border: solid 1px #ffff"] {
    border: 1px solid var(--tcg-border) !important;
    background: var(--tcg-bg-elevated);
    padding: 0.5rem;
}

/* Botón "Notificarme stock nuevo" */
.container.mobile .btn.bg-success {
    background: linear-gradient(135deg, var(--tcg-accent-dark), var(--tcg-accent)) !important;
    color: #0d0f14 !important;
    border: none !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.55rem 1rem !important;
    font-weight: 700;
    margin-top: 0.75rem;
    box-shadow: 0 2px 8px rgba(201, 168, 76, 0.25);
    transition: transform var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast), filter var(--tcg-transition-fast);
}

.container.mobile .btn.bg-success:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    box-shadow: 0 4px 16px rgba(201, 168, 76, 0.4);
    color: #0d0f14 !important;
}

/* Título grande de la carta + edición (banda con bg-azrey) */
.container.mobile .row.g-0.bg-azrey {
    background: linear-gradient(180deg, rgba(24, 27, 34, 0.6), rgba(15, 17, 24, 0.4)) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    margin-bottom: 1rem !important;
    backdrop-filter: none !important;
}

.container.mobile .tittle-single {
    color: var(--tcg-text) !important;
    font-family: var(--tcg-font-display, 'Cinzel', serif);
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.container.mobile .edition-single {
    color: var(--tcg-accent-light) !important;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}

/* Acordeón "Filtro Avanzado" */
.filtrocardavanzado,
.accordion-button.filtrocardavanzado {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    box-shadow: none !important;
}

.filtrocardavanzado::after,
.accordion-button.filtrocardavanzado::after {
    filter: invert(82%) sepia(45%) saturate(550%) hue-rotate(5deg);
}

.filtrocardavanzado:not(.collapsed),
.accordion-button.filtrocardavanzado:not(.collapsed) {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-accent-light) !important;
    border-color: var(--tcg-accent) !important;
}

.filtrocardavanzadocontenido .accordion-body,
.opcionesfiltroavanzado {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border);
    border-top: none;
    border-radius: 0 0 var(--tcg-radius-md) var(--tcg-radius-md);
    padding: 1rem !important;
}

.opcionesfiltroavanzado .form-check-label.text-black {
    color: var(--tcg-text-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.8rem;
    font-weight: 600;
}

.opcionesfiltroavanzado .form-select {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    margin-top: 0.5rem;
}

.opcionesfiltroavanzado .form-select:focus {
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.18) !important;
}

/* Contenedor del listado scroll de ofertas */
.container.vstack[style*="ffffff6b"] {
    background: var(--tcg-bg-elevated) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
}

.container.vstack[style*="ffffff6b"]::-webkit-scrollbar {
    width: 8px;
}

.container.vstack[style*="ffffff6b"]::-webkit-scrollbar-track {
    background: var(--tcg-bg-card);
}

.container.vstack[style*="ffffff6b"]::-webkit-scrollbar-thumb {
    background: var(--tcg-border);
    border-radius: var(--tcg-radius-sm);
}

.container.vstack[style*="ffffff6b"]::-webkit-scrollbar-thumb:hover {
    background: var(--tcg-accent-dark);
}

/* Grid de atributos (Rareza/Tipo/Color/Coste/Borde/Artista/etc) */
.infocardgridcontainer {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem;
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: 1.5rem !important;
    margin-top: 1rem !important;
    color: var(--tcg-text) !important;
}

.infocardattrformat {
    background: var(--tcg-bg-elevated);
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: 0.85rem 0.75rem;
    text-align: center;
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

.infocardattrformat:hover {
    border-color: var(--tcg-accent);
    transform: translateY(-2px);
}

.infocardattrformat p {
    color: var(--tcg-accent-light) !important;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

/* Override de los badges khaki hardcodeados */
.infocardattrformat .badge.text-dark,
.infocardattrformat .badge[style*="khaki"] {
    background: var(--tcg-bg-card) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-sm);
    padding: 0.4rem 0.7rem;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: none;
    letter-spacing: 0;
}

/* Imágenes pequeñas (símbolos de coste, idiomas) — separar un poco */
.infocardattrformat img.img-responsive {
    margin: 0 2px;
    vertical-align: middle;
}

/* ============================================
   Sección Descripción / Habilidades / Reglas / Ataques
   ============================================ */
.infocarddescripcion {
    background: var(--tcg-bg-card);
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: 1.5rem !important;
    margin-top: 1rem;
    color: var(--tcg-text) !important;
}

.infocarddescripcion[style*="#1d71b8"],
.infocardgridcontainer[style*="#1d71b8"] {
    color: var(--tcg-text) !important;
}

/* Título de sección (Descripción / Legalidades / Habilidades / etc) */
.infocarddescripcion p[style*="x-large"],
.infocarddescripcion .px-5 + p[style*="x-large"],
.infocarddescripcion > p.mt-0.mb-0 {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display, 'Cinzel', serif);
    font-size: 1.4rem !important;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 1rem 0 0.75rem !important;
}

.infocarddescripcion hr {
    border-color: var(--tcg-border) !important;
    opacity: 0.6;
    margin: 1rem 0;
}

.infocarddescripcion .infocartadescripcion,
.infocarddescripcion .atackcardgridcontainer {
    background: var(--tcg-bg-elevated);
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: 1rem 1.5rem !important;
    margin: 0.5rem 1rem;
    color: var(--tcg-text);
}

.infocarddescripcion .infocartadescripcion label,
.infocarddescripcion .atackcardgridcontainer label,
.infocarddescripcion .infocartadescripcion p {
    color: var(--tcg-text) !important;
    font-size: 0.95rem;
    line-height: 1.6;
}

.infocarddescripcion .infocartadescripcion strong,
.infocarddescripcion .atackcardgridcontainer strong {
    color: var(--tcg-accent-light) !important;
}

/* ============================================
   Legalidades — badges de formato
   ============================================ */
/* Badge legal (success) */
.infocardattrformat .badge[style*="bs-success-rgb"],
.infocardattrformat .badge[style*="rgba(var(--bs-success"] {
    background: rgba(34, 197, 94, 0.15) !important;
    color: #4ade80 !important;
    border: 1px solid rgba(34, 197, 94, 0.4) !important;
    border-radius: var(--tcg-radius-sm);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.55rem;
    width: auto !important;
    height: auto !important;
}

/* Badge banned (orangered) */
.infocardattrformat .badge[style*="orangered"] {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.45) !important;
    border-radius: var(--tcg-radius-sm);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.55rem;
    width: auto !important;
    height: auto !important;
}

/* Badge not_legal (orange) */
.infocardattrformat .badge[style*="background-color: orange"] {
    background: rgba(251, 146, 60, 0.18) !important;
    color: #fdba74 !important;
    border: 1px solid rgba(251, 146, 60, 0.45) !important;
    border-radius: var(--tcg-radius-sm);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.55rem;
    width: auto !important;
    height: auto !important;
}

/* Badge restricted (khaki en legalidades) */
.infocardattrformat .badge[style*="khaki"] {
    background: rgba(201, 168, 76, 0.18) !important;
    color: var(--tcg-accent-light) !important;
    border: 1px solid rgba(201, 168, 76, 0.45) !important;
    border-radius: var(--tcg-radius-sm);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.55rem;
    width: auto !important;
    height: auto !important;
}

/* Botones "Similitudes Por Formato" */
.accordion#accordionSimilitud .container-fluid,
.container-fluid[style*="ffffff6b"] {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border);
    border-radius: var(--tcg-radius-md);
    padding: 1rem !important;
    margin-top: 1rem;
}

.accordion#accordionSimilitud .infocardattrformat .btn.bg-success {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: 0.5rem 0.85rem !important;
    font-weight: 600;
    transition: all var(--tcg-transition-fast);
}

.accordion#accordionSimilitud .infocardattrformat .btn.bg-success:hover {
    border-color: var(--tcg-accent) !important;
    color: var(--tcg-accent-light) !important;
    transform: translateY(-1px);
}

.accordion#accordionSimilitud .infocardattrformat .btn.bg-success p {
    color: inherit !important;
    margin: 0;
    font-size: 0.85rem;
}

/* ============================================
   BuscarCartaDetalle — fixes de layout (alineación
   imagen / detalles / scroll de ofertas)
   ============================================ */

/* Imagen de la carta — no llenar todo el alto, alinear arriba */
.container.mobile.g-0.p-3.mt-3.text-white > .col-lg-3,
.container.mobile.g-0.p-3.mt-3.text-white > .col-xl-3,
.container.mobile.g-0.p-3.mt-3.text-white > .col-xxl-3 {
    align-self: flex-start;
    padding-right: 1rem;
}

.container.mobile .img-item-search-full,
img#cartaImagen {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
}

/* Contenedor scroll de ofertas — quitar la altura mínima fija exagerada */
.container.vstack[style*="min-height: 400px"] {
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow-y: visible !important;
    padding: 0.75rem !important;
}

/* Si hay muchas ofertas (más de 8), activar scroll suave */
.container.vstack[id^="divDetalle_"]:has(.card-fila:nth-child(9)) {
    max-height: 520px !important;
    overflow-y: auto !important;
    padding-right: 0.5rem !important;
}

/* Fila de oferta dentro de BuscarCartaDetalle: ajustar nombre vacío */
#divDetalle_Blank,
.container.vstack[id^="divDetalle_"] .card-fila .card-first-detail .nickusuario:empty::before {
    content: '\00a0';
}

/* Cuando el nombre está vacío en col-lg-3, ocultar la columna para no dejar hueco */
.container.vstack[id^="divDetalle_"] .card-fila .col-lg-3:has(.nickusuario:empty) {
    display: none !important;
}

/* Container general de cada bloque de carta — quitar el padding excesivo
   que deja espacio en blanco abajo */
.container.mobile.g-0.p-3.mt-3.text-white {
    padding: 1.25rem !important;
    align-items: stretch;
}

/* Asegurar que las dos columnas (img + detalles) tengan la misma altura visual */
.container.mobile.g-0.p-3.mt-3.text-white > div[class*="col-lg-9"] {
    display: flex;
    flex-direction: column;
}

/* Limitar el ancho de la imagen para que no sea tan larga */
.container.mobile [style*="border: solid 1px #ffff"] {
    max-width: 320px;
    margin: 0 auto !important;
}

/* Quitar el py-4 vacío entre bloques que está dejando espacio muerto */
.container.g-0 > .py-4:empty {
    padding: 0 !important;
}

/* ============================================================
   PHASE 4 — AVISO PAGO / PEDIDO RESULTADO NORMAL
   Vista de confirmación de compra tras pagar (transferencia)
   AvisoPago/PedidoResultadoNormal.cshtml
   ============================================================ */

/* --- Etapas Ingresado / Procesado / etc. (timeline horizontal) --- */
.compra-etapas {
    display: flex;
    gap: var(--tcg-space-3);
    width: 100%;
    flex-wrap: wrap;
}

.compra-etapas > div {
    flex: 1 1 0;
    min-width: 180px;
}

.compra-etapas .cardbg.border {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-md) !important;
    padding: var(--tcg-space-3) var(--tcg-space-4) !important;
    transition: border-color var(--tcg-transition-fast), transform var(--tcg-transition-fast);
}

.compra-etapas .cardbg.border:hover {
    border-color: var(--tcg-accent) !important;
    transform: translateY(-2px);
}

.compra-etapas .cardbg.border p {
    margin: 0;
    line-height: 1.5;
}

.compra-etapas .cardbg.border p strong {
    color: var(--tcg-accent-light);
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-base);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* --- Bloque grid: Datos Destinatario / Dirección / Pago / Estado --- */
.pedido-etapas-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--tcg-space-3);
    background: transparent !important;
    border: 0 !important;
    padding: 0;
}

.pedido-etapas-2 > .cardbg {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
    padding: var(--tcg-space-4) !important;
    transition: border-color var(--tcg-transition-fast), box-shadow var(--tcg-transition-fast);
}

.pedido-etapas-2 > .cardbg:hover {
    border-color: var(--tcg-accent);
    box-shadow: var(--tcg-shadow-md);
}

/* Suavizar el border-4 inline en "Datos de Pago" */
.pedido-etapas-2 > .cardbg.border-4 {
    border-width: 1px !important;
    border-color: var(--tcg-accent) !important;
    box-shadow: 0 0 0 1px var(--tcg-accent-muted);
}

.pedido-etapas-2 .card-body {
    padding: 0 !important;
}

.pedido-etapas-2 h5 {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-base);
    font-weight: var(--tcg-font-bold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: var(--tcg-space-3);
    padding-bottom: var(--tcg-space-2);
    border-bottom: 1px solid var(--tcg-border);
}

.pedido-etapas-2 .cardbg span {
    display: block;
    color: var(--tcg-text-secondary);
    font-size: var(--tcg-text-sm);
    line-height: 1.8;
}

.pedido-etapas-2 .cardbg span strong,
.pedido-etapas-2 .cardbg .bolded {
    color: var(--tcg-text);
    font-weight: var(--tcg-font-semibold);
}

.pedido-etapas-2 .cardbg a {
    color: var(--tcg-accent) !important;
    text-decoration: none;
    font-weight: var(--tcg-font-semibold);
    transition: color var(--tcg-transition-fast);
}

.pedido-etapas-2 .cardbg a:hover {
    color: var(--tcg-accent-light) !important;
    text-decoration: underline;
}

/* "Estado Actual" como pill verde */
.pedido-etapas-2 > .cardbg:last-child .row:last-child span {
    display: inline-block;
    background: rgba(34, 197, 94, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.35);
    color: var(--tcg-success) !important;
    padding: var(--tcg-space-2) var(--tcg-space-3);
    border-radius: var(--tcg-radius-full);
    font-weight: var(--tcg-font-semibold);
    line-height: 1.4;
}

.pedido-etapas-2 > .cardbg:last-child .row:last-child span strong {
    color: var(--tcg-success) !important;
}

/* --- Panel resumen derecho (#divResumen) --- */
#divResumen h5.bolded {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-base);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--tcg-space-3);
}

#divResumen hr {
    border-color: var(--tcg-border) !important;
    opacity: 1;
    margin: var(--tcg-space-3) 0;
}

#divResumen label {
    margin: 0;
    padding: 2px 0;
}

#divResumen label.small {
    font-size: var(--tcg-text-sm) !important;
    color: var(--tcg-text-secondary) !important;
    font-weight: 400;
}

#divResumen label.bolded.small {
    color: var(--tcg-text) !important;
    font-weight: var(--tcg-font-semibold);
}

#divResumen label.text-primary {
    color: var(--tcg-text) !important;
}

/* Resaltar la fila Total final */
#divResumen .row.g-0:last-child {
    margin-top: var(--tcg-space-2);
    padding-top: var(--tcg-space-2);
    border-top: 1px solid var(--tcg-border);
}

#divResumen .row.g-0:last-child label {
    color: var(--tcg-accent-light) !important;
    font-size: var(--tcg-text-base) !important;
    font-weight: var(--tcg-font-bold) !important;
}

/* --- Card del bloque dealer (Resumen + Forma Envío + tabla cartas) --- */
.section-wrapper .col-lg-9 > .cardbg.border {
    background: var(--tcg-bg-card) !important;
    border: 1px solid var(--tcg-border) !important;
    border-radius: var(--tcg-radius-lg) !important;
}

.left-panel h5,
.mid-panel h5 {
    color: var(--tcg-accent-light) !important;
    font-family: var(--tcg-font-display);
    font-size: var(--tcg-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--tcg-space-3);
}

.left-panel {
    border-color: var(--tcg-border) !important;
}

.left-panel .d-flex {
    color: var(--tcg-text-secondary);
    font-size: var(--tcg-text-sm);
    padding: 4px 0;
}

.left-panel .d-flex .bolded {
    color: var(--tcg-text);
    font-weight: var(--tcg-font-semibold);
}

.left-panel .d-flex:last-child {
    margin-top: var(--tcg-space-2);
    padding-top: var(--tcg-space-2);
    border-top: 1px solid var(--tcg-border);
}

.left-panel .d-flex:last-child span {
    color: var(--tcg-accent-light) !important;
    font-size: var(--tcg-text-base);
}

.mid-panel h4.bolded {
    color: var(--tcg-text) !important;
    font-weight: var(--tcg-font-semibold);
}

.mid-panel a {
    color: var(--tcg-accent) !important;
    font-weight: var(--tcg-font-semibold);
}

.mid-panel a:hover {
    color: var(--tcg-accent-light) !important;
}

/* --- Tabla de cartas del pedido --- */
.section-wrapper table.table {
    color: var(--tcg-text) !important;
    margin-top: var(--tcg-space-3);
    margin-bottom: 0;
}

.section-wrapper table.table thead th {
    background: var(--tcg-bg-elevated) !important;
    color: var(--tcg-text-secondary) !important;
    font-size: var(--tcg-text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-color: var(--tcg-border) !important;
    font-weight: var(--tcg-font-semibold);
    padding: var(--tcg-space-2) var(--tcg-space-3) !important;
}

.section-wrapper table.table tbody tr {
    background: transparent !important;
}

.section-wrapper table.table tbody tr:hover {
    background: var(--tcg-bg-elevated) !important;
}

.section-wrapper table.table tbody td,
.section-wrapper table.table tbody th {
    color: var(--tcg-text) !important;
    border-color: var(--tcg-border) !important;
    background: transparent !important;
    vertical-align: middle;
}

.section-wrapper table.table a {
    color: var(--tcg-accent) !important;
    text-decoration: none;
}

.section-wrapper table.table a:hover {
    color: var(--tcg-accent-light) !important;
    text-decoration: underline;
}

.section-wrapper table.table .bi-camera-fill {
    color: var(--tcg-accent) !important;
    font-size: 1.1rem;
}
