/* ===== Habluxe Profile Glow Effects ===== */

/* Main profile banner */
main .relative.overflow-hidden.rounded-2xl {
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        filter .35s ease;
    box-shadow:
        0 0 18px rgba(0, 229, 255, .18),
        0 0 40px rgba(0, 229, 255, .08);
}

main .relative.overflow-hidden.rounded-2xl:hover {
    transform: translateY(-4px);
    box-shadow:
        0 0 22px rgba(0, 229, 255, .55),
        0 0 55px rgba(0, 229, 255, .28),
        0 16px 35px rgba(0, 0, 0, .35);
}

/* Currency cards and profile panels */
main .bg-white.dark\:bg-gray-800.border,
main .w-full.flex.flex-col.rounded.border {
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease,
        filter .3s ease;
}

main .bg-white.dark\:bg-gray-800.border:hover,
main .w-full.flex.flex-col.rounded.border:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 229, 255, .65) !important;
    box-shadow:
        0 0 14px rgba(0, 229, 255, .45),
        0 0 34px rgba(0, 229, 255, .22),
        0 12px 26px rgba(0, 0, 0, .32);
}

/* Animated pulse on stat cards */
@keyframes habStatGlow {
    0%,
    100% {
        box-shadow:
            0 0 8px rgba(0, 229, 255, .12),
            0 0 18px rgba(0, 229, 255, .06);
    }

    50% {
        box-shadow:
            0 0 15px rgba(0, 229, 255, .38),
            0 0 30px rgba(0, 229, 255, .16);
    }
}

main .grid.grid-cols-2.lg\:grid-cols-4 > div {
    animation: habStatGlow 3s ease-in-out infinite;
}

/* Avatar glow */
main .relative.z-10 img {
    transition:
        transform .35s ease,
        filter .35s ease;
    filter:
        drop-shadow(0 0 8px rgba(0, 229, 255, .45));
}

main .relative.z-10 img:hover {
    transform: translateY(-7px) scale(1.06);
    filter:
        drop-shadow(0 0 14px rgba(0, 229, 255, .9))
        drop-shadow(0 0 30px rgba(0, 229, 255, .55));
}

/* Sidebar article cards */
main .swiper-slide {
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        filter .3s ease;
}

main .swiper-slide:hover {
    transform: translateY(-4px) scale(1.015);
    box-shadow:
        0 0 16px rgba(0, 229, 255, .45),
        0 0 35px rgba(0, 229, 255, .2);
    filter: brightness(1.08);
}

/* ===== Global CMS Effects ===== */

.bg-white,
.dark\:bg-gray-800,
.dark\:bg-gray-900,
.shadow,
[class*="rounded-lg"],
[class*="rounded-xl"],
[class*="rounded-2xl"] {
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease,
        filter .3s ease;
}

.bg-white:hover,
.dark\:bg-gray-800:hover,
.shadow:hover {
    border-color: rgba(0, 229, 255, .5) !important;
    box-shadow:
        0 0 14px rgba(0, 229, 255, .35),
        0 0 32px rgba(0, 229, 255, .16),
        0 12px 28px rgba(0, 0, 0, .28);
}

button,
a[class*="rounded"],
input[type="submit"] {
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease;
}

button:hover,
a[class*="rounded"]:hover,
input[type="submit"]:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow: 0 0 16px rgba(0, 229, 255, .35);
}

img {
    transition:
        transform .3s ease,
        filter .3s ease;
}

img:hover {
    filter: drop-shadow(0 0 10px rgba(0, 229, 255, .45));
}

input,
textarea,
select {
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

input:focus,
textarea:focus,
select:focus {
    border-color: rgba(0, 229, 255, .7) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, .3) !important;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ======================================================
   Habluxe Homepage
====================================================== */

.habluxe-homepage {
    width: 100%;
    position: relative;
}

.habluxe-home-hero {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    background: #0b1220;
    box-shadow:
        0 22px 55px rgba(0, 0, 0, .38),
        0 0 30px rgba(0, 229, 255, .08);
}

.habluxe-home-hero-bg {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    transform: scale(1.03);
    transition:
        transform 8s ease,
        filter .5s ease;
}

.habluxe-home-hero:hover .habluxe-home-hero-bg {
    transform: scale(1.09);
    filter: saturate(1.1) brightness(1.05);
}

.habluxe-home-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(5, 10, 22, .94) 0%,
            rgba(5, 10, 22, .78) 35%,
            rgba(5, 10, 22, .35) 67%,
            rgba(5, 10, 22, .55) 100%
        ),
        linear-gradient(
            0deg,
            rgba(5, 10, 22, .92) 0%,
            transparent 55%
        );
}

.habluxe-home-hero-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    left: -120px;
    top: -130px;
    border-radius: 999px;
    background: rgba(0, 229, 255, .15);
    filter: blur(90px);
    pointer-events: none;
}

.habluxe-home-hero-content {
    position: relative;
    z-index: 2;
    min-height: 360px;
    display: flex;
    align-items: center;
    gap: 3rem;
    padding: 3rem 4rem;
}

.habluxe-home-logo {
    width: 240px;
    max-width: 35%;
    flex-shrink: 0;
    filter:
        drop-shadow(0 10px 15px rgba(0, 0, 0, .7))
        drop-shadow(0 0 16px rgba(255, 193, 7, .18));
}

.habluxe-home-hero-text {
    max-width: 620px;
}

.habluxe-home-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: .4rem .8rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(0, 229, 255, .28);
    border-radius: 999px;
    background: rgba(0, 229, 255, .09);
    color: #a9f8ff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.habluxe-home-hero-text h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.7rem);
    font-weight: 900;
    line-height: 1.02;
    text-shadow:
        0 4px 18px rgba(0, 0, 0, .55),
        0 0 22px rgba(0, 229, 255, .12);
}

.habluxe-home-hero-text p {
    max-width: 590px;
    margin-top: 1.15rem;
    color: rgba(226, 232, 240, .86);
    font-size: 1.05rem;
    line-height: 1.75;
}

