:root {
    --mk-radius-sm: 0.5rem;
    --mk-radius-md: 0.75rem;
    --mk-radius-lg: 1rem;
    --mk-radius-pill: 999px;
}
/* ==================== */
/* Base                */
/* ==================== */

html {
    scroll-behavior: smooth;
}

body,
html {
    height: 100%;
}

body {
    background: #2f181d;
    text-rendering: optimizeLegibility;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    color: white;
}

body::after {
    background-image: url(../img/test-bg.webp);
    content: " ";
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 500;
    pointer-events: none;
    /* opacity: 0.6; */
}

.bg-default {
    background:
        linear-gradient(180deg, rgba(24, 63, 52, 0.5) 0%, rgba(0, 23, 15, 0.7) 100%) fixed 50% / cover,
        aliceblue url(../img/bg-general.webp) fixed 50% / cover;
}

.bg-night {
    background:
        linear-gradient(180deg, rgba(0, 37, 27, 0.5) 0%, rgba(0, 0, 0, 0.7) 100%) fixed 50% / cover,
        aliceblue url(../img/bg-dark.webp) fixed 50% / cover;
}

/* ==================== */
/* Footer              */
/* ==================== */

footer {
    clip-path: polygon(
        0% 0%,
        4% 5%,
        9% 2%,
        12% 2%,
        30% 0%,
        30% 18%,
        31% 0%,
        34% 0%,
        45% 3%,
        46% 7%,
        47% 2%,
        48% 0%,
        71% 4%,
        85% 1%,
        87% 9%,
        87% 23%,
        88% 6%,
        90% 0%,
        91% 14%,
        100% 2%,
        100% 100%,
        0% 100%
    );
    padding: 20px;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
    color: white;
}

/* ==================== */
/* Navigation          */
/* ==================== */
.bg-dark {
    background-color: rgba(0, 0, 0, 0.9) !important;
}

.nav-link:hover {
    color: #52cbae !important;
}

.navbar-dark .navbar-toggler {
    color: white;
    border-color: transparent;
}

.navbar-toggler:focus {
    box-shadow: none;
}

/* ==================== */
/* Home / Parallax     */
/* ==================== */
.parallax::after {
    background-image: linear-gradient(180deg, rgba(31, 20, 10, 1) 0%, rgba(0, 0, 0, 1) 100%);
    content: " ";
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 500;
    pointer-events: none;
    opacity: 0.75;
    z-index: 1;
}

.parallax {
    background-image:
        url("../img/parallax/bgn8.webp"), url("../img/parallax/bgn7.webp"), url("../img/parallax/bgn6.webp"), url("../img/parallax/bgn5.webp"),
        url("../img/parallax/bgn4.webp"), url("../img/parallax/bgn3.webp"), url("../img/parallax/bgn2.webp"), url("../img/parallax/bgn1.webp"),
        url("../img/parallax/bgn0.webp");
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-size: cover;
    position: fixed;
    overflow-y: scroll;
}

@media (max-width: 992px) {
    .parallax {
        background-image: url("../img/parallax/parallax-estaticov2.webp");
        background-size: cover;
        background-position: center center !important;
        position: relative;
    }
}

.home-video-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100svh;
    box-sizing: border-box;
    overflow: hidden;
    padding-bottom: 7rem;
}

.home-page {
    overflow: hidden;
}

.home-video-wrapper .navbar {
    position: relative;
    z-index: 3;
    flex-shrink: 0;
}

.home-video-content {
    position: relative;
    z-index: 2;
}

.home-video-wrapper video.poster__bg {
    position: fixed;
    top: -10px;
    left: 0;
    width: 100%;
    height: calc(100vh + 10px);
    height: calc(100svh + 10px);
    object-fit: cover;
    z-index: 0;
}

.home-video-wrapper .home-video-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100svh;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
    pointer-events: none;
}

.home-video-wrapper .on-top {
    position: relative;
    z-index: 2;
}

footer.footer-legacy {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    margin: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
}

footer.footer-legacy p {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .home-video-wrapper {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 9.25rem;
    }

    .home-video-content {
        justify-content: flex-start !important;
        padding-top: 1.25rem;
    }

    footer.footer-legacy {
        padding: 0.85rem 1rem;
    }

    .home-page {
        overflow: hidden;
    }

}

