:root {
    --mh-ink: #fff8f7;
    --mh-muted: #b8aaaa;
    --mh-night: #060606;
    --mh-panel: #120d0d;
    --mh-line: rgba(255, 216, 210, .12);
    --mh-green: #57dd8d;
    --mh-primary: #e63832;
    --mh-gold: #ffbd4a;
    --mh-shadow: 0 30px 80px rgba(0, 0, 0, .46);
}

html { scroll-behavior: smooth; }
body {
    background:
        radial-gradient(circle at 78% 4%, color-mix(in srgb, var(--mh-primary) 20%, transparent), transparent 30rem),
        radial-gradient(circle at 5% 38%, rgba(120, 12, 17, .12), transparent 28rem),
        var(--mh-night);
    color: var(--mh-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-height: 100vh;
}

a { text-decoration: none; }
.mh-site-shell { min-height: 100vh; overflow: hidden; position: relative; }
.mh-site-shell::before {
    background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 44px 44px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(to bottom, black, transparent 78%);
    pointer-events: none;
    position: absolute;
}

.mh-announcement {
    align-items: center;
    background: #080606;
    border-bottom: 1px solid var(--mh-line);
    color: #bba8a6;
    display: flex;
    font-size: .76rem;
    font-weight: 600;
    justify-content: center;
    letter-spacing: .03em;
    min-height: 34px;
    padding: 7px 20px;
    text-align: center;
}

.mh-header {
    backdrop-filter: blur(18px);
    background: rgba(7, 5, 5, .88);
    border-bottom: 1px solid var(--mh-line);
    position: relative;
    z-index: 20;
}
.mh-navbar { min-height: 78px; padding: 0; }
.mh-brand { align-items: center; color: #fff !important; display: inline-flex; font-size: 1.12rem; font-weight: 850; gap: 11px; letter-spacing: -.035em; }
.mh-logo { height: auto; max-height: 54px; max-width: 190px; object-fit: contain; }
.mh-footer-logo { max-height: 66px; max-width: 220px; }
.mh-nav-links { gap: 10px; }
.mh-nav-links .nav-link {
    border: 1px solid transparent;
    border-radius: 12px;
    color: #c4c9dc;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .01em;
    min-width: 112px;
    padding: 14px 21px !important;
    text-align: center;
    transition: .16s ease;
}
.mh-nav-links .nav-link:hover, .mh-nav-links .nav-link.active {
    background: color-mix(in srgb, var(--mh-primary) 16%, transparent);
    border-color: color-mix(in srgb, var(--mh-primary) 28%, transparent);
    color: #fff;
}
.mh-nav-actions { gap: 10px; margin-left: auto; }

@media (min-width: 1200px) {
    .mh-navbar .container { position: relative; }
    .mh-nav-links {
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
    }
}

.mh-btn-primary, .mh-btn-ghost, .mh-btn-register, .mh-copy-button {
    align-items: center;
    border-radius: 11px;
    display: inline-flex;
    font-size: .81rem;
    font-weight: 720;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    transition: .17s ease;
}
.mh-btn-primary, .btn-primary {
    background: linear-gradient(135deg, color-mix(in srgb, var(--mh-primary) 84%, white), var(--mh-primary) 58%, color-mix(in srgb, var(--mh-primary) 62%, #430509)) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 12px 30px color-mix(in srgb, var(--mh-primary) 27%, transparent);
    color: #fff !important;
}
.mh-btn-primary:hover, .btn-primary:hover { box-shadow: 0 16px 38px color-mix(in srgb, var(--mh-primary) 39%, transparent); transform: translateY(-1px); }
.mh-btn-ghost { background: rgba(255,255,255,.035); border: 1px solid var(--mh-line); color: #eee4e3; }
.mh-btn-ghost:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.18); color: #fff; }
.mh-btn-register { background: color-mix(in srgb, var(--mh-primary) 10%, transparent); border: 1px solid color-mix(in srgb, var(--mh-primary) 38%, transparent); color: #ffb0aa; }
.mh-btn-register:hover { background: color-mix(in srgb, var(--mh-primary) 20%, transparent); border-color: color-mix(in srgb, var(--mh-primary) 65%, transparent); color: #fff; transform: translateY(-1px); }
.navbar-toggler { border: 1px solid var(--mh-line); }

.mh-hero-banner {
    align-items: center;
    background-image: var(--mh-hero-image);
    background-position: center 45%;
    background-size: cover;
    border-bottom: 1px solid color-mix(in srgb, var(--mh-primary) 20%, transparent);
    display: flex;
    min-height: 710px;
    overflow: hidden;
    position: relative;
}
.mh-hero-banner::before {
    background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--mh-primary) 18%, transparent), transparent 34%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.mh-hero-shade {
    background: linear-gradient(90deg, rgba(3,3,3,.86), rgba(5,3,3,.5) 50%, rgba(3,3,3,.8)), linear-gradient(0deg, #060606 0%, transparent 34%, rgba(3,3,3,.18) 74%, rgba(3,3,3,.52) 100%);
    inset: 0;
    position: absolute;
}
.mh-hero-content { align-items: center; display: flex; flex-direction: column; padding-bottom: 72px; padding-top: 76px; text-align: center; z-index: 2; }
.mh-hero-logo { filter: drop-shadow(0 22px 32px rgba(0,0,0,.78)) drop-shadow(0 0 24px color-mix(in srgb, var(--mh-primary) 16%, transparent)); height: auto; margin-bottom: 10px; max-width: 660px; width: min(75vw, 660px); }
.mh-hero-content .mh-eyebrow { color: #f0d9d6; justify-content: center; margin-bottom: 10px; }
.mh-hero-kicker { color: #fff; font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; margin: 0; text-shadow: 0 2px 16px #000; }
.mh-hero-kicker span { color: #ff746a; }
.mh-hero-content .mh-lead { color: #d6c8c6; margin: 13px auto 24px; max-width: 660px; text-shadow: 0 2px 16px #000; }
.mh-hero-content .mh-hero-actions { justify-content: center; }
.mh-hero-content .mh-server-bar { margin-left: auto; margin-right: auto; }
.mh-player-count { align-items: center; display: flex; gap: 10px; min-width: 126px; text-align: left; }
.mh-player-count small, .mh-server-address small { color: #9c8e8d !important; }
.mh-server-divider { background: var(--mh-line); height: 34px; width: 1px; }
.mh-server-address { text-align: left; }

.mh-hero {
    align-items: center;
    display: grid;
    gap: 52px;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    min-height: 690px;
    padding-bottom: 88px;
    padding-top: 78px;
    position: relative;
}
.mh-eyebrow { align-items: center; color: #b7c0df; display: flex; font-size: .68rem; font-weight: 800; gap: 9px; letter-spacing: .16em; margin: 0 0 18px; text-transform: uppercase; }
.mh-live-dot { background: var(--mh-green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(84,228,155,.09), 0 0 18px rgba(84,228,155,.45); height: 7px; width: 7px; }
.mh-hero h1 { color: #fff; font-size: clamp(3.5rem, 6.4vw, 5.5rem); font-weight: 850; letter-spacing: -.07em; line-height: .93; margin: 0; }
.mh-hero h1 span { background: linear-gradient(105deg, color-mix(in srgb, var(--mh-primary) 62%, white), var(--mh-primary) 58%, #42c5f5); background-clip: text; color: transparent; }
.mh-lead { color: var(--mh-muted); font-size: 1.06rem; line-height: 1.72; margin: 25px 0 28px; max-width: 590px; }
.mh-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.mh-server-bar {
    align-items: center;
    background: rgba(9,7,7,.88);
    border: 1px solid color-mix(in srgb, var(--mh-primary) 21%, transparent);
    border-radius: 14px;
    box-shadow: var(--mh-shadow);
    display: flex;
    gap: 13px;
    margin-top: 28px;
    max-width: 760px;
    padding: 11px 12px 11px 15px;
}
.mh-server-dot { background: var(--mh-green); border-radius: 50%; box-shadow: 0 0 14px rgba(84,228,155,.48); height: 8px; width: 8px; }
.mh-server-dot.offline { background: #ff6b7f; box-shadow: 0 0 14px rgba(255,107,127,.45); }
.mh-server-bar small { color: #7f8bad; display: block; font-size: .56rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.mh-server-bar strong { color: #fff; display: block; font-size: .87rem; }
.mh-online-players { color: #a9b2c9; font-size: .73rem; font-weight: 650; }
.mh-copy-button { background: color-mix(in srgb, var(--mh-primary) 13%, transparent); border: 1px solid color-mix(in srgb, var(--mh-primary) 25%, transparent); color: #ffb3ac; margin-left: auto; min-height: 38px; }

.mh-hero-art { height: 520px; position: relative; }
.mh-orbit { background: radial-gradient(circle, color-mix(in srgb, var(--mh-primary) 19%, transparent), rgba(56,189,248,.03) 46%, transparent 68%); border: 1px solid color-mix(in srgb, var(--mh-primary) 10%, transparent); border-radius: 50%; height: 470px; inset: 20px 0 auto auto; position: absolute; width: 470px; }
.mh-orbit::before, .mh-orbit::after { border: 1px dashed color-mix(in srgb, var(--mh-primary) 19%, transparent); border-radius: 50%; content: ""; inset: 48px; position: absolute; transform: rotate(-18deg); }
.mh-orbit::after { border-color: rgba(56,189,248,.11); inset: 102px; transform: rotate(31deg); }
.mh-world-card { background: linear-gradient(180deg, rgba(25,31,61,.62), rgba(11,15,35,.88)), var(--mh-panel); border: 1px solid color-mix(in srgb, var(--mh-primary) 20%, transparent); border-radius: 28px; box-shadow: 0 40px 90px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06); height: 402px; left: 40px; overflow: hidden; position: absolute; top: 66px; transform: rotate(2.5deg); width: calc(100% - 62px); }
.mh-world-card::before { background: radial-gradient(circle at 70% 22%, color-mix(in srgb, var(--mh-primary) 42%, transparent), transparent 23%), linear-gradient(150deg, #111a3b 0 48%, #0a1027 48% 100%); content: ""; inset: 0; position: absolute; }
.mh-moon { background: linear-gradient(145deg, #d8ccff, var(--mh-primary)); border-radius: 50%; box-shadow: 0 0 45px color-mix(in srgb, var(--mh-primary) 48%, transparent); height: 56px; position: absolute; right: 58px; top: 52px; width: 56px; }
.mh-block-land { bottom: 0; height: 62%; left: 0; position: absolute; right: 0; }
.mh-block { background: linear-gradient(145deg, color-mix(in srgb, var(--mh-primary) 43%, #17132f), #201b4c); border: 1px solid rgba(199,184,255,.1); box-shadow: inset -10px -10px 18px rgba(4,5,18,.34), inset 6px 6px 14px rgba(175,139,255,.07); height: 66px; position: absolute; width: 66px; }
.mh-block.b1 { bottom: 0; left: 0; width: 132px; } .mh-block.b2 { bottom: 0; left: 132px; } .mh-block.b3 { bottom: 66px; left: 66px; }
.mh-block.b4 { bottom: 0; right: 0; width: 142px; } .mh-block.b5 { bottom: 66px; right: 76px; } .mh-block.b6 { bottom: 132px; right: 10px; } .mh-block.b7 { bottom: 0; left: 198px; width: 144px; }
.mh-tree-trunk { background: #251a48; bottom: 132px; height: 92px; left: 110px; position: absolute; width: 30px; }
.mh-tree-crown { background: linear-gradient(145deg, color-mix(in srgb, var(--mh-primary) 72%, #25194a), #3a2b78); border: 1px solid rgba(206,191,255,.14); bottom: 205px; box-shadow: 35px 22px 0 #4b358f, -32px 24px 0 #5d42b5; height: 65px; left: 92px; position: absolute; width: 65px; }
.mh-floating-chip { align-items: center; backdrop-filter: blur(12px); background: rgba(9,13,31,.82); border: 1px solid color-mix(in srgb, var(--mh-primary) 22%, transparent); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.28); display: flex; gap: 11px; padding: 12px 14px; position: absolute; z-index: 3; }
.mh-floating-chip.chip-one { left: 0; top: 152px; } .mh-floating-chip.chip-two { bottom: 48px; right: -6px; }
.mh-chip-icon { align-items: center; background: color-mix(in srgb, var(--mh-primary) 17%, transparent); border-radius: 10px; color: #c5b4ff; display: flex; height: 38px; justify-content: center; width: 38px; }
.mh-floating-chip small { color: #818cab; display: block; font-size: .62rem; }
.mh-floating-chip strong { color: #fff; display: block; font-size: .74rem; }

.mh-trust-strip { border-bottom: 1px solid var(--mh-line); border-top: 1px solid var(--mh-line); margin-bottom: 110px; }
.mh-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.mh-trust-item { align-items: center; border-right: 1px solid var(--mh-line); display: flex; gap: 14px; min-height: 96px; padding: 18px 27px; }
.mh-trust-item:first-child { border-left: 1px solid var(--mh-line); }
.mh-trust-item > i { color: color-mix(in srgb, var(--mh-primary) 78%, white); font-size: 1.25rem; }
.mh-trust-item strong { color: #fff; display: block; font-size: .8rem; margin-bottom: 3px; }
.mh-trust-item span { color: #818cab; font-size: .68rem; }

.mh-section { padding-bottom: 118px; position: relative; }
.mh-section-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 38px; }
.mh-section-heading h2, .mh-discord-cta h2 { color: #fff; font-size: clamp(2.35rem, 4vw, 3.6rem); font-weight: 750; letter-spacing: -.055em; line-height: 1; margin: 0; }
.mh-section-heading > p { color: var(--mh-muted); line-height: 1.65; margin: 0; max-width: 460px; }
.mh-feature-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.mh-feature-card { background: linear-gradient(145deg, rgba(24,17,17,.94), rgba(10,8,8,.96)); border: 1px solid var(--mh-line); border-radius: 19px; min-height: 244px; padding: 25px; position: relative; transition: .18s ease; }
.mh-feature-card:hover { border-color: color-mix(in srgb, var(--mh-primary) 31%, transparent); transform: translateY(-3px); }
.mh-feature-icon { align-items: center; background: linear-gradient(145deg, color-mix(in srgb, var(--mh-primary) 20%, transparent), rgba(106,12,17,.08)); border: 1px solid color-mix(in srgb, var(--mh-primary) 18%, transparent); border-radius: 13px; color: #ff8177; display: flex; font-size: 1.2rem; height: 47px; justify-content: center; width: 47px; }
.mh-feature-card h3 { color: #fff; font-size: 1.08rem; margin: 24px 0 10px; }
.mh-feature-card p { color: #8994b5; font-size: .8rem; line-height: 1.72; margin: 0; }

.mh-discord-cta { align-items: center; background: radial-gradient(circle at 84% 15%, color-mix(in srgb, var(--mh-primary) 18%, transparent), transparent 31%), linear-gradient(135deg, color-mix(in srgb, var(--mh-primary) 42%, transparent), rgba(14,10,10,.96)); border: 1px solid color-mix(in srgb, var(--mh-primary) 27%, transparent); border-radius: 25px; box-shadow: var(--mh-shadow); display: flex; justify-content: space-between; padding: 44px 48px; }
.mh-discord-cta h2 { font-size: clamp(1.9rem, 3.5vw, 2.9rem); margin-bottom: 10px; }
.mh-discord-cta p { color: #a7b1cf; margin: 0; }

/* Pages Azuriom et extensions */
.mh-page { min-height: 720px; padding: 74px 0 110px; position: relative; }
.mh-page h1 { color: #fff; font-size: clamp(2.3rem, 4vw, 3.6rem); font-weight: 750; letter-spacing: -.055em; margin-bottom: 30px; }
.mh-page h2, .mh-page h3, .mh-page h4, .mh-page h5 { color: #eef0ff; }
.mh-page .card, .modal-content, .dropdown-menu, .list-group-item {
    background: linear-gradient(145deg, rgba(24,17,17,.97), rgba(10,8,8,.98));
    border: 1px solid var(--mh-line);
    border-radius: 18px;
    color: #dce1f2;
}
.mh-page .card { box-shadow: inset 0 1px 0 rgba(255,255,255,.025); overflow: hidden; }
.mh-page .card-header, .mh-page .card-footer { background: rgba(255,255,255,.02); border-color: var(--mh-line); }
.mh-page .card-img-top { max-height: 260px; object-fit: cover; }
.mh-page .text-muted, .mh-page .card-subtitle { color: #8490b0 !important; }
.mh-page .table { --bs-table-bg: transparent; --bs-table-color: #dce1f2; --bs-table-border-color: var(--mh-line); }
.mh-page .table > :not(caption) > * > * { padding: .9rem .75rem; }
.mh-page .form-control, .mh-page .form-select, .mh-page .input-group-text {
    background: rgba(255,255,255,.025);
    border: 1px solid var(--mh-line);
    border-radius: 11px;
    color: #fff;
}
.mh-page .form-control:focus, .mh-page .form-select:focus { border-color: color-mix(in srgb, var(--mh-primary) 55%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mh-primary) 9%, transparent); }
.mh-page .form-control::placeholder { color: #65708d; }
.mh-page .nav-tabs { border-color: var(--mh-line); }
.mh-page .nav-tabs .nav-link { border: 0; border-radius: 10px; color: #929dbb; }
.mh-page .nav-tabs .nav-link.active { background: color-mix(in srgb, var(--mh-primary) 14%, transparent); color: #fff; }
.mh-page .list-group-item + .list-group-item { border-top: 1px solid var(--mh-line); }
.mh-page .pagination .page-link { background: var(--mh-panel); border-color: var(--mh-line); color: #c9bcff; }
.mh-page .pagination .active .page-link { background: var(--mh-primary); color: #fff; }
.mh-page .progress { background: rgba(255,255,255,.05); }
.mh-page .progress-bar { background: linear-gradient(90deg, var(--mh-primary), #ff7d5f); }
.mh-page .alert { background: color-mix(in srgb, var(--mh-primary) 10%, #0d1329); border: 1px solid color-mix(in srgb, var(--mh-primary) 22%, transparent); color: #d8ceff; }
.dropdown-item { color: #bcc5df; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { background: color-mix(in srgb, var(--mh-primary) 15%, transparent); color: #fff; }

/* Boutique de points et achats récents */
.mh-page .shop-categories .card, .mh-page .products .card, .mh-page [class*="package"] .card { transition: .18s ease; }
.mh-page .shop-categories .card:hover, .mh-page .products .card:hover, .mh-page [class*="package"] .card:hover { border-color: color-mix(in srgb, var(--mh-primary) 31%, transparent); transform: translateY(-3px); }
.mh-page .card .price, .mh-page .card [class*="price"] { color: #fff; font-size: 1.5rem; font-weight: 800; }
.mh-page .recent-payments img, .mh-page [class*="payment"] img { border: 2px solid color-mix(in srgb, var(--mh-primary) 30%, transparent); border-radius: 12px; }
.mh-page .products .card-img-top, .mh-page [class*="package"] .card-img-top { background: radial-gradient(circle, color-mix(in srgb, var(--mh-primary) 18%, transparent), transparent 52%), #0b0808; height: 235px; object-fit: contain; padding: 18px; }

/* Page Vote MineHorizon */
.mh-vote-page { display: grid; gap: 28px; }
.mh-vote-hero, .mh-shop-hero {
    background:
        radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--mh-primary) 30%, transparent), transparent 22rem),
        linear-gradient(135deg, rgba(37, 8, 9, .92), rgba(9, 7, 7, .98));
    border: 1px solid color-mix(in srgb, var(--mh-primary) 28%, transparent);
    border-radius: 28px;
    box-shadow: var(--mh-shadow);
    overflow: hidden;
    padding: 48px;
    position: relative;
}
.mh-vote-hero::after, .mh-shop-hero::after {
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 34px 34px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(90deg, transparent, #000);
    pointer-events: none;
    position: absolute;
}
.mh-vote-hero-content, .mh-shop-hero-content { max-width: 720px; position: relative; z-index: 1; }
.mh-vote-hero h1, .mh-shop-hero h1 { font-size: clamp(2.8rem, 5vw, 5rem); line-height: .94; margin: 0 0 18px; }
.mh-vote-hero p, .mh-shop-hero p { color: #c4b8b7; font-size: 1rem; line-height: 1.7; margin: 0; max-width: 620px; }
.mh-vote-steps { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.mh-vote-step { align-items: center; background: rgba(255,255,255,.04); border: 1px solid var(--mh-line); border-radius: 999px; color: #d9cecd; display: inline-flex; font-size: .76rem; font-weight: 750; gap: 8px; padding: 9px 13px; }
.mh-vote-step span { align-items: center; background: var(--mh-primary); border-radius: 50%; color: #fff; display: inline-flex; font-size: .65rem; height: 22px; justify-content: center; width: 22px; }
.mh-vote-card {
    background: linear-gradient(145deg, rgba(25,17,17,.98), rgba(9,7,7,.99));
    border: 1px solid var(--mh-line);
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}
.mh-vote-card-body { padding: 34px; position: relative; text-align: center; }
.mh-vote-card-title { color: #fff; font-size: 1.45rem; font-weight: 800; margin-bottom: 8px; }
.mh-vote-card-copy { color: #988b8a; font-size: .86rem; margin: 0 auto 22px; max-width: 540px; }
.mh-vote-name-form .form-control { min-height: 52px; text-align: center; }
.mh-vote-name-form .btn { min-height: 48px; min-width: 150px; }
.mh-vote-sites { display: grid; gap: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mh-vote-site {
    align-items: center;
    background: linear-gradient(145deg, color-mix(in srgb, var(--mh-primary) 17%, #171010), #0c0909) !important;
    border: 1px solid color-mix(in srgb, var(--mh-primary) 25%, transparent) !important;
    border-radius: 17px !important;
    color: #fff !important;
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
    min-height: 154px;
    padding: 20px !important;
    transition: .18s ease;
}
.mh-vote-site:hover { border-color: color-mix(in srgb, var(--mh-primary) 62%, transparent) !important; transform: translateY(-4px); }
.mh-vote-site-icon { align-items: center; background: color-mix(in srgb, var(--mh-primary) 24%, transparent); border: 1px solid color-mix(in srgb, var(--mh-primary) 34%, transparent); border-radius: 14px; color: #ff8f87; display: flex; font-size: 1.25rem; height: 48px; justify-content: center; width: 48px; }
.mh-vote-site-name { font-size: .88rem; font-weight: 820; }
.mh-vote-site .vote-timer:empty { display: none; }
.mh-vote-goal { background: linear-gradient(145deg, rgba(28,18,18,.98), rgba(10,8,8,.98)); border: 1px solid var(--mh-line); border-radius: 20px; padding: 25px 28px; }
.mh-vote-goal-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 13px; }
.mh-vote-goal-head h2 { font-size: 1.15rem; margin: 0; }
.mh-vote-goal-head span { color: #ff9f96; font-size: .76rem; font-weight: 800; }
.mh-vote-goal .progress { border-radius: 999px; height: 11px; overflow: hidden; }
.mh-ranking-shell, .mh-rewards-shell { background: linear-gradient(145deg, rgba(22,15,15,.98), rgba(9,7,7,.99)); border: 1px solid var(--mh-line); border-radius: 24px; padding: 34px; }
.mh-panel-heading { align-items: end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 28px; }
.mh-panel-heading h2 { font-size: clamp(1.75rem, 3vw, 2.55rem); letter-spacing: -.045em; margin: 0; }
.mh-panel-heading p { color: #8f8382; font-size: .8rem; margin: 0; }
.mh-podium { align-items: end; display: grid; gap: 15px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto 26px; max-width: 850px; }
.mh-podium-card { background: rgba(255,255,255,.025); border: 1px solid var(--mh-line); border-radius: 20px; min-height: 206px; padding: 24px 18px; text-align: center; }
.mh-podium-card.is-first { background: radial-gradient(circle at 50% 0, rgba(255,187,65,.15), transparent 55%), rgba(255,255,255,.03); border-color: rgba(255,190,71,.3); min-height: 245px; padding-top: 30px; }
.mh-podium-avatar { border: 3px solid #7b7271; border-radius: 18px; height: 68px; object-fit: cover; width: 68px; }
.mh-podium-card.is-first .mh-podium-avatar { border-color: var(--mh-gold); height: 84px; width: 84px; }
.mh-podium-rank { align-items: center; background: #322727; border-radius: 999px; color: #fff; display: flex; font-size: .7rem; font-weight: 900; height: 28px; justify-content: center; margin: -14px auto 10px; position: relative; width: 42px; }
.mh-podium-card.is-first .mh-podium-rank { background: linear-gradient(135deg, #ffcf63, #c98710); color: #1a1100; }
.mh-podium-name { color: #fff; font-size: 1rem; font-weight: 850; margin: 0 0 4px; }
.mh-podium-votes { color: #9c8f8e; font-size: .76rem; margin: 0; }
.mh-ranking-list { display: grid; gap: 9px; }
.mh-ranking-row { align-items: center; background: rgba(255,255,255,.022); border: 1px solid rgba(255,255,255,.055); border-radius: 14px; display: grid; gap: 14px; grid-template-columns: 42px 42px 1fr auto; padding: 10px 14px; }
.mh-ranking-number { color: #ff8e86; font-size: .76rem; font-weight: 900; }
.mh-ranking-avatar { border-radius: 10px; height: 38px; object-fit: cover; width: 38px; }
.mh-ranking-name { color: #f7eeee; font-size: .84rem; font-weight: 750; }
.mh-ranking-score { background: color-mix(in srgb, var(--mh-primary) 13%, transparent); border: 1px solid color-mix(in srgb, var(--mh-primary) 20%, transparent); border-radius: 999px; color: #ffada7; font-size: .7rem; font-weight: 800; padding: 7px 10px; }
.mh-rewards-table { margin-bottom: 0; }
.mh-reward-name { align-items: center; display: flex; gap: 12px; }
.mh-reward-name img { border-radius: 10px; height: 42px; object-fit: contain; width: 42px; }

/* Boutique MineHorizon */
.mh-shop-page { display: grid; gap: 34px; }
.mh-shop-hero { align-items: center; display: flex; justify-content: space-between; min-height: 300px; }
.mh-shop-hero-visual { align-self: flex-end; filter: drop-shadow(0 25px 36px rgba(0,0,0,.6)); margin: -30px 0 -48px 34px; max-height: 330px; max-width: 340px; object-fit: contain; position: relative; width: 30vw; z-index: 1; }
.mh-shop-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.mh-shop-pill { align-items: center; background: rgba(255,255,255,.045); border: 1px solid var(--mh-line); border-radius: 999px; color: #ddd1d0; display: inline-flex; font-size: .72rem; font-weight: 750; gap: 7px; padding: 9px 12px; }
.mh-shop-section-heading { align-items: end; display: flex; justify-content: space-between; }
.mh-shop-section-heading h2 { font-size: clamp(1.8rem, 3.4vw, 3rem); letter-spacing: -.05em; margin: 0; }
.mh-shop-section-heading p { color: #918482; font-size: .82rem; margin: 0; max-width: 460px; text-align: right; }
.mh-packs-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mh-pack-card {
    background: linear-gradient(155deg, rgba(30,19,19,.98), rgba(8,6,6,.99));
    border: 1px solid var(--mh-line);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    min-height: 455px;
    overflow: hidden;
    padding: 18px;
    position: relative;
    transition: .2s ease;
}
.mh-pack-card::before { background: radial-gradient(circle, color-mix(in srgb, var(--mh-primary) 20%, transparent), transparent 65%); content: ""; height: 270px; left: 50%; position: absolute; top: -20px; transform: translateX(-50%); width: 270px; }
.mh-pack-card:hover { border-color: color-mix(in srgb, var(--mh-primary) 45%, transparent); box-shadow: 0 24px 55px rgba(0,0,0,.35); transform: translateY(-6px); }
.mh-pack-card.is-popular { border-color: color-mix(in srgb, var(--mh-primary) 48%, transparent); }
.mh-pack-badge { background: linear-gradient(135deg, #ff6960, #c41f21); border-radius: 999px; color: #fff; font-size: .64rem; font-weight: 900; letter-spacing: .06em; padding: 7px 11px; position: absolute; right: 14px; text-transform: uppercase; top: 14px; z-index: 2; }
.mh-pack-image-wrap { align-items: center; display: flex; height: 225px; justify-content: center; position: relative; z-index: 1; }
.mh-pack-image { filter: drop-shadow(0 16px 22px rgba(0,0,0,.62)); height: 210px; object-fit: contain; transition: .2s ease; width: 100%; }
.mh-pack-card:hover .mh-pack-image { transform: scale(1.04); }
.mh-pack-content { display: flex; flex: 1; flex-direction: column; padding: 6px 5px 4px; position: relative; z-index: 1; }
.mh-pack-kicker { color: #8f8281; font-size: .64rem; font-weight: 850; letter-spacing: .13em; margin-bottom: 5px; text-transform: uppercase; }
.mh-pack-points { color: #fff; font-size: clamp(1.75rem, 2.4vw, 2.35rem); font-weight: 900; letter-spacing: -.055em; line-height: 1; margin: 0; }
.mh-pack-bonus { color: #ff8b82; font-size: .76rem; font-weight: 800; margin: 9px 0 0; min-height: 22px; }
.mh-pack-note { color: #887b7a; font-size: .72rem; line-height: 1.55; margin: 8px 0 18px; }
.mh-pack-button { margin-top: auto; min-height: 46px; width: 100%; }
.mh-shop-lower { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); }
.mh-payments-panel, .mh-shop-account { background: linear-gradient(145deg, rgba(23,16,16,.98), rgba(9,7,7,.99)); border: 1px solid var(--mh-line); border-radius: 24px; padding: 28px; }
.mh-payments-panel .mh-panel-heading { margin-bottom: 18px; }
.mh-payment-list { display: grid; gap: 9px; }
.mh-payment-row { align-items: center; background: rgba(255,255,255,.023); border: 1px solid rgba(255,255,255,.055); border-radius: 14px; display: grid; gap: 13px; grid-template-columns: 46px 1fr auto; padding: 11px 13px; }
.mh-payment-avatar { border: 2px solid color-mix(in srgb, var(--mh-primary) 30%, transparent); border-radius: 12px; height: 42px; object-fit: cover; width: 42px; }
.mh-payment-player { color: #fff; font-size: .84rem; font-weight: 800; margin: 0; }
.mh-payment-date { color: #817574; font-size: .67rem; margin: 2px 0 0; }
.mh-payment-amount { color: #ffada7; font-size: .75rem; font-weight: 850; white-space: nowrap; }
.mh-payment-empty { color: #8e8281; margin: 0; padding: 20px 5px; text-align: center; }
.mh-shop-account h3 { font-size: 1.3rem; margin-bottom: 8px; }
.mh-shop-account > p { color: #8e8281; font-size: .78rem; line-height: 1.65; }
.mh-shop-user { align-items: center; background: rgba(255,255,255,.025); border: 1px solid var(--mh-line); border-radius: 16px; display: flex; gap: 13px; margin: 20px 0; padding: 13px; }
.mh-shop-user img { border-radius: 12px; height: 48px; object-fit: cover; width: 48px; }
.mh-shop-user strong { color: #fff; display: block; font-size: .86rem; }
.mh-shop-user span { color: #918482; display: block; font-size: .7rem; margin-top: 2px; }
.mh-shop-account .btn { min-height: 46px; width: 100%; }

/* Fenêtre d'achat d'un pack de points */
.modal-backdrop.show { opacity: .82; }
.mh-product-dialog { max-width: 1080px; padding: 18px; }
.mh-product-modal {
    background: #090707;
    border: 1px solid color-mix(in srgb, var(--mh-primary) 42%, transparent);
    border-radius: 30px;
    box-shadow: 0 40px 120px rgba(0,0,0,.78), 0 0 70px color-mix(in srgb, var(--mh-primary) 12%, transparent);
    overflow: hidden;
    position: relative;
}
.mh-product-close { background-color: rgba(0,0,0,.42); background-size: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; height: 38px; opacity: .9; padding: 0; position: absolute; right: 18px; top: 18px; width: 38px; z-index: 5; }
.mh-product-close:hover { background-color: rgba(255,255,255,.1); opacity: 1; }
.mh-product-grid { display: grid; grid-template-columns: minmax(350px, .92fr) minmax(0, 1.08fr); min-height: 590px; }
.mh-product-visual {
    align-items: center;
    background:
        radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--mh-primary) 33%, transparent), transparent 39%),
        linear-gradient(145deg, #241010, #0d0909 70%);
    border-right: 1px solid var(--mh-line);
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: 62px 34px 92px;
    position: relative;
}
.mh-product-visual::before { background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 34px 34px; content: ""; inset: 0; mask-image: radial-gradient(circle, #000, transparent 73%); position: absolute; }
.mh-product-orbit { border: 1px solid color-mix(in srgb, var(--mh-primary) 25%, transparent); border-radius: 50%; height: 330px; position: absolute; width: 330px; }
.mh-product-orbit::before, .mh-product-orbit::after { border: 1px dashed rgba(255,255,255,.09); border-radius: 50%; content: ""; inset: 30px; position: absolute; transform: rotate(20deg); }
.mh-product-orbit::after { inset: 76px; transform: rotate(-25deg); }
.mh-product-image { filter: drop-shadow(0 30px 35px rgba(0,0,0,.72)); max-height: 370px; max-width: 100%; object-fit: contain; position: relative; transform: scale(1.05); z-index: 1; }
.mh-product-badge { align-items: center; background: linear-gradient(135deg, #ff7167, #b9161b); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; box-shadow: 0 12px 26px rgba(0,0,0,.3); color: #fff; display: inline-flex; font-size: .68rem; font-weight: 900; gap: 7px; left: 22px; letter-spacing: .04em; padding: 9px 13px; position: absolute; text-transform: uppercase; top: 22px; z-index: 2; }
.mh-product-visual-caption { align-items: center; backdrop-filter: blur(12px); background: rgba(7,5,5,.76); border: 1px solid var(--mh-line); border-radius: 14px; bottom: 22px; color: #b9acab; display: flex; font-size: .7rem; font-weight: 700; gap: 10px; left: 22px; padding: 11px 13px; position: absolute; right: 22px; z-index: 2; }
.mh-product-visual-caption i { color: #ff857c; font-size: 1rem; }
.mh-product-details { display: flex; flex-direction: column; padding: 56px 50px 38px; }
.mh-product-details h2 { color: #fff; font-size: clamp(2.3rem, 4vw, 3.6rem); font-weight: 900; letter-spacing: -.06em; line-height: .98; margin: 0; padding-right: 34px; text-transform: uppercase; }
.mh-product-price-row { align-items: center; border-bottom: 1px solid var(--mh-line); display: flex; justify-content: space-between; margin: 28px 0 24px; padding-bottom: 24px; }
.mh-product-price { align-items: baseline; display: flex; gap: 10px; }
.mh-product-price del { color: #756867; font-size: .9rem; }
.mh-product-price strong { color: #fff; font-size: 2.15rem; font-weight: 900; letter-spacing: -.045em; }
.mh-product-secure { align-items: center; background: rgba(87,221,141,.07); border: 1px solid rgba(87,221,141,.18); border-radius: 999px; color: #78e9a6; display: inline-flex; font-size: .67rem; font-weight: 800; gap: 7px; padding: 8px 11px; }
.mh-product-description { color: #a99c9b; font-size: .86rem; line-height: 1.75; min-height: 58px; }
.mh-product-description > :last-child { margin-bottom: 0; }
.mh-product-purchase { background: rgba(255,255,255,.025); border: 1px solid var(--mh-line); border-radius: 18px; margin-top: 24px; padding: 17px; }
.mh-product-buy-form { align-items: end; display: flex; gap: 12px; }
.mh-product-field { flex: 1; }
.mh-product-field label { color: #a99c9b; display: block; font-size: .66rem; font-weight: 850; letter-spacing: .09em; margin-bottom: 7px; text-transform: uppercase; }
.mh-product-field .form-control { background: #100c0c; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; color: #fff; font-weight: 800; height: 52px; }
.mh-product-quantity { flex: 0 0 94px; }
.mh-product-submit { flex: 1; font-size: .83rem; min-height: 52px; width: 100%; }
.mh-product-cart-state { align-items: center; display: flex; gap: 14px; justify-content: space-between; }
.mh-product-cart-state > span { color: #75e5a1; font-size: .78rem; font-weight: 800; }
.mh-product-cart-state .mh-btn-ghost { min-height: 42px; }
.mh-product-unavailable { align-items: center; background: rgba(230,56,50,.08); border: 1px solid rgba(230,56,50,.2); border-radius: 12px; color: #ff918a; display: flex; font-size: .8rem; font-weight: 800; gap: 9px; padding: 13px; }
.mh-product-reassurance { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: auto; padding-top: 26px; }
.mh-product-reassurance span { align-items: center; color: #7f7372; display: flex; font-size: .65rem; font-weight: 700; gap: 7px; }
.mh-product-reassurance i { color: #c3534f; }

.mh-footer { border-top: 1px solid var(--mh-line); padding: 45px 0 28px; position: relative; }
.mh-footer-grid { display: grid; gap: 40px; grid-template-columns: 1.6fr .7fr .7fr; }
.mh-footer-about p { color: #7f8aa8; font-size: .76rem; line-height: 1.7; margin-top: 15px; max-width: 360px; }
.mh-footer-column h3 { color: #dbe0f3; font-size: .76rem; margin: 3px 0 13px; }
.mh-footer-column a { color: #7f8aa8; display: block; font-size: .76rem; margin: 9px 0; }
.mh-footer-column a:hover { color: #c6b6ff; }
.mh-footer-bottom { border-top: 1px solid var(--mh-line); color: #68738f; display: flex; font-size: .64rem; justify-content: space-between; margin-top: 38px; padding-top: 21px; }

@media (max-width: 991.98px) {
    .mh-navbar { padding: 12px 0; }
    .navbar-collapse { background: rgba(8,6,6,.98); border: 1px solid var(--mh-line); border-radius: 14px; margin-top: 12px; padding: 14px; }
    .mh-nav-actions { align-items: stretch !important; margin-top: 12px; }
    .mh-hero-banner { min-height: 670px; }
    .mh-hero { grid-template-columns: 1fr; padding-top: 62px; }
    .mh-hero-art { margin: -30px auto 0; max-width: 590px; width: 100%; }
    .mh-trust-grid, .mh-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .mh-vote-sites, .mh-packs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mh-shop-lower { grid-template-columns: 1fr; }
    .mh-product-dialog { max-width: 760px; }
    .mh-product-grid { grid-template-columns: 1fr; }
    .mh-product-visual { border-bottom: 1px solid var(--mh-line); border-right: 0; min-height: 380px; padding-bottom: 75px; }
    .mh-product-image { max-height: 275px; }
}

@media (max-width: 767.98px) {
    .mh-announcement { font-size: .65rem; }
    .mh-logo { max-width: 155px; }
    .mh-hero-banner { background-position: 55% center; min-height: 680px; }
    .mh-hero-content { padding-bottom: 52px; padding-top: 54px; }
    .mh-hero-logo { width: min(94vw, 520px); }
    .mh-hero-content .mh-lead { font-size: .9rem; }
    .mh-hero-content .mh-server-bar { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; max-width: 100%; width: 100%; }
    .mh-player-count, .mh-server-address { min-width: 0; }
    .mh-server-divider { display: none; }
    .mh-hero-content .mh-copy-button { grid-column: 1 / -1; margin: 0; width: 100%; }
    .mh-hero { gap: 25px; min-height: 0; padding-bottom: 62px; padding-top: 52px; }
    .mh-hero h1 { font-size: 3.05rem; }
    .mh-lead { font-size: .94rem; }
    .mh-server-bar { align-items: flex-start; flex-wrap: wrap; }
    .mh-copy-button { margin-left: 20px; }
    .mh-hero-art { height: 385px; }
    .mh-orbit { height: 355px; right: -15px; width: 355px; }
    .mh-world-card { height: 315px; left: 23px; top: 49px; width: calc(100% - 32px); }
    .mh-floating-chip.chip-one { top: 128px; } .mh-floating-chip.chip-two { bottom: 11px; right: 0; }
    .mh-moon { right: 35px; top: 35px; }
    .mh-block { height: 52px; width: 52px; }
    .mh-block.b1 { width: 104px; } .mh-block.b2 { left: 104px; } .mh-block.b3 { bottom: 52px; left: 52px; }
    .mh-block.b4 { width: 110px; } .mh-block.b5 { bottom: 52px; right: 58px; } .mh-block.b6 { bottom: 104px; } .mh-block.b7 { left: 156px; width: 112px; }
    .mh-tree-trunk { bottom: 104px; height: 74px; left: 87px; } .mh-tree-crown { bottom: 165px; left: 74px; }
    .mh-trust-strip { margin-bottom: 82px; }
    .mh-trust-grid, .mh-feature-grid, .mh-footer-grid { grid-template-columns: 1fr; }
    .mh-trust-item, .mh-trust-item:first-child { border-bottom: 1px solid var(--mh-line); border-left: 0; border-right: 0; }
    .mh-section { padding-bottom: 84px; }
    .mh-section-heading, .mh-discord-cta { align-items: flex-start; flex-direction: column; }
    .mh-discord-cta { gap: 24px; padding: 30px 24px; }
    .mh-footer-bottom { flex-direction: column; gap: 9px; }
    .mh-page { padding-top: 55px; }
    .mh-vote-hero, .mh-shop-hero { padding: 30px 23px; }
    .mh-vote-hero h1, .mh-shop-hero h1 { font-size: 2.75rem; }
    .mh-vote-sites, .mh-packs-grid, .mh-podium { grid-template-columns: 1fr; }
    .mh-podium { align-items: stretch; }
    .mh-podium-card, .mh-podium-card.is-first { min-height: 0; }
    .mh-podium-card.is-first { order: -1; }
    .mh-ranking-shell, .mh-rewards-shell, .mh-vote-card-body, .mh-payments-panel, .mh-shop-account { padding: 23px 18px; }
    .mh-panel-heading, .mh-shop-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .mh-shop-section-heading p { text-align: left; }
    .mh-shop-hero-visual { display: none; }
    .mh-ranking-row { grid-template-columns: 32px 38px 1fr auto; gap: 9px; padding-left: 10px; padding-right: 10px; }
    .mh-ranking-score { padding: 6px 8px; }
    .mh-payment-row { grid-template-columns: 42px 1fr; }
    .mh-payment-amount { grid-column: 2; }
    .mh-product-dialog { margin: 8px auto; padding: 8px; }
    .mh-product-modal { border-radius: 22px; }
    .mh-product-visual { min-height: 310px; padding: 52px 22px 68px; }
    .mh-product-orbit { height: 240px; width: 240px; }
    .mh-product-image { max-height: 230px; }
    .mh-product-badge { left: 15px; top: 15px; }
    .mh-product-visual-caption { bottom: 14px; left: 14px; right: 14px; }
    .mh-product-details { padding: 34px 20px 24px; }
    .mh-product-details h2 { font-size: 2.35rem; }
    .mh-product-price-row { align-items: flex-start; flex-direction: column; gap: 11px; margin-top: 20px; }
    .mh-product-buy-form, .mh-product-cart-state { align-items: stretch; flex-direction: column; }
    .mh-product-quantity { flex-basis: auto; }
    .mh-product-reassurance { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
}