.habluxe-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: 1.7rem;
}

.habluxe-home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .75rem 1.35rem;
    border-radius: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        filter .22s ease,
        background-color .22s ease;
}

.habluxe-home-button:hover {
    transform: translateY(-3px);
    filter: brightness(1.08);
}

.habluxe-home-button-primary {
    background:
        linear-gradient(135deg, #14b86e, #0d8f59);
    color: #fff;
    box-shadow:
        0 10px 25px rgba(20, 184, 110, .28);
}

.habluxe-home-button-primary:hover {
    box-shadow:
        0 0 18px rgba(20, 184, 110, .45),
        0 14px 28px rgba(0, 0, 0, .35);
}

.habluxe-home-button-secondary {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(15, 23, 42, .65);
    color: #fff;
    backdrop-filter: blur(8px);
}

.habluxe-home-button-secondary:hover {
    border-color: rgba(0, 229, 255, .65);
    box-shadow:
        0 0 18px rgba(0, 229, 255, .24);
}

.habluxe-home-sections {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-top: 3.5rem;
}

.habluxe-home-section {
    position: relative;
    padding: 1.4rem;
    border: 1px solid rgba(255, 255, 255, .055);
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(23, 32, 51, .72),
            rgba(12, 20, 35, .52)
        );
    box-shadow:
        0 18px 45px rgba(0, 0, 0, .22);
}

.habluxe-home-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 14px;
    background: rgba(9, 16, 29, .62);
    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

.habluxe-home-card:hover {
    transform: translateY(-7px);
    border-color: rgba(0, 229, 255, .48);
    box-shadow:
        0 0 18px rgba(0, 229, 255, .2),
        0 17px 32px rgba(0, 0, 0, .34);
}

.habluxe-home-card img {
    transition:
        transform .4s ease,
        filter .4s ease;
}

.habluxe-home-card:hover img {
    transform: scale(1.045);
    filter: brightness(1.08) saturate(1.12);
}

.habluxe-home-photos {
    overflow: hidden;
    border-radius: 14px;
}

.habluxe-home-empty {
    grid-column: 1 / -1;
    padding: 3rem;
    border: 1px dashed rgba(255, 255, 255, .15);
    border-radius: 14px;
    text-align: center;
    color: rgba(226, 232, 240, .72);
}

@media (max-width: 900px) {
    .habluxe-home-hero-content {
        gap: 2rem;
        padding: 2.5rem;
    }

    .habluxe-home-logo {
        width: 190px;
    }
}

@media (max-width: 700px) {
    .habluxe-home-hero {
        min-height: 470px;
    }

    .habluxe-home-hero-content {
        min-height: 470px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 2rem;
    }

    .habluxe-home-logo {
        width: 180px;
        max-width: 70%;
    }

    .habluxe-home-hero-text h1 {
        font-size: 2.25rem;
    }

    .habluxe-home-section {
        padding: .8rem;
    }
}
/* ======================================================
   HABBO HOMEPAGE REDESIGN
   ====================================================== */

.habbo-home {
    --habbo-navy: #0b2538;
    --habbo-blue: #0876b9;
    --habbo-blue-dark: #075784;
    --habbo-green: #55b743;
    --habbo-green-dark: #347e2c;
    --habbo-gold: #f4c342;
    --habbo-surface: #ffffff;
    --habbo-page: #e8edf1;
    --habbo-border: #c4cdd4;
    --habbo-text: #263746;
    --habbo-muted: #71808c;

    width: 100%;
    color: var(--habbo-text);
}

.habbo-home *,
.habbo-home *::before,
.habbo-home *::after {
    box-sizing: border-box;
}

/* Hero */

.habbo-welcome {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid #071a28;
    border-radius: 8px;
    background-color: #123f5d;
    background-position: center;
    background-size: cover;
    box-shadow:
        0 3px 0 rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255, 255, 255, .08);
}

.habbo-welcome__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(5, 24, 37, .96) 0%,
            rgba(5, 24, 37, .84) 39%,
            rgba(5, 24, 37, .28) 72%,
            rgba(5, 24, 37, .48) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3, 17, 28, .78) 0%,
            transparent 45%
        );
}

.habbo-welcome__content {
    position: relative;
    z-index: 2;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    padding: 3rem 3.5rem;
}

.habbo-welcome__copy {
    max-width: 610px;
}

.habbo-welcome__label {
    display: inline-block;
    margin-bottom: .7rem;
    color: #8fd6ff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.habbo-welcome__copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 4.7rem);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.045em;
    text-shadow:
        0 3px 0 rgba(0, 0, 0, .3),
        0 8px 24px rgba(0, 0, 0, .45);
}

.habbo-welcome__copy p {
    max-width: 560px;
    margin: 1.15rem 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.7;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .35);
}

.habbo-welcome__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.65rem;
}

/* Buttons */

.habbo-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: .75rem 1.5rem;
    border: 2px solid rgba(0, 0, 0, .28);
    border-radius: 5px;
    color: #fff !important;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: .025em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow:
        inset 0 2px 0 rgba(255, 255, 255, .3),
        0 3px 0 rgba(0, 0, 0, .32);
    transition:
        transform .15s ease,
        filter .15s ease,
        box-shadow .15s ease;
}

.habbo-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow:
        inset 0 2px 0 rgba(255, 255, 255, .34),
        0 5px 0 rgba(0, 0, 0, .28);
}