/* ==================== */
/* Text Utilities      */
/* ==================== */

.text-shadow {
    text-shadow: 1px 1px 3px black;
}

.legible-text {
    font-size: 1.1rem;
    letter-spacing: 0.5px;
}

/* ==================== */
/* Shared Utilities    */
/* ==================== */
.on-top {
    position: relative;
    z-index: 3;
}

/* ==================== */
/* Bootstrap Overrides */
/* ==================== */

/* ==================== */
/* Shop / Donations    */
/* ==================== */

.ambar {
    color: rgb(255, 182, 66);
    text-shadow: 0 0 15px rgb(255, 182, 66);
}

.sticky-top {
    top: 20px !important;
}

.shop-pack {
    transition: ease 0.2s;
}

.shop-pack:hover {
    outline: 1px solid #2e9b81;
    box-shadow: 0 2px 15px #2e9b81 !important;
    /* cursor: pointer; */
}

.shop-gacha {
    background: url("../img/tienda/bg_gacha_arkeologos.webp") no-repeat;
    background-size: cover;
    background-position: center;
    background-blend-mode: darken;
}

.shop-gacha__text {
    background: linear-gradient(45deg, #06ffa2, #dde405a3);
    display: inline-block;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    font-size: 26px;
    font-weight: bold;
}

.shop-pack__recommended {
    outline: 1px solid #f48e1b;
    animation: anim-pack 5s infinite;
}

@keyframes anim-pack {
    0% {
        box-shadow: 0 2px 15px #f48e1b;
    }

    50% {
        box-shadow: 0px 0px 20px 5px #f48e1b;
    }

    100% {
        box-shadow: 0 2px 15px #f48e1b;
    }
}

.shop-dinos__parent:hover {
    outline: 1px solid #2e9b81;
    box-shadow: 0 2px 15px #2e9b81 !important;
    cursor: pointer;
}

.shop-dinos__container {
    width: 100px;
    height: 100px;
    /* overflow: hidden; */
    margin: 0 auto;
}

.shop-dinos__img {
    object-fit: contain;
    width: 100%;
    height: 100%;
    /* Ajusta la altura según tus preferencias */
}

.border-beam {
    border: 2px solid rgb(255, 182, 66);
    animation: glow 1.5s infinite alternate;
}

@keyframes glow {
    from {
        box-shadow: 0 0 5px rgb(255, 182, 66);
    }

    to {
        box-shadow: 0 0 20px rgb(255, 182, 66);
    }
}

/* ==================== */
/* Servers             */
/* ==================== */
.servers-hero,
.contact-hero {
    margin-top: 2.25rem;
    margin-bottom: 1.5rem;
    padding: 1.6rem;
    border: 1px solid rgba(114, 195, 147, 0.24);
    border-radius: 1rem;
    background:
        radial-gradient(120% 130% at 0% 0%, rgba(62, 144, 102, 0.22), transparent 46%),
        radial-gradient(120% 130% at 100% 100%, rgba(37, 108, 78, 0.2), transparent 46%), rgba(8, 13, 11, 0.78);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}

.servers-kicker,
.contact-kicker {
    display: inline-block;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8fd6b0;
    margin-bottom: 0.55rem;
}

.rates-section {
    margin-top: 1.5rem;
    border: 1px solid rgba(114, 195, 147, 0.25);
    border-radius: 1rem;
    padding: 1.2rem;
    background: linear-gradient(145deg, rgba(12, 22, 17, 0.9), rgba(7, 12, 10, 0.96));
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

.rates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.8rem;
}

.rate-card {
    border-radius: 0.9rem;
    padding: 0.9rem;
    border: 1px solid rgba(133, 210, 167, 0.26);
    background: linear-gradient(145deg, rgba(18, 28, 22, 0.9), rgba(10, 16, 13, 0.97));
}

.rate-value {
    font-weight: 900;
    font-size: 1.1rem;
    margin: 0;
    color: #b6ffd6;
}

.rate-label {
    margin: 0;
    color: rgba(242, 250, 245, 0.98);
    font-size: 0.87rem;
}

.server-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}
.server-card {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    background-color: #1a1a1a;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
}
.server-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.5);
}
.status-badge {
    font-size: 0.75rem;
    letter-spacing: 0;
    padding: 0;
    min-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    border-radius: 999px;
    white-space: nowrap;
    text-align: center;
}

