:root {
    --bg-color: #000000;
    --mc-bg-color: #000000;
    --card-bg: #191919;
    --card-border: #2b2b2b;
    --discord-blurple: #00bbff;
    --discord-hover: #4752c4;
    --text-main: #ffffff;
    --text-muted: #b5bac1;
    --radius-md: 8px;
    --radius-lg: 12px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Sora', 'Inter', system-ui, -apple-system, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: #000000;
    color: #fffcf3;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 70px 20px 0;
    position: relative;
}

/* Fixed Top-Right Sidebar Controls (Language Selector & Account Widget) */
.sidebar-controls {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    z-index: 1000;
}

/* Centered Main Layout Wrapper */
.layout-container {
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin: 0 auto 60px;
}

/* Header & Top Navigation Bar */
.main-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.header-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.nav-logo-img {
    height: 38px;
    width: auto;
    object-fit: contain;
}

.nav-marlwlogo-img {
    height: 80px;
    width: auto;
    object-fit: contain;
}

.navigation-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.navigation-bar .text-nav-btn,
.header-back-nav .text-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 600;
    transition: color 0.2s ease;
}

.navigation-bar .text-nav-btn:hover,
.header-back-nav .text-nav-btn:hover {
    color: var(--text-main);
}

.navigation-bar .text-nav-btn.hire-nav-link {
    color: var(--discord-blurple);
}

.navigation-bar .text-nav-btn.hire-nav-link:hover {
    color: #ffffff;
}


a.hire-nav-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background-color: #635dd8 !important;
    color: #ffffff !important;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

a.hire-nav-link:hover {
    transform: translateY(-1px);
}


.project-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-title-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    border-radius: 4px;
}

.section-title {
    font-size: 1.6rem;
    color: #ffffff;
    margin-bottom: 20px;
    font-weight: 700;
}

/* Hero Section */
.hero-section {
    margin-bottom: 30px;
}

.hero-section .video-frame {
    position: relative;
}

.video-frame {
    width: 100%;
    aspect-ratio: 21 / 9;
    overflow: hidden;
}

.video-frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.video-overlay {
    position: absolute;
    inset: 0;
    background:
            radial-gradient(circle at center,
            rgba(0, 0, 0, 0) 35%,
            rgba(0, 0, 0, 0.25) 70%,
            rgba(0, 0, 0, 0.37) 100%),
            rgba(2, 4, 6, 0.5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 24px;
    border-radius: var(--radius-md);
}

.video-overlay h2 {
    color: #ffffff;
    font-size: 2.2rem;
    margin-bottom: 8px;
    font-weight: 800;
}

.video-overlay p {
    font-size: 1.15rem;
    max-width: 650px;
}

/* Frameless Alternating Groups */
.games-section {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 40px;
}

.frameless-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center;
}

.frameless-group.reverse {
    grid-template-areas: "text media";
}

.frameless-group.reverse .group-media {
    grid-area: media;
}

.frameless-group.reverse .group-text {
    grid-area: text;
}

.group-media {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background-color: var(--card-bg);
}

.group-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 0 125px rgb(0, 0, 0);
    z-index: 10;
}

.coin-icon {
    height: 25px;
    object-fit: cover;
}

.group-media img,
.group-media video {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: var(--radius-lg);
    object-fit: cover;
    pointer-events: none;
}

.group-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.group-text h3 {
    font-size: 1.5rem;
    color: #ffffff;
}

.group-text p {
    color: var(--text-muted);
    line-height: 1.7;
    font-size: 1rem;
}

.external-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 14px;
    background-color: #222730;
    color: var(--text-main);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.85rem;
    transition: background-color 0.2s, border-color 0.2s;
}

.external-link-btn:hover {
    background-color: #2a303c;
    border-color: #3f4758;
}

.group-text .external-link-btn {
    align-self: flex-start;
    width: auto;
    padding: 10px 24px;
}

/* Worked With Section */
.worked-with-section {
    margin-bottom: 40px;
}

.logos-row {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 10px;
    border-radius: var(--radius-lg);
    padding: 18px;
    flex-wrap: wrap;
}

.partner-logo {
    max-height: 100px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.7);
    transition: filter 0.2s ease, transform 0.2s ease;
}

.partner-logo:hover {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.05);
}