.habbo-button:active {
    transform: translateY(1px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        0 1px 0 rgba(0, 0, 0, .3);
}

.habbo-button--green {
    background: linear-gradient(#6dca56, #3f9635);
}

.habbo-button--blue {
    background: linear-gradient(#1598dc, #0871aa);
}

/* User card */

.habbo-user-card {
    min-width: 285px;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 7px;
    background: rgba(8, 30, 46, .87);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .1),
        0 10px 30px rgba(0, 0, 0, .35);
    backdrop-filter: blur(5px);
}

.habbo-user-card__avatar {
    width: 88px;
    height: 100px;
    overflow: hidden;
    flex: 0 0 auto;
    border: 2px solid rgba(255, 255, 255, .22);
    border-radius: 5px;
    background:
        radial-gradient(circle at 50% 35%, #b7e4ff, #4b97c1);
}

.habbo-user-card__avatar img {
    width: 100%;
    height: 112px;
    object-fit: contain;
    object-position: center top;
}

.habbo-user-card__details {
    display: flex;
    flex-direction: column;
}

.habbo-user-card__details span {
    color: #9ddcff;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.habbo-user-card__details strong {
    margin-top: .2rem;
    color: #fff;
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1.1;
}

.habbo-user-card__details small {
    margin-top: .65rem;
    color: rgba(255, 255, 255, .7);
    font-size: .75rem;
}

/* Status strip */

.habbo-status {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.2rem;
    margin-top: 1rem;
    padding: .85rem 1rem;
    border: 1px solid #c5ced5;
    border-radius: 6px;
    background: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .8),
        0 2px 0 rgba(0, 0, 0, .08);
}

.habbo-status__item {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.habbo-status__icon {
    color: #59b94a;
    font-size: 1.2rem;
    text-shadow: 0 0 8px rgba(89, 185, 74, .5);
}

.habbo-status__item div {
    display: flex;
    align-items: baseline;
    gap: .35rem;
}

.habbo-status__item strong {
    color: #263746;
    font-size: 1.15rem;
    font-weight: 900;
}

.habbo-status__item span:last-child {
    color: #778590;
    font-size: .78rem;
    font-weight: 700;
}

.habbo-status__message {
    color: #697986;
    font-size: .82rem;
    font-weight: 600;
    text-align: center;
}

.habbo-status__button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: .55rem 1rem;
    border: 1px solid #317329;
    border-radius: 4px;
    background: linear-gradient(#6bc655, #439b38);
    color: #fff !important;
    font-size: .75rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .3),
        0 2px 0 rgba(0, 0, 0, .2);
}

/* Layout */

.habbo-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(290px, .75fr);
    align-items: start;
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.habbo-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Panels */

.habbo-panel {
    overflow: hidden;
    border: 1px solid var(--habbo-border);
    border-radius: 7px;
    background: var(--habbo-surface);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .85),
        0 3px 0 rgba(0, 0, 0, .08);
}

.habbo-panel__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid #d4dbe0;
    background: linear-gradient(#fbfcfd, #edf1f4);
}

.habbo-panel__header--compact {
    align-items: center;
}

.habbo-panel__eyebrow {
    display: block;
    margin-bottom: .15rem;
    color: var(--habbo-blue);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.habbo-panel__header h2 {
    margin: 0;
    color: #253747;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.1;
}

.habbo-panel__header p {
    max-width: 320px;
    margin: 0;
    color: #788691;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.55;
    text-align: right;
}

/* News */

.habbo-news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
    background: #eef2f5;
}

.habbo-news-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #cbd4da;
    border-radius: 6px;
    background: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .8),
        0 2px 0 rgba(0, 0, 0, .07);
    transition:
        transform .16s ease,
        box-shadow .16s ease;
}

.habbo-news-card:hover {
    transform: translateY(-3px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .8),
        0 5px 0 rgba(0, 0, 0, .1);
}

.habbo-news-card .article-image {
    height: 150px;
    margin-bottom: 0;
    background-position: center !important;
    background-size: cover !important;
}

.habbo-news-card h2,
.habbo-news-card h3 {
    color: #263746;
}

.habbo-news-card p {
    color: #71808b;
}

/* Photos */

.habbo-photo-wall {
    padding: .85rem;
    background: #eef2f5;
}

.habbo-photo-wall img {
    border-radius: 4px;
}

.habbo-photo-wall a {
    transition:
        transform .15s ease,
        filter .15s ease;
}

.habbo-photo-wall a:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

/* Promotion */

.habbo-promo-card {
    position: relative;
    overflow: hidden;
    padding: 1.5rem;
    border: 1px solid #07486d;
    border-radius: 7px;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 255, 255, .14), transparent 38%),
        linear-gradient(145deg, #1286c5, #075782);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        0 3px 0 rgba(0, 0, 0, .13);
}

.habbo-promo-card::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -55px;
    bottom: -65px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.habbo-promo-card__label {
    position: relative;
    z-index: 1;
    display: block;
    color: #bce9ff;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.habbo-promo-card h2 {
    position: relative;
    z-index: 1;
    margin: .45rem 0 0;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1.15;
}

.habbo-promo-card p {
    position: relative;
    z-index: 1;
    margin: .85rem 0 1.1rem;
    color: rgba(255, 255, 255, .8);
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.6;
}

.habbo-promo-card a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    padding: .65rem .9rem;
    border: 1px solid rgba(0, 0, 0, .24);
    border-radius: 4px;
    background: linear-gradient(#f5cf53, #d79e19);
    color: #4d3704 !important;
    font-size: .75rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .45),
        0 2px 0 rgba(0, 0, 0, .22);
}

/* Empty state */

.habbo-empty {
    grid-column: 1 / -1;
    padding: 3rem 1.5rem;
    border: 1px dashed #bdc8cf;
    border-radius: 6px;
    background: #f7f9fa;
    color: #788792;
    font-size: .9rem;
    font-weight: 700;
    text-align: center;
}

/* Dark mode compatibility */

html.dark .habbo-status,
html.dark .habbo-panel,
html.dark .habbo-news-card {
    border-color: #344453;
    background: #172431;
    color: #e7edf2;
}