.status-badge--minimal {
    background: transparent;
    color: #eefcf4;
}

.status-live-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #4dff88;
    /* border: 1px solid rgba(0, 0, 0, 0.35); */
    box-shadow: 0 0 0 #4dff88;
    animation: livePulse 1.2s infinite;
    vertical-align: middle;
}

.status-live-dot--check {
    width: 9px;
    height: 9px;
    color: #06150b;
    font-size: 0.36rem;
}

.status-live-dot--offline {
    background: #ff7373;
    box-shadow: none;
    animation: none;
}

@keyframes livePulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 #4dff88;
    }

    70% {
        transform: scale(1.1);
        box-shadow: 0 0 0 8px transparent;
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(123, 255, 159, 0);
    }
}
.server-card__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--card-bg);
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}
.server-card:hover .server-card__bg {
    transform: scale(1.05);
}
.server-card__content {
    position: relative;
    z-index: 2;
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.8) 60%, rgba(0, 0, 0, 0.95) 100%);
}
.server-btn-connect {
    background-color: var(--card-color);
    color: white;
    border: none;
    padding: 0.6rem 1rem;
    border-radius: 0.5rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    transition: filter 0.2s;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.server-btn-connect:hover {
    filter: brightness(1.15);
    color: white;
}

/* ==================== */
/* Contact             */
/* ==================== */
.contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.contact-card {
    border-radius: 1rem;
    padding: 1rem;
    border: 1px solid rgba(138, 210, 171, 0.25);
    background: linear-gradient(150deg, rgba(13, 21, 17, 0.9), rgba(8, 12, 10, 0.94));
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
}

.contact-icon-wrap {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(220, 239, 228, 0.2);
    background: rgba(0, 0, 0, 0.24);
    margin-bottom: 0.7rem;
}

.contact-title {
    font-weight: 800;
    margin-bottom: 0.4rem;
    color: #f2fff8;
}

.contact-text {
    margin: 0;
    color: rgba(236, 248, 241, 0.96);
    line-height: 1.45;
}

.contact-discord {
    border-radius: 1rem;
    padding: 0.6rem;
    border: 1px solid rgba(138, 210, 171, 0.25);
    background: rgba(7, 11, 9, 0.82);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}

.contact-discord-link {
    display: block;
    border-radius: 0.7rem;
    overflow: hidden;
}

.contact-discord-link img {
    display: block;
    width: 100%;
    max-width: 728px;
    margin: 0 auto;
}

.accordion-button:not(.collapsed) {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #048143 !important;
}

.accordion-button::after {
    filter: invert(1) opacity(0.5);
}

.contact-card {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    backdrop-filter: blur(8px);
}

.contact-card:hover {
    transform: translateY(-5px);
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.contact-card:hover .icon-main {
    opacity: 1 !important;
    transform: scale(1.1);
    transition: 0.3s;
}

.discord-cta {
    background: rgba(0, 0, 0, 0.6);
}

/* FOOTER LAYOUT OVERRIDES */
footer.site-footer {
    padding: 0;
    background: rgba(8, 8, 8, 0.9);
    color: rgba(255, 255, 255, 0.92);
}

.site-footer__inner {
    padding-top: 3.35rem;
    padding-bottom: 1rem;
}

.site-footer__main {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.85fr);
    gap: 2.25rem;
    align-items: start;
}

.site-footer__title {
    margin: 0 0 0.9rem;
    color: #f1f1f1;
    font-size: 1.22rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.site-footer__description {
    max-width: 44rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.1rem;
    line-height: 1.5;
}

.site-footer__socials {
    display: flex;
    gap: 0.7rem;
    margin-top: 1rem;
}

.site-footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 700;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.site-footer__social:hover {
    color: #f1f1f1;
}

.site-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.site-footer__nav a {
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    font-size: 0.74rem;
}

.site-footer__nav a:hover {
    color: #f1f1f1;
}

.site-footer__bottom {
    margin-top: 1.35rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.site-footer__legal,
.site-footer__disclaimer {
    margin: 0;
}

.site-footer__legal {
    color: #f1f1f1;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.site-footer__disclaimer {
    margin-top: 0.25rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .site-footer__inner {
        padding-top: 3rem;
    }

    .site-footer__main {
        grid-template-columns: 1fr;
        gap: 1.4rem;
    }
}

@media (max-width: 575.98px) {
    .site-footer__inner {
        padding-top: 2.7rem;
        padding-bottom: 0.9rem;
    }

    .site-footer__title {
        font-size: 1.22rem;
    }

    .site-footer__description {
        font-size: 0.92rem;
    }

    .site-footer__nav a {
        font-size: 1.1rem;
    }

    .site-footer__legal {
        font-size: 0.74rem;
        letter-spacing: 0.04em;
    }

    .site-footer__disclaimer {
        font-size: 0.72rem;
    }
}

.site-footer__social::before {
    content: "";
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    background: currentColor;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.site-footer__social--discord::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36'%3E%3Cpath d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.24 8.07C2.79 33.03-1.71 57.3.54 81.21h.04a105.73 105.73 0 0 0 32.17 15.15 77.7 77.7 0 0 0 6.89-11.17 68.42 68.42 0 0 1-10.84-5.18c.91-.66 1.8-1.34 2.66-2.05a75.57 75.57 0 0 0 64.22 0c.87.71 1.76 1.39 2.66 2.05a68.68 68.68 0 0 1-10.86 5.19 77 77 0 0 0 6.89 11.16A105.25 105.25 0 0 0 126.6 81.2h.03c2.64-27.72-4.5-51.77-18.93-73.13ZM42.45 65.69C36.18 65.69 31 60 31 52.99s5.05-12.7 11.33-12.7 11.46 5.78 11.35 12.7c0 7-5.08 12.7-11.23 12.7Zm42.24 0c-6.27 0-11.45-5.69-11.45-12.7s5.05-12.7 11.45-12.7S96.15 46 96.15 53s-5.06 12.69-11.46 12.69Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36'%3E%3Cpath d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.24 8.07C2.79 33.03-1.71 57.3.54 81.21h.04a105.73 105.73 0 0 0 32.17 15.15 77.7 77.7 0 0 0 6.89-11.17 68.42 68.42 0 0 1-10.84-5.18c.91-.66 1.8-1.34 2.66-2.05a75.57 75.57 0 0 0 64.22 0c.87.71 1.76 1.39 2.66 2.05a68.68 68.68 0 0 1-10.86 5.19 77 77 0 0 0 6.89 11.16A105.25 105.25 0 0 0 126.6 81.2h.03c2.64-27.72-4.5-51.77-18.93-73.13ZM42.45 65.69C36.18 65.69 31 60 31 52.99s5.05-12.7 11.33-12.7 11.46 5.78 11.35 12.7c0 7-5.08 12.7-11.23 12.7Zm42.24 0c-6.27 0-11.45-5.69-11.45-12.7s5.05-12.7 11.45-12.7S96.15 46 96.15 53s-5.06 12.69-11.46 12.69Z'/%3E%3C/svg%3E");
}

.site-footer__social--youtube {
    color: #ff4d4d;
}

.site-footer__social--youtube:hover {
    color: #ffffff;
}

.site-footer__social--youtube::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.66 124.08c-6.28-23.64-24.8-42.17-48.44-48.44C458.18 64 288 64 288 64S117.82 64 74.78 75.64c-23.64 6.27-42.16 24.8-48.44 48.44C16 167.12 16 256 16 256s0 88.88 10.34 131.92c6.28 23.64 24.8 42.16 48.44 48.44C117.82 448 288 448 288 448s170.18 0 213.22-11.64c23.64-6.28 42.16-24.8 48.44-48.44C560 344.88 560 256 560 256s0-88.88-10.34-131.92ZM232 338.5v-165l142 82.5-142 82.5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.66 124.08c-6.28-23.64-24.8-42.17-48.44-48.44C458.18 64 288 64 288 64S117.82 64 74.78 75.64c-23.64 6.27-42.16 24.8-48.44 48.44C16 167.12 16 256 16 256s0 88.88 10.34 131.92c6.28 23.64 24.8 42.16 48.44 48.44C117.82 448 288 448 288 448s170.18 0 213.22-11.64c23.64-6.28 42.16-24.8 48.44-48.44C560 344.88 560 256 560 256s0-88.88-10.34-131.92ZM232 338.5v-165l142 82.5-142 82.5Z'/%3E%3C/svg%3E");
}

/* ==================== */
/* Market / Subastas   */
/* ==================== */

.market-page {
    position: relative;
}

.market-filters {
    border: 1px solid rgba(120, 197, 155, 0.2);
    border-radius: var(--mk-radius-md);
    background: rgba(9, 15, 12, 0.88);
    padding: 0.9rem;
    min-height: 120px;
}

.market-filters .form-control,
.market-filters .form-select {
    background: rgba(12, 22, 17, 0.9);
    border: 1px solid rgba(132, 208, 167, 0.22);
    color: #eaf7f0;
}

.market-filters .form-control::placeholder {
    color: #a9cdb9;
}

.market-filters .form-control:focus,
.market-filters .form-select:focus {
    border-color: rgba(147, 231, 188, 0.6);
    box-shadow: 0 0 0 0.2rem rgba(83, 180, 129, 0.18);
    background: rgba(12, 22, 17, 0.96);
    color: #f1fff7;
}

.market-filters.is-loading {
    opacity: 0.75;
    pointer-events: none;
}

.filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    width: 100%;
}

.filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 38px;
    border: 1px solid rgba(132, 208, 167, 0.38);
    background: linear-gradient(180deg, rgba(48, 132, 90, 0.95), rgba(36, 103, 70, 0.95));
    color: #f2fff8;
    border-radius: var(--mk-radius-sm);
    padding: 0 0.9rem;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
}

