@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;800&display=swap');

/* =========================================
   VARIABLES (Respect strict de tes couleurs + 3D)
   ========================================= */
:root { 
    --bg: #f8fafc; 
    --bg-dot: #cbd5e1;
    --card: rgba(255, 255, 255, 0.85); 
    --accent: #0ea5e9; 
    --text: #0f172a; 
    --muted: #64748b; 
    --seo-bg: rgba(255,255,255,0.6);
    --modal-bg: rgba(15, 23, 42, 0.8);
    --modal-content: white;
    --header-border: rgba(0, 0, 0, 0.05);
    --glass-shadow: 0 15px 35px rgba(0, 0, 0, 0.05), inset 0 2px 2px rgba(255, 255, 255, 0.8), inset 0 -1px 2px rgba(0, 0, 0, 0.02);
}

[data-theme="dark"] {
    --bg: #020617; 
    --bg-dot: rgba(255, 255, 255, 0.1);
    --card: rgba(15, 23, 42, 0.6); 
    --accent: #00e5ff; 
    --text: #f8fafc; 
    --muted: #94a3b8; 
    --seo-bg: rgba(30, 41, 59, 0.6);
    --modal-bg: rgba(0, 0, 0, 0.9);
    --modal-content: #0f172a;
    --header-border: rgba(255, 255, 255, 0.1);
    --glass-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.1), inset 0 -1px 2px rgba(0, 0, 0, 0.2);
}

/* =========================================
   BASE
   ========================================= */
* { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Inter', sans-serif; }

body { background-color: var(--bg); color: var(--text); overflow-x: hidden; min-height: 100vh; width: 100vw; }
body::before { content: ''; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-image: radial-gradient(var(--bg-dot) 1px, transparent 1px); background-size: 30px 30px; z-index: -3; pointer-events: none; }

.bg-blobs { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; overflow: hidden; z-index: -2; pointer-events: none; }
.blob { position: absolute; border-radius: 50%; opacity: 0.4; animation: floatBlob 15s infinite alternate ease-in-out; will-change: transform; }
.blob-1 { background: radial-gradient(circle, var(--accent) 0%, transparent 70%); width: 50vw; height: 50vw; top: -10%; left: -10%; }
.blob-2 { background: radial-gradient(circle, #10b981 0%, transparent 70%); width: 45vw; height: 45vw; bottom: -10%; right: -5%; animation-delay: -5s; animation-duration: 20s;}
.blob-3 { background: radial-gradient(circle, #6366f1 0%, transparent 70%); width: 35vw; height: 35vw; top: 40%; left: 40%; animation-delay: -10s; animation-duration: 25s;}
@keyframes floatBlob { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(100px, 150px) scale(1.2); } }

.container { max-width: 1200px; margin: 0 auto; width: 100%; padding: 2rem; min-height: 100vh; position: relative; z-index: 1; }

/* =========================================
   BOOT SCREEN (NEW iMAC 2026 EDITION + AURORA BG)
   ========================================= */
#boot-room { 
    position: fixed; inset: 0; 
    background: linear-gradient(125deg, #020617, #0f172a, #1e1b4b, #020617);
    background-size: 400% 400%;
    animation: auroraFlow 15s ease infinite;
    z-index: 9999; display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; perspective: 1500px; 
}
@keyframes auroraFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

.mac-system { display: flex; flex-direction: column; align-items: center; transform: scale(0.85) rotateX(5deg); will-change: transform; transition: transform 0.5s ease-out; }

.mac-monitor { 
    width: 85vw; max-width: 850px; aspect-ratio: 16/9; 
    background: #111; padding: 0.75vw; border-radius: 1.5vw; 
    border: 3px solid #0891b2; 
    box-shadow: 0 40px 80px rgba(0,0,0,0.8), 0 0 120px rgba(0, 229, 255, 0.2); 
    position: relative; z-index: 2; overflow: hidden;
}
.mac-monitor::after {
    content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 18%; 
    background: linear-gradient(to bottom, #22d3ee, #0e7490); 
    border-top: 2px solid rgba(255,255,255,0.1); z-index: 10;
}

.mac-logo { position: absolute; bottom: 1.5vw; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,0.3); font-size: 1.2vw; font-weight: 800; letter-spacing: 2px; z-index: 11; text-shadow: 0 1px 0 rgba(0,0,0,0.2); }

.mac-screen { 
    background: #000; width: 100%; height: 82%; 
    border-radius: 0.8vw 0.8vw 0 0; position: relative; overflow: hidden; 
    display: flex; flex-direction: column; justify-content: center; align-items: center; 
    box-shadow: inset 0 0 40px rgba(0,0,0,1); opacity: 0; 
}

.mac-screen::after { 
    content: ''; position: absolute; top: -110%; left: -50%; width: 200%; height: 200%; 
    background: radial-gradient(circle at center, rgba(255,255,255,0.08) 0%, transparent 60%); 
    pointer-events: none; transform: rotate(-15deg); 
    animation: screenGlareModern 10s infinite linear alternate;
}
@keyframes screenGlareModern { 0% { transform: rotate(-15deg) translateY(-10%); } 100% { transform: rotate(-15deg) translateY(10%); } }

.mac-stand { width: 18vw; max-width: 180px; height: 12vw; max-height: 120px; background: linear-gradient(to bottom, #0e7490, #0891b2); clip-path: polygon(15% 0%, 85% 0%, 100% 100%, 0% 100%); position: relative; z-index: 1; margin-top: -5px; box-shadow: inset 0 1px 1px rgba(255,255,255,0.2); }
.mac-base { width: 28vw; max-width: 280px; height: 1vw; max-height: 10px; background: linear-gradient(to bottom, #1a1a1a, #000); border-radius: 4px 4px 0 0; box-shadow: 0 15px 30px rgba(0,0,0,0.7); position: relative; z-index: 1; }

.boot-icon { font-size: 5vw; color: #ffffff; margin-bottom: 2rem; filter: drop-shadow(0 0 30px rgba(0,229,255,0.6)); animation: floatModern 4s ease-in-out infinite; }
@keyframes floatModern { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(2deg); } }

#boot-terminal { font-size: 1.1vw; margin-bottom: 3rem; text-align: center; color: #a5f3fc; font-family: 'Inter', sans-serif; font-weight: 700; letter-spacing: 5px; text-transform: uppercase; text-shadow: 0 0 10px rgba(165, 243, 252, 0.5); }

.boot-progress-wrap { width: 40%; height: 3px; background: rgba(255,255,255,0.08); border-radius: 10px; overflow: hidden; box-shadow: inset 0 1px 3px rgba(0,0,0,0.5); }
.boot-progress-fill { width: 0%; height: 100%; background: linear-gradient(90deg, #22d3ee, #00e5ff, #22d3ee); background-size: 200% 100%; animation: neonFlow 2s linear infinite; box-shadow: 0 0 15px #00e5ff, 0 0 30px #00e5ff; border-radius: 10px; }
@keyframes neonFlow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } }

/* =========================================
   ENTÊTE & NAVIGATION (REMASTERISÉ)
   ========================================= */
header { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-bottom: 3rem; 
    border-bottom: 1px solid var(--header-border); 
    padding-bottom: 1.5rem; 
    gap: 1.5rem; 
}

/* 1. Le Logo */
.logo { 
    font-size: 1.8rem; 
    font-weight: 900; 
    letter-spacing: -1px; 
    text-decoration: none; 
    color: var(--text);
    flex: 0 0 auto; 
} 
.logo span { color: var(--accent); }

/* 2. Les Onglets au centre */
.nav-links { 
    display: flex; 
    gap: 1.8rem; 
    align-items: center; 
    justify-content: center; 
    flex: 1; 
}
.nav-links a { 
    text-decoration: none; 
    color: var(--text); 
    font-weight: 600; 
    font-size: 0.95rem; 
    position: relative; /* Indispensable pour le trait bleu */
    transition: color 0.2s; 
}
.nav-links a:hover { color: var(--accent); }

/* Le trait bleu ACTIF uniquement pour les textes */
.nav-links a.active { color: var(--accent); }
.nav-links a.active::after { 
    content: ''; position: absolute; bottom: -8px; left: 0; 
    width: 100%; height: 3px; background: var(--accent); 
    border-radius: 5px; animation: popIn 0.3s ease forwards; 
}

/* 3. Actions à droite (Design 2026) */
.header-actions { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
    flex: 0 0 auto; 
}

/* Les boutons ronds (Assistance, Téléphone, Thème) */
.action-icon {
    width: 42px; 
    height: 42px; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 1.4rem; 
    text-decoration: none;
    border: none;
    background: rgba(15, 23, 42, 0.05); 
    color: var(--text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0;
}

/* Fond adapté pour le mode sombre */
[data-theme="dark"] .action-icon {
    background: rgba(255, 255, 255, 0.05);
}

.btn-support {
    background: rgba(16, 185, 129, 0.1) !important;
    color: #10b981 !important;
}
.btn-support:hover {
    background: #10b981 !important;
    color: white !important;
    box-shadow: 0 8px 15px rgba(16, 185, 129, 0.3) !important;
}

/* Hover moderne (devient bleu Sarreinfo au survol) */
.action-icon:hover {
    background: var(--accent);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(14, 165, 233, 0.25);
}

/* Bouton Espace Client / Accès */
.btn-portal { 
    background: var(--text); 
    color: var(--bg); 
    padding: 0.6rem 1.2rem; 
    border-radius: 8px; 
    border: none; 
    font-weight: 700; 
    cursor: pointer; 
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
    font-size: 0.85rem; 
    margin-left: 5px; 
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-portal:hover { 
    background: var(--accent); 
    color: white; 
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(14, 165, 233, 0.25);
}

@keyframes popIn { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }

/* =========================================
   BENTO GRID & SPOTLIGHT EFFECT
   ========================================= */
strong { font-weight: 800; color: var(--accent); }
.bento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

.card { 
    background: var(--card); backdrop-filter: blur(10px); border-radius: 1.5rem; padding: 2rem; 
    box-shadow: var(--glass-shadow); border: 1px solid rgba(255,255,255,0.1); 
    position: relative; overflow: hidden; 
}
.card::before { 
    content: ""; 
    position: absolute; 
    inset: 0; 
    background: radial-gradient(50px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(14, 165, 233, 0.25), transparent 40%); 
    z-index: 0; 
    pointer-events: none; 
    opacity: 0; 
    transition: opacity 0.3s ease; 
}
.card:hover::before { 
    opacity: 1; 
}
.card > * { position: relative; z-index: 1; }

.hero { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(135deg, var(--card) 50%, transparent 100%), url('https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&q=80'); background-size: cover; border-color: rgba(14, 165, 233, 0.3); }
.hero h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; margin: 1rem 0; font-weight: 800; background: linear-gradient(135deg, var(--text) 0%, var(--accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
[data-theme="dark"] .hero h1 { background: linear-gradient(135deg, #ffffff 0%, #00e5ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.badge { display: inline-flex; align-items: center; background: #0f172a; color: #00e5ff; padding: 0.5rem 1.2rem; border-radius: 50px; font-weight: 800; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 1.5rem; width: fit-content; border: 1px solid rgba(0, 229, 255, 0.3); box-shadow: 0 4px 15px rgba(0,0,0,0.15); }
.terminal { background: #0f172a; color: #10b981; padding: 1.5rem; border-radius: 1rem; font-family: monospace; min-height: 80px; margin-top: 1rem; box-shadow: inset 0 4px 20px rgba(0,0,0,0.5); }
.seo-section { grid-column: 1 / -1; background: var(--seo-bg); backdrop-filter: blur(5px); padding: 1.5rem; border-left: 4px solid var(--accent); border-radius: 0 1rem 1rem 0; margin-bottom: 1rem; color: var(--text); font-size: 1.05rem; line-height: 1.7; font-weight: 500; }

/* =========================================
   DESIGN PREMIUM : CARTES CLASSIQUES (Image haut, texte bas)
   ========================================= */
.card.has-bg { 
    background: var(--card) !important; position: relative; overflow: hidden; padding: 0 !important; 
    display: flex; flex-direction: column; min-height: 100%; box-shadow: var(--glass-shadow); border: 1px solid rgba(255,255,255,0.1); 
}
.card-bg-img { 
    position: relative !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 220px !important; 
    background-size: cover; background-position: center; z-index: 1 !important; flex-shrink: 0; animation: none !important; transition: transform 0.5s ease; 
}
.card.has-bg:hover .card-bg-img { transform: scale(1.05); }
.card-text-box { position: relative; z-index: 3 !important; background: transparent !important; backdrop-filter: none !important; padding: 2rem !important; display: flex; flex-direction: column; flex: 1; border: none !important; box-shadow: none !important; }
.card-text-box h3 { color: var(--text) !important; text-shadow: none; margin-bottom: 15px; }
.card-text-box p { color: var(--muted) !important; text-shadow: none; font-size: 0.95rem; margin-bottom: 20px; }
.card-text-box .seo-list { color: var(--muted) !important; padding-left: 20px; font-size: 0.9rem; line-height: 1.6; margin-top: auto; }
.card-text-box .seo-list li { color: var(--text) !important; margin-bottom: 8px; text-shadow: none; font-weight: 500; }

/* =========================================
   WIDGETS & MODAL
   ========================================= */
.input-field { width: 100%; padding: 0.8rem; border: 1px solid var(--header-border); border-radius: 0.5rem; margin-top: 10px; font-family: 'Inter'; background: rgba(0,0,0,0.03); color: var(--text); outline: none; transition: border-color 0.3s; }
.input-field:focus { border-color: var(--accent); }
.btn-action { background: var(--accent); color: white; padding: 1rem; border-radius: 0.75rem; text-decoration: none; font-weight: 600; display: block; margin-top: 15px; border: none; width: 100%; text-align: center; cursor: pointer; transition: background 0.3s, transform 0.2s; }
.btn-action:hover { background: #0284c7; transform: translateY(-2px); }
.pwd-meter { height: 6px; background: #e2e8f0; border-radius: 3px; margin-top: 15px; overflow: hidden; }
.pwd-fill { height: 100%; width: 0%; transition: width 0.3s, background 0.3s; }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--modal-bg); justify-content: center; align-items: center; z-index: 1000; }
.modal-content { background: var(--modal-content); padding: 3rem; border-radius: 1.5rem; width: 90%; max-width: 400px; text-align: center; border: 1px solid rgba(255,255,255,0.2); }

/* =========================================
   FOOTER 4 COLONNES (CLEAN & MODERN)
   ========================================= */
.main-footer {
    margin-top: 4rem;
    padding: 4rem 2rem 2rem;
    background: var(--card);
    border-top: 1px solid var(--header-border);
    backdrop-filter: blur(10px);
}

.grid-4-cols {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.5fr; /* Les colonnes texte sont plus larges que les colonnes nav */
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-section h4 {
    color: var(--accent);
    margin-bottom: 1.5rem;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
}

.logo-footer {
    font-size: 1.6rem;
    font-weight: 900;
    text-decoration: none;
    color: var(--text);
    display: block;
    margin-bottom: 1rem;
}
.logo-footer span { color: var(--accent); }

.footer-text {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Navigations */
.footer-nav a {
    display: block;
    color: var(--text);
    text-decoration: none;
    font-size: 0.95rem;
    margin-bottom: 0.8rem;
    transition: all 0.3s ease;
    font-weight: 500;
}
.footer-nav a:hover {
    color: var(--accent);
    transform: translateX(5px);
}

.txt-support {
    color: #10b981 !important;
    font-weight: 700 !important;
}

/* Section Contact & Suppression soulignement */
.contact-info p {
    color: var(--muted);
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.contact-info i { color: var(--accent); }

.contact-link a {
    text-decoration: none !important;
    color: var(--text) !important;
    font-weight: 600;
    transition: color 0.3s;
}
.contact-link a:hover {
    color: var(--accent) !important;
}

.footer-bottom {
    max-width: 1200px;
    margin: 3rem auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--header-border);
    text-align: center;
    color: var(--muted);
    font-size: 0.85rem;
}

/* Responsive */
@media (max-width: 900px) {
    .grid-4-cols {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 500px) {
    .grid-4-cols {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-nav a:hover { transform: none; }
    .contact-info p { justify-content: center; }
}

/* =========================================
   ANIMATION D'ENTRÉE PURE CSS (ANTI-BUG)
   ========================================= */
.s-card {
    opacity: 0;
    animation: sCardFadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Effet cascade subtil */
.s-card:nth-child(1) { animation-delay: 0.1s; }
.s-card:nth-child(2) { animation-delay: 0.2s; }
.s-card:nth-child(3) { animation-delay: 0.3s; }
.s-card:nth-child(4) { animation-delay: 0.4s; }
.s-card:nth-child(5) { animation-delay: 0.5s; }
.s-card:nth-child(6) { animation-delay: 0.6s; }
.s-card:nth-child(7) { animation-delay: 0.7s; }

@keyframes sCardFadeIn {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================
   GADGETS PREMIUM (SCROLLBAR & GLOW)
   ========================================= */
/* 1. La Scrollbar Fantôme (Chrome/Edge/Safari) */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--header-border); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }

/* 2. Le Glow au survol des cartes */
.card { transition: box-shadow 0.4s ease; }
.card:hover { box-shadow: 0 25px 50px rgba(0,0,0,0.1), 0 0 30px rgba(14, 165, 233, 0.15); }

/* 3. Le style du Menu Actif */
.nav-links a.active { color: var(--accent); position: relative; }
.nav-links a.active::after { 
    content: ''; position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); 
    width: 20px; height: 3px; background: var(--accent); border-radius: 5px; 
    animation: popIn 0.3s ease forwards; 
}

.footer-legal-nav a {
    font-size: 0.8rem;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-legal-nav a:hover {
    color: var(--accent);
}

.separator {
    margin: 0 8px;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.social-link i {
    color: var(--text-dim);
    transition: all 0.3s ease;
}

.social-link:hover i {
    color: var(--accent);
    transform: translateY(-3px) scale(1.1); /* Petit saut vers le haut */
}

/* Bouton WhatsApp Flottant */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 20px;
    right: 20px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    color: #FFF;
}

/* On le cache sur les très petits écrans si besoin, ou on le réduit */
@media screen and (max-width: 767px) {
    .whatsapp-float {
        width: 50px;
        height: 50px;
        bottom: 15px;
        right: 15px;
        font-size: 25px;
    }
}
/* --- GESTION DES BOUTONS --- */
.mobile-only { display: none !important; }
.burger-menu { display: none !important; }

@media (max-width: 768px) {
    /* Cache le bouton PC */
    .desktop-only { display: none !important; }
    
    /* Affiche le bouton Mobile et le Burger */
    .mobile-only { display: flex !important; margin-top: 25px; }
    .burger-menu { display: flex !important; z-index: 10001; }

    /* LE FIX DU MENU */
    .nav-links {
        display: flex !important; /* Force l'affichage */
        flex-direction: column;
        position: fixed;
        top: 0;
        right: -100%; /* Position de départ (caché) */
        width: 80%;
        height: 100vh;
        background-color: #1e293b !important; /* Couleur solide pour ne pas voir à travers */
        padding: 100px 30px;
        transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 10000 !important; /* Passe devant les cartes Bento et la Cyber Météo */
        box-shadow: -10px 0 30px rgba(0,0,0,0.5);
    }

    /* Quand le menu est ouvert */
    .nav-links.active {
        right: 0 !important;
    }

    /* Style des liens dans le menu mobile pour être sûr qu'on les voit */
    .nav-links a {
        color: white !important;
        font-size: 1.3rem;
        padding: 15px 0;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        width: 100%;
        display: block;
    }
}
/* --- CORRECTION TAILLE HERO SUR MOBILE --- */
@media (max-width: 768px) {
    /* Le titre principal (là où il y a probablement "Informatique") */
    #h-title {
        font-size: 1.5rem !important; /* Modifie cette valeur si c'est encore trop gros (ex: 1.8rem) */        line-height: 1.2;
        word-wrap: break-word; /* Évite que les mots trop longs ne dépassent de l'écran */
    }

    /* Le texte animé (terminal) en dessous, au cas où lui aussi prend trop de place */
    #type-target, .terminal {
        font-size: 1.1rem !important;
    }
    .terminal {
        /* On bloque la hauteur pour éviter que la page saute */
        min-height: 4.5rem; /* Réserve la place pour 2 ou 3 lignes */
        display: flex;
        align-items: center; /* Centre le texte verticalement si jamais il n'y a qu'une ligne */
        padding: 10px !important; 
        margin-top: 15px !important;
    }

    #type-target, .terminal span {
        font-size: 0.85rem !important; 
        line-height: 1.4 !important;
    }

}

@keyframes popIn { from { width: 0; opacity: 0; } to { width: 20px; opacity: 1; } }

@media (max-width: 900px) { .bento { grid-template-columns: 1fr; } .hero { grid-column: span 1; } .nav-links { display: none; } header { justify-content: center; } .footer-content { grid-template-columns: 1fr; gap: 2rem; text-align: center; } }