html.dark .habbo-panel__header {
    border-bottom-color: #344453;
    background: linear-gradient(#1d2d3b, #162430);
}

html.dark .habbo-panel__header h2,
html.dark .habbo-status__item strong,
html.dark .habbo-news-card h2,
html.dark .habbo-news-card h3 {
    color: #edf5fb;
}

html.dark .habbo-news-grid,
html.dark .habbo-photo-wall {
    background: #101b25;
}

html.dark .habbo-panel__header p,
html.dark .habbo-status__message,
html.dark .habbo-news-card p {
    color: #a6b3bd;
}

/* Responsive */

@media (max-width: 1024px) {
    .habbo-home-grid {
        grid-template-columns: 1fr;
    }

    .habbo-sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .habbo-welcome__content {
        min-height: 420px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.5rem;
        padding: 2rem;
    }

    .habbo-user-card {
        width: 100%;
        min-width: 0;
    }

    .habbo-status {
        grid-template-columns: 1fr auto;
    }

    .habbo-status__message {
        display: none;
    }

    .habbo-news-grid {
        grid-template-columns: 1fr;
    }

    .habbo-sidebar {
        display: flex;
    }
}

@media (max-width: 480px) {
    .habbo-welcome {
        min-height: 440px;
    }

    .habbo-welcome__content {
        min-height: 440px;
        padding: 1.5rem;
    }

    .habbo-welcome__copy h1 {
        font-size: 2.6rem;
    }

    .habbo-welcome__actions,
    .habbo-button {
        width: 100%;
    }

    .habbo-panel__header {
        display: block;
    }

    .habbo-panel__header p {
        margin-top: .55rem;
        text-align: left;
    }

    .habbo-status {
        grid-template-columns: 1fr;
    }

    .habbo-status__button {
        width: 100%;
    }
}

/* ======================================================
   END HABBO HOMEPAGE REDESIGN
   ====================================================== */


/* Homepage photo component override */

.habbo-photo-wall > .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .65rem !important;
}

.habbo-photo-wall > .grid > a {
    display: block;
    min-width: 0;
}

.habbo-photo-wall > .grid > a > div {
    height: 150px !important;
    border-width: 1px !important;
    border-color: #c8d2d9;
    border-radius: 5px !important;
    background: #142432;
}

.habbo-photo-wall > .grid > a > div > img:first-child {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.habbo-photo-wall > .grid > a > div > div {
    right: .4rem;
    bottom: .4rem;
    left: .4rem;
    gap: .35rem !important;
    padding-right: .45rem !important;
    border-radius: 4px !important;
    background: rgba(10, 28, 41, .88) !important;
    color: #fff;
    backdrop-filter: blur(3px);
}

.habbo-photo-wall > .grid > a > div > div > div {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px;
    background: rgba(255, 255, 255, .1) !important;
}

.habbo-photo-wall > .grid > a > div > div > div img {
    width: 34px;
    height: 42px;
    object-fit: contain;
}

.habbo-photo-wall > .grid > a > div > div p {
    min-width: 0;
    overflow: hidden;
    margin: 0;
    color: #fff !important;
    font-size: .66rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1024px) and (min-width: 761px) {
    .habbo-photo-wall > .grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 420px) {
    .habbo-photo-wall > .grid {
        grid-template-columns: 1fr !important;
    }

    .habbo-photo-wall > .grid > a > div {
        height: 210px !important;
    }
}


/* Homepage polish */

.habbo-home {
    max-width: 1180px;
    margin: 0 auto;
}

.habbo-photo-wall img {
    background: #182937;
}

.habbo-photo-wall img[src=""],
.habbo-photo-wall img:not([src]) {
    visibility: hidden;
}

@media (min-width: 1400px) {
    .habbo-home {
        max-width: 1260px;
    }

    .habbo-home-grid {
        grid-template-columns: minmax(0, 1.9fr) minmax(320px, .75fr);
    }
}


/* ======================================================
   NEWS REDESIGN
   ====================================================== */

.habbo-panel__link{
    color:#7fc7ff;
    font-size:.78rem;
    font-weight:800;
    text-decoration:none;
    transition:.2s;
}

.habbo-panel__link:hover{
    color:#fff;
}

.habbo-featured-news{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:1.5rem;
    padding:1.25rem;
    border-bottom:1px solid rgba(255,255,255,.05);
}

.habbo-featured-news__image{
    position:relative;
    display:block;
    min-height:240px;
    border-radius:8px;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    box-shadow:0 8px 25px rgba(0,0,0,.28);
}

.habbo-featured-news__badge{
    position:absolute;
    top:12px;
    left:12px;
    background:#55b743;
    color:#fff;
    padding:.35rem .7rem;
    border-radius:4px;
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
}

.habbo-featured-news__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.habbo-featured-news__content h3{
    margin:.4rem 0 .8rem;
    font-size:2rem;
    line-height:1.15;
    font-weight:900;
}

.habbo-featured-news__content h3 a{
    color:inherit;
    text-decoration:none;
}

.habbo-featured-news__content p{
    margin:0 0 1.5rem;
    color:#8fa1ad;
    line-height:1.7;
}

.habbo-article-meta{
    display:flex;
    gap:.6rem;
    align-items:center;
    color:#6d8292;
    font-size:.78rem;
    font-weight:700;
}

.habbo-read-more{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    align-self:flex-start;
    padding:.7rem 1rem;
    border-radius:5px;
    background:#0876b9;
    color:#fff!important;
    font-weight:800;
    text-decoration:none;
}

.habbo-latest-news{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1rem;
    padding:1.25rem;
}

.habbo-latest-news-card{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:#182633;
    transition:.2s;
}

.habbo-latest-news-card:hover{
    transform:translateY(-3px);
}

.habbo-latest-news-card__image{
    display:block;
    height:150px;
    background-size:cover;
    background-position:center;
}

.habbo-latest-news-card__content{
    padding:1rem;
}

.habbo-latest-news-card h3{
    margin:.6rem 0 1rem;
    font-size:1.05rem;
    line-height:1.35;
}

.habbo-latest-news-card h3 a{
    color:#fff;
    text-decoration:none;
}

.habbo-latest-news-card__footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.habbo-article-author{
    display:flex;
    align-items:center;
    gap:.55rem;
    font-size:.8rem;
    font-weight:700;
}

.habbo-article-author__avatar{
    width:32px;
    height:32px;
    border-radius:50%;
    overflow:hidden;
    background:#233746;
    display:flex;
    align-items:center;
    justify-content:center;
}

.habbo-article-author__avatar img{
    width:38px;
    height:38px;
    object-fit:contain;
}

.habbo-latest-news-card__footer>a{
    color:#7fc7ff;
    text-decoration:none;
    font-size:1.2rem;
    font-weight:900;
}

@media(max-width:900px){

    .habbo-featured-news{
        grid-template-columns:1fr;
    }

    .habbo-featured-news__image{
        min-height:220px;
    }

}



/* Global header redesign */

.header-currency {
    min-width: 0;
    display: none;
    align-items: center;
    gap: .7rem;
    color: #93a4b7;
    white-space: nowrap;
}

.header-currency__icon {
    width: 34px;
    height: 34px;
    display: block;
    flex: 0 0 34px;
    border: 2px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow:
        inset 0 0 0 3px rgba(5, 15, 27, .6),
        0 2px 8px rgba(0, 0, 0, .25);
}

.header-currency__copy {
    display: flex;
    align-items: baseline;
    gap: .32rem;
    min-width: 0;
    line-height: 1;
}

.header-currency__copy strong {
    color: #fff;
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: .01em;
}

.header-currency__copy > span {
    color: #91a3b7;
    font-size: .82rem;
    font-weight: 600;
}

.site-nav {
    gap: .15rem;
}

.site-nav__item {
    position: relative;
    height: 100%;
    min-height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .48rem;
    padding: 0 .85rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #dbe5ee !important;
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .015em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition:
        color .15s ease,
        background .15s ease,
        border-color .15s ease;
}

.site-nav__item::before {
    content: "";
    position: absolute;
    right: .65rem;
    bottom: 6px;
    left: .65rem;
    height: 1px;
    background: transparent;
    transition: background .15s ease;
}

.site-nav__item:hover {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .035),
            rgba(255, 255, 255, .012)
        );
    color: #fff !important;
}