.filter-btn:hover {
    color: #fff;
    background: linear-gradient(180deg, rgba(57, 148, 101, 0.95), rgba(41, 114, 78, 0.95));
}

.filter-btn.alt {
    background: rgba(16, 28, 21, 0.9);
    border-color: rgba(132, 208, 167, 0.25);
    color: #d8f4e6;
}

.filter-btn.alt:hover {
    background: rgba(24, 40, 31, 0.95);
    color: #f1fff7;
}

.filter-chip-wrap {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-top: 0.7rem;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.55rem;
    border-radius: var(--mk-radius-pill);
    border: 1px solid rgba(132, 208, 167, 0.35);
    background: rgba(13, 24, 18, 0.82);
    color: #dff5e9;
    font-size: 0.76rem;
}

.filter-chip a {
    color: #b8f7d8;
    text-decoration: none;
    font-weight: 700;
    line-height: 1;
}

.filter-chip a:hover {
    color: #fff;
}

.market-msg {
    border: 1px solid rgba(132, 208, 167, 0.22);
    border-radius: var(--mk-radius-md);
    background: linear-gradient(145deg, rgba(14, 24, 19, 0.92), rgba(8, 14, 11, 0.95));
    color: #d9f5e6;
    padding: 0.95rem 1rem;
    font-size: 0.9rem;
}

