@charset "UTF-8";

:root {
            --pf-shop:    #ccff00; /* Vert/Jaune Néon Shop */
            --pf-p2p:     #00a3ff; /* Bleu Néon P2P */
            --pf-contact: #ff8800; /* Orange Néon Support/Contact */
            --bg-dark:    #060709;
            --card-bg:    rgba(15, 17, 23, 0.75);
        }

        body {
            background-color: var(--bg-dark);
            color: #ffffff;
            font-family: 'Rajdhani', sans-serif;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            position: relative;
            overflow-x: hidden;
        }

        /* --- RASTER HIGH-TECH & ÉCLAIRAGE AMBIANT --- */
        .bg-grid {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            pointer-events: none;
            z-index: 0;
            background-image: 
                radial-gradient(circle, rgba(255, 255, 255, 0.08) 1px, transparent 1.5px),
                linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
            background-size: 40px 40px, 40px 40px, 40px 40px;
            background-position: -1px -1px;
        }

        .bg-glow {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            pointer-events: none;
            z-index: 0;
            background: 
                radial-gradient(circle at 15% 30%, rgba(204, 255, 0, 0.06) 0%, transparent 40%),
                radial-gradient(circle at 85% 30%, rgba(0, 163, 255, 0.06) 0%, transparent 40%),
                radial-gradient(circle at 50% 85%, rgba(255, 136, 0, 0.06) 0%, transparent 40%);
        }

        /* --- CONTENT MAIN --- */
        .main-content {
            position: relative;
            z-index: 5;
        }

        .landing-title {
            font-family: 'Orbitron', sans-serif;
            letter-spacing: 2px;
        }

        /* --- SELECTEUR DE LANGUE --- */
        .lang-switcher {
            position: absolute;
            top: 20px;
            right: 20px;
            z-index: 10;
        }
        .lang-btn {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: #8a8d9b;
            font-family: 'Orbitron', sans-serif;
            font-size: 0.75rem;
            padding: 6px 14px;
            border-radius: 6px;
            text-decoration: none;
            transition: all 0.3s ease;
            backdrop-filter: blur(4px);
        }
        .lang-btn:hover, .lang-btn.active {
            background: rgba(255, 255, 255, 0.15);
            color: #fff;
            border-color: rgba(255, 255, 255, 0.4);
            box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
        }

        /* --- BLOCS PORTAIL --- */
        .portal-card {
            position: relative;
            background: var(--card-bg);
            backdrop-filter: blur(12px);
            border-radius: 16px;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            border: 1px solid rgba(255, 255, 255, 0.08);
            min-height: 480px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            text-decoration: none !important;
        }

        .portal-card .card-bg-img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0.22;
            transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
            z-index: 1;
        }

        .portal-card .card-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(180deg, rgba(6,7,9,0.2) 0%, rgba(6,7,9,0.95) 80%);
            z-index: 2;
        }

        .portal-card .card-content {
            position: relative;
            z-index: 3;
            padding: 2.25rem 2.25rem;
        }

        /* --- SHOP (#ccff00 - EN DÉVELOPPEMENT) --- */
        .portal-shop {
            border: 1px solid rgba(204, 255, 0, 0.25);
            border-bottom: 3px solid var(--pf-shop);
            cursor: default;
        }
        .portal-shop:hover {
            transform: translateY(-4px);
            border-color: rgba(204, 255, 0, 0.4);
        }
        .portal-shop .badge-tag {
            background: rgba(204, 255, 0, 0.1);
            color: var(--pf-shop);
            border: 1px solid rgba(204, 255, 0, 0.4);
        }
        .portal-shop .badge-status {
            font-family: 'Orbitron', sans-serif;
            font-size: 0.65rem;
            letter-spacing: 1px;
            padding: 4px 8px;
            border-radius: 4px;
            background: rgba(255, 193, 7, 0.15);
            color: #ffc107;
            border: 1px solid rgba(255, 193, 7, 0.3);
            display: inline-block;
            margin-left: 8px;
        }
        .portal-shop .btn-action-disabled {
            background: rgba(204, 255, 0, 0.15);
            color: var(--pf-shop);
            border: 1px dashed rgba(204, 255, 0, 0.4);
            cursor: not-allowed;
        }

        /* --- P2P (#00a3ff) --- */
        .portal-p2p {
            border: 1px solid rgba(0, 163, 255, 0.25);
            border-bottom: 3px solid var(--pf-p2p);
            cursor: default;
        }
        .portal-p2p:hover {
            transform: translateY(-4px);
            border-color: rgba(0, 163, 255, 0.4);
        }
        .portal-p2p .badge-tag {
            background: rgba(0, 163, 255, 0.1);
            color: var(--pf-p2p);
            border: 1px solid rgba(0, 163, 255, 0.4);
        }
        .portal-p2p .btn-action-disabled {
            background: rgba(0, 163, 255, 0.15);
            color: var(--pf-p2p);
            border: 1px dashed rgba(0, 163, 255, 0.4);
            cursor: not-allowed;
        }
        
        .portal-p2p .badge-status-test {
            font-family: 'Orbitron', sans-serif;
            font-size: 0.65rem;
            letter-spacing: 1px;
            padding: 4px 8px;
            border-radius: 4px;
            background: rgba(255, 193, 7, 0.15);
            color: #ffc107;
            border: 1px solid rgba(255, 193, 7, 0.3);
            display: inline-block;
            margin-left: 8px;
        }

        /* --- CONTACT / SUPPORT (#ff8800 - ORANGE) --- */
        .portal-contact {
            border: 1px solid rgba(255, 136, 0, 0.25);
            border-bottom: 3px solid var(--pf-contact);
            min-height: auto;
        }
        .portal-contact:hover {
            border-color: rgba(255, 136, 0, 0.5);
            box-shadow: 0 10px 30px rgba(255, 136, 0, 0.12);
        }
        .portal-contact .badge-tag {
            background: rgba(255, 136, 0, 0.1);
            color: var(--pf-contact);
            border: 1px solid rgba(255, 136, 0, 0.4);
        }

        .badge-tag {
            font-family: 'Orbitron', sans-serif;
            font-size: 0.7rem;
            letter-spacing: 1.5px;
            padding: 6px 12px;
            border-radius: 4px;
            text-transform: uppercase;
            display: inline-block;
            margin-bottom: 1rem;
        }

        .portal-title {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.85rem;
            font-weight: 800;
            color: #ffffff;
            margin-bottom: 0.75rem;
        }

        .portal-desc {
            font-size: 1rem;
            color: #a0a5b5;
            line-height: 1.5;
            margin-bottom: 1.25rem;
        }

        /* --- BLOC NEWS / INFO DANS LES CARTES --- */
        .news-box {
            background: rgba(0, 0, 0, 0.35);
            border-left: 2px solid rgba(255, 255, 255, 0.2);
            padding: 10px 14px;
            border-radius: 0 8px 8px 0;
            margin-bottom: 1.5rem;
        }
        .portal-shop .news-box    { border-left-color: var(--pf-shop); }
        .portal-p2p .news-box     { border-left-color: var(--pf-p2p); }
        .portal-contact .news-box { border-left-color: var(--pf-contact); }

        .news-box-title {
            font-family: 'Orbitron', sans-serif;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #fff;
            margin-bottom: 6px;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .news-box-list {
            list-style: none;
            padding: 0;
            margin: 0;
            font-size: 0.88rem;
            color: #cbd5e1;
        }
        .news-box-list li {
            position: relative;
            padding-left: 14px;
            margin-bottom: 4px;
        }
        .news-box-list li:last-child { margin-bottom: 0; }
        .news-box-list li::before {
            content: "•";
            position: absolute;
            left: 0;
            color: #8a8d9b;
        }

        .btn-action {
            font-family: 'Orbitron', sans-serif;
            font-size: 0.85rem;
            letter-spacing: 1px;
            padding: 12px 24px;
            border-radius: 6px;
            text-transform: uppercase;
            transition: all 0.3s ease;
            border: none;
            display: inline-block;
            text-decoration: none;
        }

        /* Pied de page copyright */
        .copyright-text {
            color: #6c757d;
            font-size: 0.85rem;
        }