.site-nav__item:hover::before {
    background: rgba(255, 255, 255, .1);
}

.site-nav__item--active {
    border-bottom-color: #efb82d;
    background:
        linear-gradient(
            180deg,
            rgba(239, 184, 45, .08),
            rgba(239, 184, 45, .025)
        );
    color: #fff !important;
}

.site-nav__item--active::before {
    background: rgba(239, 184, 45, .28);
}

.site-nav__trigger {
    cursor: pointer;
}

.site-nav__item svg {
    width: 11px;
    height: 11px;
    opacity: .75;
}

.site-nav__item .navigation-icon {
    margin-right: 0 !important;
    flex: 0 0 auto;
}

.site-nav__symbol {
    color: #62bce7;
    font-size: .72rem;
    text-shadow: 0 1px 4px rgba(55, 173, 225, .4);
}

.site-nav__discord-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background: #5865f2;
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
}

.site-nav__dropdown {
    overflow: hidden;
    padding: .42rem;
    border: 1px solid #33495c;
    border-radius: 8px;
    background:
        linear-gradient(
            145deg,
            rgba(28, 45, 61, .99),
            rgba(17, 29, 42, .99)
        );
    box-shadow:
        0 16px 35px rgba(0, 0, 0, .38),
        inset 0 1px 0 rgba(255, 255, 255, .045);
}

.site-nav__dropdown-item {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: .62rem .72rem;
    border-radius: 5px;
    color: #cbd8e2 !important;
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none;
    transition:
        color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.site-nav__dropdown-item:hover {
    transform: translateX(2px);
    background: rgba(89, 176, 222, .11) !important;
    color: #fff !important;
}

.site-nav__dropdown-item + .site-nav__dropdown-item {
    border-top: 1px solid rgba(255, 255, 255, .045);
}

@media (min-width: 768px) {
    .header-currency {
        display: flex;
    }
}

@media (max-width: 1100px) {
    .site-nav__item {
        padding-right: .55rem;
        padding-left: .55rem;
        font-size: .63rem;
    }
}

@media (max-width: 767px) {
    .site-nav {
        align-items: stretch;
        gap: .2rem;
        height: auto;
        padding: .5rem;
    }

    .site-nav__item {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start;
        padding: 0 .85rem;
        border-bottom: 0;
        border-left: 3px solid transparent;
        border-radius: 5px;
    }

    .site-nav__item--active {
        border-left-color: #efb82d;
    }

    .site-nav__item::before {
        display: none;
    }

    .site-nav__dropdown {
        position: static !important;
        width: 100% !important;
        margin: .1rem 0 .4rem !important;
        transform: none !important;
    }
}



/* Safe original navigation refresh */

#mobile-menu {
    gap: .2rem;
}

/* Main navigation links and dropdown buttons */

#mobile-menu > .nav-item {
    position: relative;
    min-height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    margin-left: 0 !important;
    padding-right: .82rem;
    padding-left: .82rem;
    border-radius: 0;
    background: transparent;
    color: #d9e4ed !important;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .015em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition:
        color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}

#mobile-menu > .nav-item::after {
    content: "";
    position: absolute;
    right: .7rem;
    bottom: 7px;
    left: .7rem;
    height: 1px;
    background: transparent;
    transition: background .15s ease;
}

#mobile-menu > .nav-item:hover {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .045),
            rgba(255, 255, 255, .012)
        );
    color: #fff !important;
}

#mobile-menu > .nav-item:hover::after {
    background: rgba(255, 255, 255, .12);
}

/* Existing Atom active-state classes */

#mobile-menu > .nav-item[class*="border-b-[#eeb425]"] {
    background:
        linear-gradient(
            180deg,
            rgba(238, 180, 37, .1),
            rgba(238, 180, 37, .025)
        );
    color: #fff !important;
    box-shadow: inset 0 -1px 0 rgba(238, 180, 37, .22);
}