.market-msg.error {
    border-color: rgba(223, 110, 110, 0.45);
    background: linear-gradient(145deg, rgba(46, 17, 17, 0.92), rgba(26, 10, 10, 0.95));
    color: #ffd9d9;
}

.market-kv {
    font-size: 0.86rem;
    color: #edf9f2;
    margin-bottom: 0.3rem;
    line-height: 1.45;
}

.market-mini {
    font-size: 0.78rem;
    color: #cce7d9;
}

.market-layout {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 430px;
    gap: 1rem;
    align-items: start;
}

.market-layout.market-layout--sparse {
    grid-template-columns: minmax(320px, 560px) 430px;
    justify-content: space-between;
}

.market-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.7rem;
    align-content: start;
}

.market-entry {
    border: 1px solid rgba(132, 208, 167, 0.24);
    background: linear-gradient(145deg, rgba(16, 25, 20, 0.93), rgba(8, 14, 11, 0.95));
    border-radius: var(--mk-radius-md);
    padding: 0.85rem 0.65rem 0.65rem;
    color: #edfdf4;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 0.6rem;
    text-align: left;
    transition:
        border-color 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
    position: relative;
}

.market-entry:hover {
    transform: translateY(-1px);
    border-color: rgba(169, 242, 203, 0.48);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.24);
}