/* Contact Section */
.contact-section {
    margin-bottom: 40px;
}

.frameless-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.frameless-contact p {
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.6;
}

/* Modals & Dropdown */
.custom-dropdown {
    position: relative;
    user-select: none;
}

.dropdown-selected {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    transition: background-color 0.2s, border-color 0.2s;
}

.dropdown-selected:hover {
    background-color: #222730;
    border-color: var(--discord-blurple);
}

.flag-icon {
    width: 18px;
    height: 13px;
    border-radius: 2px;
    object-fit: cover;
}

.dropdown-options {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: none;
    flex-direction: column;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
    min-width: 130px;
}

.dropdown-options.show {
    display: flex;
}

.dropdown-option {
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s;
}

.dropdown-option:hover {
    background-color: var(--discord-blurple);
    color: #fff;
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(2, 4, 6, 0.85);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    padding: 20px;
}

.modal-overlay.show,
.modal-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    pointer-events: auto !important;
}

.modal-card {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    width: 100%;
    max-width: 440px;
    padding: 24px;
    position: relative;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
    transform: scale(0.92) translateY(10px);
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.modal-overlay.show .modal-card,
.modal-overlay.active .modal-card {
    transform: scale(1) translateY(0);
}

.modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1.5rem;
    cursor: pointer;
    transition: color 0.15s;
}

.modal-close:hover {
    color: #ffffff;
}

.modal-title {
    color: #ffffff;
    font-size: 1.3rem;
    margin-bottom: 4px;
}

.modal-subtitle {
    color: var(--text-muted);
    font-size: 0.88rem;
    margin-bottom: 20px;
}

.discord-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.discord-option-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background-color: #101218;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    padding: 14px;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s, transform 0.15s;
}

.discord-option-card:hover {
    background-color: #1a1e28;
    border-color: var(--discord-blurple);
    transform: translateX(3px);
}

.discord-server-icon {
    width: 48px;
    height: 48px;
    object-fit: cover;
    flex-shrink: 0;
}

.discord-server-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.discord-server-name {
    color: #ffffff;
    font-weight: 700;
    font-size: 0.98rem;
}

.discord-server-desc {
    color: var(--text-muted);
    font-size: 0.8rem;
}




.site-footer {
    width: 100%;
    padding: 32px 24px;
    box-sizing: border-box;
}

.footer-card {
    max-width: 1500px; /* Expands to match main dashboard width */
    margin: 0 auto;
    background-color: #f6151c;
    border-radius: 20px;
    padding: 48px 56px; /* Generous padding for a chunkier feel */
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 48px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
}

.footer-logo {
    max-width: 180px; /* Increased logo size */
    height: auto;
    display: block;
}

.footer-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-brand {
    color: #320000;
    font-size: 1.4rem; /* Scaled up brand text */
    font-weight: 800;
    margin: 0;
}

.footer-brand a {
    color: inherit;
    text-decoration: none;
}

.footer-brand a:hover {
    color: #5c0e00;
}

.footer-brand u {
    text-underline-offset: 4px;
}

.footer-copyright {
    color: #5c0e00;
    font-size: 1.05rem; /* Scaled up copyright text */
    font-weight: 600;
    margin: 0;
    opacity: 0.9;
}

/* Larger Social Buttons with Thicker Border/Shadow */
.footer-socials {
    display: flex;
    align-items: center;
    gap: 16px;
}

.social-btn {
    width: 60px; /* Increased button dimensions */
    height: 60px;
    background: #ffffff;
    border: 3px solid #000000;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 3px 4px 0px #000000;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    text-decoration: none;
}

.social-btn svg {
    width: 28px; /* Larger social icons */
    height: 28px;
    fill: #000000;
}

.social-btn:hover {
    transform: translateY(-3px);
    box-shadow: 3px 7px 0px #000000;
}

.social-btn:active {
    transform: translateY(1px);
    box-shadow: 1px 2px 0px #000000;
}

/* Mobile Responsive Adjustments */
@media (max-width: 900px) {
    .footer-card {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        padding: 40px 24px;
        gap: 28px;
    }

    .footer-logo {
        max-width: 150px;
    }

    .footer-socials {
        flex-wrap: wrap;
        justify-content: center;
    }
}