#mobile-menu > .nav-item[class*="border-b-[#eeb425]"]::after {
    background: rgba(238, 180, 37, .4);
}

/* Navigation icons */

#mobile-menu .navigation-icon {
    margin-right: .15rem !important;
    flex: 0 0 auto;
    opacity: .92;
}

#mobile-menu > .nav-item svg {
    width: 11px;
    height: 11px;
    margin-left: .05rem;
    opacity: .7;
    transition:
        opacity .15s ease,
        transform .15s ease;
}

#mobile-menu > button.nav-item:hover svg {
    opacity: 1;
    transform: translateY(1px);
}

/* Values and Discord links */

#valuesDropdown {
    color: #d9e4ed !important;
}

#mobile-menu > a[href*="discord"] {
    color: #dfe2ff !important;
}

#mobile-menu > a[href*="discord"]:hover {
    background:
        linear-gradient(
            180deg,
            rgba(88, 101, 242, .16),
            rgba(88, 101, 242, .045)
        );
}

/* Dropdown panels */

#home-dropdown,
#community-dropdown,
#values-dropdown {
    overflow: hidden;
    padding: .42rem !important;
    border: 1px solid #334b5e;
    border-radius: 8px;
    background:
        linear-gradient(
            145deg,
            rgba(29, 46, 62, .99),
            rgba(17, 30, 43, .99)
        ) !important;
    box-shadow:
        0 18px 38px rgba(0, 0, 0, .4),
        inset 0 1px 0 rgba(255, 255, 255, .045);
}

/* Dropdown links */

#home-dropdown .dropdown-item,
#community-dropdown .dropdown-item,
#values-dropdown .dropdown-item {
    min-height: 39px;
    display: flex;
    align-items: center;
    padding: .62rem .72rem;
    border-radius: 5px;
    color: #cbd8e2 !important;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    transition:
        color .15s ease,
        background .15s ease,
        transform .15s ease;
}

#home-dropdown .dropdown-item:hover,
#community-dropdown .dropdown-item:hover,
#values-dropdown .dropdown-item:hover {
    transform: translateX(2px);
    background: rgba(85, 174, 222, .12) !important;
    color: #fff !important;
}

#home-dropdown .dropdown-item + .dropdown-item,
#community-dropdown .dropdown-item + .dropdown-item,
#values-dropdown .dropdown-item + .dropdown-item {
    border-top: 1px solid rgba(255, 255, 255, .045);
}

/* Tablet adjustments */

@media (max-width: 1120px) and (min-width: 768px) {
    #mobile-menu {
        gap: 0;
    }

    #mobile-menu > .nav-item {
        padding-right: .52rem;
        padding-left: .52rem;
        font-size: .61rem;
    }

    #mobile-menu .navigation-icon {
        display: none !important;
    }
}

/* Mobile navigation */

@media (max-width: 767px) {
    #mobile-menu {
        height: auto;
        align-items: stretch;
        gap: .2rem;
        padding: .55rem;
    }

    #mobile-menu > .nav-item {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start;
        padding: 0 .85rem;
        border: 0 !important;
        border-left: 3px solid transparent !important;
        border-radius: 5px;
    }

    #mobile-menu > .nav-item[class*="border-b-[#eeb425]"] {
        border-left-color: #eeb425 !important;
    }

    #mobile-menu > .nav-item::after {
        display: none;
    }

    #home-dropdown,
    #community-dropdown,
    #values-dropdown {
        position: static !important;
        width: 100% !important;
        margin: .1rem 0 .4rem !important;
        transform: none !important;
    }
}



/* Global chrome polish */

/* Top utility strip */

.site-utility-bar {
    position: relative;
    z-index: 20;
    min-height: 50px;
    padding-top: .45rem !important;
    padding-bottom: .45rem !important;
    border-bottom: 1px solid rgba(104, 137, 162, .15);
    background:
        linear-gradient(
            180deg,
            rgba(20, 33, 48, .98),
            rgba(14, 25, 38, .98)
        );
    box-shadow:
        0 0 0 100vmax rgba(14, 25, 38, .98),
        inset 0 -1px 0 rgba(0, 0, 0, .2);
    clip-path: inset(0 -100vmax);
}

.site-utility-bar__currencies {
    align-items: center;
    gap: 1.4rem !important;
}

.site-utility-bar__actions {
    align-items: center;
    gap: .55rem;
}

.header-currency {
    gap: .6rem;
}

.header-currency__icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-color: rgba(255, 255, 255, .13);
    background-color: rgba(4, 15, 27, .7);
}

.header-currency__copy strong {
    font-size: .82rem;
}

.header-currency__copy > span {
    color: #71889b;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.site-admin-trigger,
.site-user-trigger {
    min-height: 38px;
    padding: .35rem .65rem;
    border: 1px solid rgba(105, 135, 157, .24);
    border-radius: 7px;
    background: rgba(255, 255, 255, .025);
    transition:
        border-color .15s ease,
        background .15s ease;
}

.site-admin-trigger {
    margin-left: 0 !important;
    color: #ea7f82 !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.site-admin-trigger:hover,
.site-user-trigger:hover {
    border-color: rgba(91, 177, 222, .42);
    background: rgba(91, 177, 222, .07);
}

.site-admin-trigger svg {
    width: 11px;
    height: 11px;
}

.site-user-trigger {
    gap: .48rem;
    margin-left: 0 !important;
    color: #dce7ef !important;
    font-size: .72rem;
    font-weight: 900;
}

.site-user-trigger > div {
    width: 31px;
    height: 31px;
    overflow: hidden;
    border: 1px solid #39566b;
    border-radius: 6px;
    background:
        linear-gradient(
            145deg,
            rgba(56, 91, 114, .42),
            rgba(18, 33, 47, .75)
        );
}

.site-user-trigger img {
    width: 38px !important;
    max-width: none;
    margin: -3px 0 0 -4px;
    image-rendering: pixelated;
}

.site-user-trigger svg {
    width: 11px;
    height: 11px;
    margin-left: .1rem !important;
    opacity: .68;
}

/* Large brand banner */

.site-banner {
    height: 174px !important;
    min-height: 174px;
    overflow: hidden;
    border-bottom: 1px solid rgba(0, 0, 0, .5);
    background-position: center 46% !important;
    box-shadow:
        inset 0 -1px 0 rgba(255, 255, 255, .04),
        0 8px 24px rgba(0, 0, 0, .22);
}

.site-banner .habluxe-header-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4, 16, 28, .88),
            rgba(4, 16, 28, .46) 48%,
            rgba(4, 16, 28, .68)
        ),
        linear-gradient(
            180deg,
            rgba(7, 21, 34, .18),
            rgba(4, 14, 25, .5)
        ) !important;
}