.market-entry.active {
    border-color: rgba(142, 231, 184, 0.82);
    box-shadow: 0 0 0 1px rgba(142, 231, 184, 0.5) inset;
}

.market-entry:focus-visible,
.filter-btn:focus-visible,
.copy-cmd-btn:focus-visible,
.market-pagination a:focus-visible {
    outline: 2px solid rgba(164, 247, 202, 0.92);
    outline-offset: 2px;
}

.market-entry-mark {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    font-size: 0.64rem;
    padding: 0.08rem 0.32rem;
    border-radius: var(--mk-radius-pill);
    border: 1px solid rgba(146, 231, 186, 0.4);
    background: rgba(22, 47, 34, 0.72);
    color: #cbf7e1;
    display: none;
}

.market-entry.active .market-entry-mark {
    display: inline-flex;
}

.market-thumb {
    width: 56px;
    height: 56px;
    border-radius: var(--mk-radius-sm);
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    background: radial-gradient(circle at 30% 30%, rgba(161, 255, 205, 0.28), rgba(45, 77, 56, 0.42));
    border: 1px solid rgba(163, 237, 198, 0.24);
    overflow: hidden;
}

.market-thumb img,
.market-panel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
    display: block;
}

.market-entry-title {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 0.15rem;
    color: #ecfff5;
}

.market-entry-sub {
    font-size: 0.76rem;
    color: #bfe8d1;
    margin-bottom: 0.1rem;
}

.market-entry-price {
    font-size: 0.82rem;
    color: #b5ffd5;
    font-weight: 700;
}

.market-entry-expire {
    margin-top: 0.12rem;
    font-size: 0.73rem;
    color: #a9cfba;
}

.market-sidebar {
    border: 1px solid rgba(132, 208, 167, 0.22);
    border-radius: var(--mk-radius-lg);
    background: linear-gradient(145deg, rgba(14, 23, 18, 0.95), rgba(7, 12, 10, 0.96));
    min-height: 460px;
    position: sticky;
    top: 1rem;
    overflow: hidden;
}

.market-panel {
    display: none;
    padding: 0.95rem;
}

.market-panel.active {
    display: block;
}
.market-panel[hidden] {
    display: none !important;
}

.market-panel h5 {
    margin: 0 0 0.4rem 0;
    color: #f1fff7;
    font-weight: 800;
}

.market-panel-head {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 0.65rem;
    align-items: center;
    margin-bottom: 0.45rem;
}

.market-panel-thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--mk-radius-sm);
    border: 1px solid rgba(163, 237, 198, 0.24);
    overflow: hidden;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    background: radial-gradient(circle at 30% 30%, rgba(161, 255, 205, 0.28), rgba(45, 77, 56, 0.42));
}

.dino-stats-table {
    margin-top: 0.55rem;
}

.dino-stat-row {
    border: 1px solid rgba(132, 208, 167, 0.18);
    border-radius: var(--mk-radius-sm);
    padding: 0.4rem 0.5rem;
    background: rgba(9, 15, 12, 0.45);
    margin-bottom: 0.35rem;
}

.dino-stat-head {
    display: grid;
    grid-template-columns: 86px minmax(150px, 1fr) auto;
    gap: 0.45rem;
    align-items: center;
    margin-bottom: 0.3rem;
    font-size: 0.78rem;
}

.dino-stat-name {
    font-weight: 700;
    color: #e9fff3;
    min-width: 80px;
}

.dino-stat-points {
    color: #9fcdb6;
    text-align: center;
    white-space: nowrap;
}

.dino-stat-values {
    color: #ecfff6;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
    font-weight: 700;
}

.dino-stat-bar {
    width: 100%;
    height: 6px;
    border-radius: var(--mk-radius-pill);
    overflow: hidden;
    background: rgba(159, 228, 189, 0.14);
}

.dino-stat-bar > span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #4fc982, #90e2af);
}