.account-auth-btn {
    background-color: var(--discord-blurple);
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background-color 0.2s, transform 0.1s;
}

.account-auth-btn:hover {
    background-color: var(--discord-hover);
    transform: translateY(-1px);
}

/* Isolated Floating Top-Right Sticky Widget Container */
.floating-header-widget {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
}

/* Base Box Style */
.widget-card-btn {
    background: #111319;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    padding: 12px 18px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
}

/* Account Card Layout */
.widget-account-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 210px;
    cursor: pointer;
}

.widget-account-card:hover, .widget-lang-card:hover {
    background: rgba(0, 0, 0, 0.52);
    border-color: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
}

/* Avatar Style */
.widget-skin-avatar {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    image-rendering: pixelated;
    background: rgba(0, 0, 0, 0.75);
    flex-shrink: 0;
}

.widget-user-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: Minecraft;
    gap: 4px;
}

.widget-username {
    color: #dfdfdf;
    font-size: 1.25rem;
    font-family: Minecraft;
    line-height: 1.1;
}

.widget-coins-row {
    font-family: Minecraft;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffb71d;
}

.widget-coin-img {
    width: 22px;
    height: 22px;
}

/* Unlogged Auth Button State */
.widget-auth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: #ffffff;
    font-weight: 700;
    font-size: 1.15rem;
    cursor: pointer;
    background: #348c40;
    border: none;
    border-radius: 12px;
    padding: 14px 24px;
}

.widget-auth-btn:hover {
    background: #46b35c;
}

/* Language Switcher Card */
.widget-lang-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
}

.widget-flag-icon {
    width: 28px;
    height: 20px;
    border-radius: 4px;
    object-fit: cover;
}

.widget-lang-text {
    color: #ffffff;
    font-weight: 600;
    font-size: 1.1rem;
}

/* In-Cabinet Controls Styling */
.cabinet-actions-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 6px;
}

.cabinet-action-btn {
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
}

.logout-btn {
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.3);
}

.logout-btn:hover {
    background: #ef4444;
    color: #ffffff;
    border-color: #ef4444;
}

/* Purchase Modal Container */
.modal-compact {
    position: relative;
    width: 90%;
    max-width: 380px;
    background-color: #0b0e14;
    border: 1px solid #1a1f29;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    box-sizing: border-box;
}

.modal-close-btn {
    position: absolute;
    top: 14px;
    right: 16px;
    background: transparent;
    border: none;
    font-size: 1.4rem;
    color: #8a8d93;
    cursor: pointer;
    transition: color 0.2s;
}

.modal-close-btn:hover {
    color: #ffffff;
}

.purchase-title-centered {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    color: #ffffff;
    margin: 6px 0 4px 0;
}

.select-target-subtext {
    font-size: 0.72rem;
    color: #6a6e79;
    text-align: center;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 600;
}

.purchase-target-options {
    display: flex;
    gap: 8px;
    background-color: #121620;
    padding: 4px;
    border-radius: 10px;
    margin-bottom: 16px;
}

.target-opt-btn {
    flex: 1;
    padding: 10px 12px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: #8a8d93;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.target-opt-btn:hover {
    color: #ffffff;
}

.target-opt-btn.active {
    background-color: #232938;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.modal-submit-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #4f46e5;
    color: #ffffff;
    border: none;
    padding: 12px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.2s;
}

#purchase-modal {
    pointer-events: auto;
}



.item-picker-wrapper {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 12px;
}

.item-picker-search {
    width: 100%;
    box-sizing: border-box;
}

.item-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 8px;
    max-height: 220px;
    overflow-y: auto;
    padding-right: 4px;
}

.item-picker-grid::-webkit-scrollbar {
    width: 6px;
}
.item-picker-grid::-webkit-scrollbar-thumb {
    border-radius: 3px;
}

/* Item Card */
.item-card {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    text-align: center;
    user-select: none;
}

.item-card:hover {
    border-color: #5865F2;
    transform: translateY(-1px);
}

.item-card.selected {
    border: 2px solid #5865F2;
}

.item-card img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    image-rendering: pixelated;
}

.item-card .item-card-name {
    font-size: 0.78rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.1;
    word-break: break-word;
}

.item-card .item-card-id {
    font-size: 0.68rem;
    color: #888888;
}