.site-banner__inner {
    z-index: 1;
    padding-right: 2rem !important;
    padding-left: 2rem;
}

.site-banner__brand-cluster {
    gap: 1rem !important;
}

.site-banner__brand {
    display: block;
    margin-left: 0 !important;
    transition:
        filter .15s ease,
        transform .15s ease;
}

.site-banner__brand:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
}

.site-banner .header-logo {
    width: 220px;
    max-width: 28vw;
    height: auto;
    filter:
        drop-shadow(0 4px 0 rgba(0, 0, 0, .24))
        drop-shadow(0 9px 18px rgba(0, 0, 0, .35));
}

.site-banner__online {
    gap: .65rem;
    height: 44px !important;
    padding: 0 1rem !important;
    border: 1px solid rgba(102, 161, 194, .35);
    border-radius: 999px !important;
    background: rgba(5, 22, 35, .78) !important;
    color: #d9e9f3 !important;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .015em;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .045),
        0 5px 18px rgba(0, 0, 0, .2);
    backdrop-filter: blur(7px);
}

.site-banner__online > div {
    display: none;
}

.site-banner__online::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border: 2px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    background: #58c84b;
    box-shadow:
        0 0 0 3px rgba(88, 200, 75, .12),
        0 0 10px rgba(88, 200, 75, .42);
}

.site-banner__actions {
    align-items: center;
    gap: .65rem !important;
}

.site-banner__actions > a {
    text-decoration: none;
}

.site-banner__client-button {
    min-height: 44px;
    padding: 0 1.25rem !important;
    border-radius: 7px !important;
    color: #fff !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 3px 0 rgba(0, 0, 0, .2),
        0 8px 20px rgba(0, 0, 0, .18);
    transition:
        filter .15s ease,
        transform .15s ease,
        box-shadow .15s ease !important;
}

.site-banner__client-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .24),
        0 4px 0 rgba(0, 0, 0, .2),
        0 10px 23px rgba(0, 0, 0, .23);
}

.site-banner__client-button--nitro {
    border: 1px solid #3d8a35;
    background:
        linear-gradient(
            180deg,
            #68cb54,
            #409a37
        ) !important;
}

.site-banner__client-button--nitro::before {
    content: "▶";
    display: inline-block;
    margin-right: .48rem;
    font-size: .55rem;
    vertical-align: 1px;
}

.site-banner__client-button--flash {
    border: 1px solid #377ba1;
    background:
        linear-gradient(
            180deg,
            #4fa6d1,
            #32799e
        ) !important;
}

/* Main navigation shell */

.site-navigation-shell {
    z-index: 15;
    border-top: 1px solid rgba(111, 145, 169, .12);
    border-bottom: 1px solid rgba(0, 0, 0, .45);
    background:
        linear-gradient(
            180deg,
            rgba(21, 35, 50, .99),
            rgba(15, 27, 40, .99)
        ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .025),
        0 6px 18px rgba(0, 0, 0, .18) !important;
}

.site-nav-control {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    margin-right: .45rem !important;
    padding: 0 !important;
    border: 1px solid #32495c;
    border-radius: 7px !important;
    background:
        linear-gradient(
            145deg,
            rgba(39, 59, 76, .9),
            rgba(22, 36, 51, .9)
        ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .04),
        0 2px 4px rgba(0, 0, 0, .16) !important;
    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.site-nav-control:hover {
    transform: translateY(-1px);
    border-color: #4c83a3;
    background:
        linear-gradient(
            145deg,
            rgba(49, 76, 96, .95),
            rgba(25, 42, 58, .95)
        ) !important;
}

.site-nav-control--theme svg {
    width: 17px;
    height: 17px;
}

.site-nav-control--language img {
    width: 20px;
    height: 14px;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, .18);
}

/* Header dropdowns */

.site-admin-dropdown,
.site-user-dropdown,
.site-language-dropdown {
    overflow: hidden;
    padding: .4rem !important;
    border: 1px solid #344c5f;
    border-radius: 8px;
    background:
        linear-gradient(
            145deg,
            rgba(29, 46, 62, .99),
            rgba(17, 30, 43, .99)
        ) !important;
    box-shadow:
        0 18px 38px rgba(0, 0, 0, .4),
        inset 0 1px 0 rgba(255, 255, 255, .045) !important;
}

.site-admin-dropdown .dropdown-item,
.site-user-dropdown__item {
    min-height: 38px;
    display: flex !important;
    align-items: center;
    padding: .6rem .7rem !important;
    border-radius: 5px;
    color: #cfdae3 !important;
    font-size: .67rem;
    font-weight: 800 !important;
    text-decoration: none;
    transition:
        background .15s ease,
        color .15s ease,
        transform .15s ease;
}

.site-admin-dropdown .dropdown-item:hover,
.site-user-dropdown__item:hover {
    transform: translateX(2px);
    background: rgba(86, 174, 220, .11) !important;
    color: #fff !important;
}

.site-language-dropdown {
    width: 58px !important;
}

.site-language-dropdown__item {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: .55rem !important;
    border-radius: 5px;
}

.site-language-dropdown__item:hover {
    background: rgba(86, 174, 220, .11) !important;
}