.market-pagination a,
.market-pagination span {
    display: inline-block;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(132, 208, 167, 0.26);
    border-radius: var(--mk-radius-sm);
    margin-right: 0.35rem;
    color: #eaf7f0;
    text-decoration: none;
    background: rgba(9, 15, 12, 0.72);
}

.market-pagination .active {
    background: rgba(43, 124, 85, 0.8);
    font-weight: 700;
}

.copy-cmd-btn {
    margin: 0.4rem 0;
    border: 1px solid rgba(132, 208, 167, 0.35);
    background: rgba(10, 20, 14, 0.75);
    color: #dff5e9;
    border-radius: var(--mk-radius-sm);
    padding: 0.28rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
}

.copy-cmd-btn:hover {
    background: rgba(23, 52, 37, 0.85);
    color: #f2fff8;
}

.quality-tier-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.16rem 0.5rem;
    border-radius: var(--mk-radius-pill);
    border: 1px solid var(--tier-color, #6f7a72);
    color: var(--tier-color, #d7ece1);
    background: color-mix(in srgb, var(--tier-color, #6f7a72) 22%, rgba(8, 15, 11, 0.95));
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.01em;
}

.visually-hidden-live {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1100px) {
    .market-layout,
    .market-layout.market-layout--sparse {
        grid-template-columns: 1fr;
    }
    .market-sidebar {
        position: static;
        min-height: 0;
    }
}

@media (max-width: 576px) {
    .filter-actions {
        grid-template-columns: 1fr;
    }
    .market-entry {
        grid-template-columns: 48px 1fr;
    }
    .market-thumb {
        width: 48px;
        height: 48px;
        font-size: 1.1rem;
    }
    .market-panel-head {
        grid-template-columns: 52px 1fr;
    }
    .market-panel-thumb {
        width: 52px;
        height: 52px;
        font-size: 1.1rem;
    }
    .dino-stat-head {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }
    .dino-stat-points,
    .dino-stat-values {
        text-align: left;
    }
}

.donations-hero__copy {
    max-width: 800px;
}

.donations-hidden {
    display: none;
}

.donations-divider {
    height: 20px;
}

.donations-dino-col {
    min-width: 200px;
}

.donations-dino-card {
    min-height: 236px;
}

.shop-pack-container {
    perspective: 1000px;
    position: relative;
}

.shop-pack {
    background: rgba(0, 0, 0, 0.45) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.shop-pack:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}

.pack-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.shop-pack:hover .pack-glow {
    opacity: 1;
}

.recommended-badge {
    position: absolute;
    top: 30px;
    right: -35px;
    background: #ffc107;
    color: #000;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 5px 35px;
    transform: rotate(45deg);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.pack-img {
    width: 130px;
    filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.5));
    transition: transform 0.3s;
}

.shop-pack:hover .pack-img {
    transform: scale(1.1) rotate(2deg);
}

.paypal-btn {
    width: 140px;
    filter: grayscale(0.2) opacity(0.8);
    transition: 0.3s;
}

.shop-pack:hover .paypal-btn {
    filter: grayscale(0) opacity(1);
}

.gacha-event-container {
    position: relative;
    z-index: 1;
}

.gacha-box {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.85) 0%, rgba(10, 30, 15, 0.95) 100%) !important;
    border: 2px solid rgba(25, 135, 84, 0.2);
    box-shadow:
        0 0 30px rgba(0, 0, 0, 0.5),
        inset 0 0 20px rgba(25, 135, 84, 0.1);
    position: relative;
    overflow: hidden;
}

.gacha-scanner-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #198754, transparent);
    z-index: 2;
    animation: scanMove 4s linear infinite;
    opacity: 0.5;
}

@keyframes scanMove {
    0% {
        top: 0;
    }

    100% {
        top: 100%;
    }
}

.gacha-status-dot {
    width: 8px;
    height: 8px;
    background-color: #198754;
    border-radius: 50%;
    box-shadow: 0 0 10px #198754;
    animation: pulseGlow 1.5s infinite;
}

@keyframes pulseGlow {
    0% {
        opacity: 0.4;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.4;
    }
}

