:root {
    --mk-radius-sm: .5rem;
    --mk-radius-md: .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;
    }
}

/* ==================== */
/* 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.35rem 0.7rem;
    min-height: 32px;
    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: rgba(8, 14, 11, 0.72);
    color: #eefcf4;
}

.players-badge {
    background: rgba(24, 40, 33, 0.88);
    border: 1px solid rgba(128, 214, 173, 0.18);
    color: #e9fff3;
}

.status-live-dot {
    display: inline-block;
    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--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);
}

.server-card--offline::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(20, 10, 10, 0.96));
}


.server-updated {
    display: inline-block;
    margin-top: 0.25rem;
    font-size: 0.73rem;
    color: rgba(225, 239, 231, 0.92);
    color: #eefcf4;
    padding: 0.35rem 0.7rem;
}

/* 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, .2);
    border-radius: var(--mk-radius-md);
    background: rgba(9, 15, 12, .88);
    padding: .9rem;
    min-height: 120px;
}

.market-filters .form-control,
.market-filters .form-select {
    background: rgba(12, 22, 17, .9);
    border: 1px solid rgba(132, 208, 167, .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, .6);
    box-shadow: 0 0 0 .2rem rgba(83, 180, 129, .18);
    background: rgba(12, 22, 17, .96);
    color: #f1fff7;
}

.market-filters.is-loading {
    opacity: .75;
    pointer-events: none;
}

.filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .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, .38);
    background: linear-gradient(180deg, rgba(48, 132, 90, .95), rgba(36, 103, 70, .95));
    color: #f2fff8;
    border-radius: var(--mk-radius-sm);
    padding: 0 .9rem;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.filter-btn:hover { color: #fff; background: linear-gradient(180deg, rgba(57, 148, 101, .95), rgba(41, 114, 78, .95)); }

.filter-btn.alt {
    background: rgba(16, 28, 21, .9);
    border-color: rgba(132, 208, 167, .25);
    color: #d8f4e6;
}

.filter-btn.alt:hover { background: rgba(24, 40, 31, .95); color: #f1fff7; }

.filter-chip-wrap {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    margin-top: .7rem;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .28rem .55rem;
    border-radius: var(--mk-radius-pill);
    border: 1px solid rgba(132, 208, 167, .35);
    background: rgba(13, 24, 18, .82);
    color: #dff5e9;
    font-size: .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, .22);
    border-radius: var(--mk-radius-md);
    background: linear-gradient(145deg, rgba(14, 24, 19, .92), rgba(8, 14, 11, .95));
    color: #d9f5e6;
    padding: .95rem 1rem;
    font-size: .9rem;
}

.market-msg.error {
    border-color: rgba(223, 110, 110, .45);
    background: linear-gradient(145deg, rgba(46, 17, 17, .92), rgba(26, 10, 10, .95));
    color: #ffd9d9;
}

.market-kv {
    font-size: .86rem;
    color: #edf9f2;
    margin-bottom: .3rem;
    line-height: 1.45;
}

.market-mini { font-size: .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: .7rem;
    align-content: start;
}

.market-entry {
    border: 1px solid rgba(132, 208, 167, .24);
    background: linear-gradient(145deg, rgba(16, 25, 20, .93), rgba(8, 14, 11, .95));
    border-radius: var(--mk-radius-md);
    padding: .85rem .65rem .65rem;
    color: #edfdf4;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: .6rem;
    text-align: left;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
    position: relative;
}

.market-entry:hover {
    transform: translateY(-1px);
    border-color: rgba(169, 242, 203, .48);
    box-shadow: 0 10px 18px rgba(0, 0, 0, .24);
}

.market-entry.active {
    border-color: rgba(142, 231, 184, .82);
    box-shadow: 0 0 0 1px rgba(142, 231, 184, .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, .92);
    outline-offset: 2px;
}

.market-entry-mark {
    position: absolute;
    top: .35rem;
    right: .35rem;
    font-size: .64rem;
    padding: .08rem .32rem;
    border-radius: var(--mk-radius-pill);
    border: 1px solid rgba(146, 231, 186, .4);
    background: rgba(22, 47, 34, .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, .28), rgba(45, 77, 56, .42));
    border: 1px solid rgba(163, 237, 198, .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: .9rem;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: .15rem;
    color: #ecfff5;
}

.market-entry-sub {
    font-size: .76rem;
    color: #bfe8d1;
    margin-bottom: .1rem;
}

.market-entry-price {
    font-size: .82rem;
    color: #b5ffd5;
    font-weight: 700;
}

.market-entry-expire {
    margin-top: .12rem;
    font-size: .73rem;
    color: #a9cfba;
}

.market-sidebar {
    border: 1px solid rgba(132, 208, 167, .22);
    border-radius: var(--mk-radius-lg);
    background: linear-gradient(145deg, rgba(14, 23, 18, .95), rgba(7, 12, 10, .96));
    min-height: 460px;
    position: sticky;
    top: 1rem;
    overflow: hidden;
}

.market-panel {
    display: none;
    padding: .95rem;
}

.market-panel.active { display: block; }
.market-panel[hidden] { display: none !important; }

.market-panel h5 {
    margin: 0 0 .4rem 0;
    color: #f1fff7;
    font-weight: 800;
}

.market-panel-head {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: .65rem;
    align-items: center;
    margin-bottom: .45rem;
}

.market-panel-thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--mk-radius-sm);
    border: 1px solid rgba(163, 237, 198, .24);
    overflow: hidden;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    background: radial-gradient(circle at 30% 30%, rgba(161, 255, 205, .28), rgba(45, 77, 56, .42));
}

.dino-stats-table { margin-top: .55rem; }

.dino-stat-row {
    border: 1px solid rgba(132, 208, 167, .18);
    border-radius: var(--mk-radius-sm);
    padding: .4rem .5rem;
    background: rgba(9, 15, 12, .45);
    margin-bottom: .35rem;
}

.dino-stat-head {
    display: grid;
    grid-template-columns: 86px minmax(150px, 1fr) auto;
    gap: .45rem;
    align-items: center;
    margin-bottom: .3rem;
    font-size: .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, .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: .35rem .55rem;
    border: 1px solid rgba(132, 208, 167, .26);
    border-radius: var(--mk-radius-sm);
    margin-right: .35rem;
    color: #eaf7f0;
    text-decoration: none;
    background: rgba(9, 15, 12, .72);
}

.market-pagination .active { background: rgba(43, 124, 85, .8); font-weight: 700; }

.copy-cmd-btn {
    margin: .4rem 0;
    border: 1px solid rgba(132, 208, 167, .35);
    background: rgba(10, 20, 14, .75);
    color: #dff5e9;
    border-radius: var(--mk-radius-sm);
    padding: .28rem .55rem;
    font-size: .78rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
}

.copy-cmd-btn:hover {
    background: rgba(23, 52, 37, .85);
    color: #f2fff8;
}

.quality-tier-pill {
    display: inline-flex;
    align-items: center;
    padding: .16rem .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, .95));
    font-weight: 700;
    font-size: .78rem;
    letter-spacing: .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: .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;
}

.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;
}