.site-language-dropdown__item img {
    width: 23px;
    height: 16px;
    object-fit: cover;
}

/* Responsive chrome */

@media (max-width: 960px) and (min-width: 768px) {
    .site-banner .header-logo {
        width: 185px;
    }

    .site-banner__online {
        padding-right: .75rem !important;
        padding-left: .75rem !important;
        font-size: .61rem;
    }

    .site-banner__client-button {
        padding-right: .9rem !important;
        padding-left: .9rem !important;
    }
}

@media (max-width: 767px) {
    .site-utility-bar {
        min-height: 46px;
    }

    .site-utility-bar__actions {
        width: 100%;
        justify-content: flex-end;
    }

    .site-banner {
        height: 132px !important;
        min-height: 132px;
    }

    .site-banner__inner {
        padding: 0 1rem !important;
    }

    .site-banner__brand-cluster {
        width: 100%;
        justify-content: center;
    }

    .site-banner .header-logo {
        width: 190px;
        max-width: 72vw;
    }
}



/* Wide desktop shell */

@media (min-width: 1280px) {
    .site-utility-bar,
    .site-banner__inner,
    .site-navigation-inner,
    .site-content-inner {
        width: calc(100% - 40px);
        max-width: 1500px !important;
    }
}

@media (min-width: 1800px) {
    .site-utility-bar,
    .site-banner__inner,
    .site-navigation-inner,
    .site-content-inner {
        max-width: 1560px !important;
    }
}



/* Global site footer */

.site-footer {
    position: relative;
    z-index: 5;
    margin-top: auto;
    border-top: 1px solid rgba(83, 121, 147, .25);
    background:
        radial-gradient(
            circle at 50% 0,
            rgba(48, 89, 117, .13),
            transparent 48%
        ),
        linear-gradient(
            180deg,
            #111f2d,
            #0b1622
        );
    color: #8094a4;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .025),
        0 -8px 28px rgba(0, 0, 0, .12);
}

.site-footer__inner {
    width: calc(100% - 40px);
    max-width: 1500px;
    min-height: 118px;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    align-items: center;
    gap: 1.5rem 2.5rem;
    margin: 0 auto;
    padding: 1.5rem 0;
}

.site-footer__brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .9rem;
}

.site-footer__logo {
    width: 96px;
    display: block;
    flex: 0 0 96px;
    transition:
        filter .15s ease,
        transform .15s ease;
}

.site-footer__logo:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
}

.site-footer__logo img {
    width: 100%;
    height: auto;
    display: block;
    image-rendering: pixelated;
}

.site-footer__brand strong {
    display: block;
    color: #ecf4f9;
    font-size: .82rem;
    font-weight: 900;
}

.site-footer__brand p {
    margin: .25rem 0 0;
    color: #6f8595;
    font-size: .65rem;
    font-weight: 600;
}

.site-footer__links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
}

.site-footer__links a,
.site-footer__links button {
    min-height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .72rem;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #9cafbd;
    font-family: inherit;
    font-size: .63rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        border-color .15s ease,
        background .15s ease,
        color .15s ease,
        transform .15s ease;
}

.site-footer__links a:hover,
.site-footer__links button:hover {
    transform: translateY(-1px);
    border-color: rgba(79, 158, 201, .32);
    background: rgba(79, 158, 201, .08);
    color: #fff;
}

.site-footer__legal {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding-top: .9rem;
    border-top: 1px solid rgba(255, 255, 255, .05);
    color: #586d7d;
    font-size: .57rem;
    font-weight: 700;
}

.footer-credits-modal {
    max-height: 390px;
    overflow-y: auto;
    padding-right: .35rem;
    color: #4a5560;
    font-size: .82rem;
    text-align: left;
}

.footer-credits-modal > p {
    margin: 0 0 1rem;
    line-height: 1.55;
}

.footer-credits-modal a {
    color: #2586bd;
    font-weight: 800;
    text-decoration: underline;
}

.footer-credits-list {
    overflow: hidden;
    border: 1px solid #d8e0e5;
    border-radius: 7px;
}

.footer-credits-row {
    display: grid;
    grid-template-columns: 125px minmax(0, 1fr);
    gap: .75rem;
    padding: .65rem .75rem;
}

.footer-credits-row + .footer-credits-row {
    border-top: 1px solid #e2e8ec;
}

.footer-credits-row strong {
    color: #243746;
    font-size: .73rem;
}

.footer-credits-row span {
    color: #667986;
    font-size: .7rem;
}

@media (min-width: 1800px) {
    .site-footer__inner {
        max-width: 1560px;
    }
}

@media (max-width: 767px) {
    .site-footer__inner {
        width: calc(100% - 28px);
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 1.15rem;
        padding: 1.5rem 0;
        text-align: center;
    }

    .site-footer__brand {
        flex-direction: column;
    }

    .site-footer__links {
        flex-wrap: wrap;
        justify-content: center;
    }

    .site-footer__legal {
        justify-content: center;
        flex-wrap: wrap;
    }

    .footer-credits-row {
        grid-template-columns: 1fr;
        gap: .15rem;
    }
}



/* Header dropdown clipping fix */

.site-utility-bar {
    isolation: isolate;
    clip-path: none;
    background: transparent;
    box-shadow:
        inset 0 -1px 0 rgba(0, 0, 0, .2);
}

.site-utility-bar::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 50%;
    z-index: -1;
    width: 100vw;
    pointer-events: none;
    border-bottom: 1px solid rgba(104, 137, 162, .15);
    background:
        linear-gradient(
            180deg,
            rgba(20, 33, 48, .98),
            rgba(14, 25, 38, .98)
        );
    box-shadow:
        inset 0 -1px 0 rgba(0, 0, 0, .2);
    transform: translateX(-50%);
}

.site-utility-bar__actions {
    position: relative;
    z-index: 2;
}

.site-admin-dropdown,
.site-user-dropdown {
    z-index: 100 !important;
}