.btn-gacha-main {
    background: rgba(25, 135, 84, 0.1);
    border: 1px solid rgba(25, 135, 84, 0.4);
    color: #198754;
    padding: 10px 20px;
    font-size: 0.8rem;
    font-weight: bold;
    letter-spacing: 1px;
    transition: all 0.3s;
    border-radius: 4px;
}

.btn-gacha-main:hover {
    background: #198754;
    color: #000;
    box-shadow: 0 0 15px rgba(25, 135, 84, 0.5);
}

.gacha-terminal-info {
    background: #050a05;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
}

.gacha-terminal-info--hidden {
    display: none;
}

.terminal-header {
    background: rgba(255, 255, 255, 0.05);
    padding: 8px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.terminal-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.terminal-dot.red {
    background: #ff5f56;
}

.terminal-dot.yellow {
    background: #ffbd2e;
}

.terminal-dot.green {
    background: #27c93f;
}

.gacha-visual-icon {
    font-size: 8rem;
    color: rgba(25, 135, 84, 0.1);
    filter: drop-shadow(0 0 20px rgba(25, 135, 84, 0.2));
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

/* --- BASE TERMINAL (Tu idea) --- */
.dino-terminal-wrapper {
    background: rgba(5, 15, 10, 0.9);
    border: 1px solid rgba(25, 135, 84, 0.3);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    /* Aplicamos el clip-path de tu idea */
    clip-path: polygon(0 0, 100% 0, 100% 98%, 98% 100%, 0 100%);
    backdrop-filter: blur(10px);
}

/* --- TARJETAS TIPO SLOT DE INVENTARIO --- */
.donations-dino-card {
    background: rgba(255, 255, 255, 0.03) !important; /* Sobreescribimos bg-dark */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 15px;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.donations-dino-card:hover {
    background: rgba(25, 135, 84, 0.1) !important;
    border-color: #198754 !important;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

/* Variante DLC Dorada Sutil */
.border-beam {
    border-color: rgba(255, 193, 7, 0.25) !important;
}

.border-beam:hover {
    border-color: #ffc107 !important;
    background: rgba(255, 193, 7, 0.08) !important;
    box-shadow: 0 0 15px rgba(255, 193, 7, 0.1) !important;
}

/* --- AJUSTES DE CONTENIDO --- */
.shop-dinos__img {
    width: 100%;
    height: 100px;
    object-fit: contain;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.5));
    transition: transform 0.3s ease;
}

.donations-dino-card:hover .shop-dinos__img {
    transform: scale(1.1);
}

#nombre-dino {
    font-size: 0.8rem;
    color: #e0e0e0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.25;
}

.border-beam #nombre-dino {
    color: #ffc107 !important;
}

#precio-dino {
    font-size: 0.85rem;
    color: #198754;
    font-family: "Courier New", Courier, monospace;
}

.border-beam #precio-dino {
    color: #ffc107;
}

/* --- BUSCADORES TÁCTICOS --- */
.bg-dark.p-4 {
    /* Los contenedores de tus filtros */
    background: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.form-control,
.form-select {
    background-color: rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(25, 135, 84, 0.3) !important;
    color: #fff !important;
    font-size: 0.9rem !important;
}

.form-control:focus,
.form-select:focus {
    border-color: #198754 !important;
    box-shadow: 0 0 8px rgba(25, 135, 84, 0.2) !important;
}

/* --- RESPONSIVE FIX --- */
@media (max-width: 992px) {
    .sticky-top {
        position: relative !important;
        top: 0 !important;
        margin-bottom: 20px;
    }
}

.donations-section-title {
    letter-spacing: 3px;
}

.donations-status-dot {
    width: 8px;
    height: 8px;
    background: #198754;
    border-radius: 50%;
    box-shadow: 0 0 8px #198754;
}

.donations-panel-title {
    color: #198754;
    font-size: 0.9rem;
}

.dino-diagnostics,
#dino-info {
    min-width: 0;
}

.dino-diagnostics__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: start;
}

.dino-diagnostics__name {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.15;
}

.dino-diagnostics__id {
    flex-shrink: 0;
    margin-top: 0.08rem;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

#dino-cmd {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 575.98px) {
    .dino-diagnostics__heading {
        grid-template-columns: 1fr;
    }

    .dino-diagnostics__id {
        justify-self: start;
    }
}
