/* presenter-themes.css - Tous les thèmes et leurs styles complets */
/* Version 53 - 14 archétypes distincts (fonts auto-hebergees, smileys, gras) */

/* ==================== POLICES (auto-hebergees) ====================
   Les polices sont chargees une seule fois et localement via
   proappli-fonts.css (self-host, aucune requete vers Google Fonts). */

/* ==================== BASE DE LA SLIDE & IMAGES ==================== */

.slide {
    background: var(--bg-slide, #ffffff);
    background-size: cover;
    background-position: center;
    border-top: var(--slide-border-top, none);
    border-left: var(--slide-border-left, none);
    border-bottom: var(--slide-border-bottom, none);
    border-right: var(--slide-border-right, none);
    box-sizing: border-box;
    transition: background 0.3s ease, border 0.3s ease;
}

.slide img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border: var(--img-border, none);
    border-radius: var(--img-radius, 8px);
    box-shadow: var(--img-shadow, 0 4px 12px rgba(0, 0, 0, 0.1));
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.slide img:hover {
    transform: translateY(-2px);
    box-shadow: var(--img-shadow-hover, 0 6px 18px rgba(0, 0, 0, 0.15));
}

.slide .img-top { order: -1; margin-bottom: 1.2rem; }
.slide .img-bottom { order: 1; margin-top: 1.2rem; }
.slide .img-left { float: left; margin-right: 1.5rem; margin-bottom: 1rem; }
.slide .img-right { float: right; margin-left: 1.5rem; margin-bottom: 1rem; }

.slide pre, .slide code {
    font-family: var(--font-code, 'Fira Code', 'Monaco', 'Menlo', monospace);
}

/* ==================== 1. THÈME BUSINESS (corporate-blue) ==================== */

.theme-corporate-blue {
    --primary-color: #1e3a8a;
    --title-color: #1e3a8a;
    --subtitle-color: #3b82f6;
    --text-color: #1f2937;
    --bg-columns: #f1f5f9;
    --bg-slide: #ffffff;
    --slide-border-left: 8px solid #1e3a8a;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 1px solid #dbeafe;
    --img-radius: 6px;
    --img-shadow: 0 4px 12px rgba(30, 58, 138, 0.12);
    --img-shadow-hover: 0 8px 20px rgba(30, 58, 138, 0.2);
    font-family: 'Inter', system-ui, 'Segoe UI', sans-serif;
}

.theme-corporate-blue h1 {
    color: var(--title-color);
    border-bottom: 3px solid var(--primary-color);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

.theme-corporate-blue h2, .theme-corporate-blue h3 { color: var(--subtitle-color); }
.theme-corporate-blue ul { list-style: none; padding-left: 1.2rem; }
.theme-corporate-blue ul li::before {
    content: "■";
    color: var(--primary-color);
    font-size: 0.8rem;
    margin-right: 0.6rem;
}

.theme-corporate-blue blockquote {
    border-left: 4px solid var(--primary-color);
    background-color: var(--bg-columns);
    padding: 0.8rem 1.2rem;
    font-style: italic;
    border-radius: 0 6px 6px 0;
}

/* ==================== 2. THÈME FUN (creative-orange) ==================== */

.theme-creative-orange {
    --primary-color: #f97316;
    --title-color: #ea580c;
    --subtitle-color: #06b6d4;
    --text-color: #374151;
    --bg-columns: #fff7ed;
    --bg-slide: #ffffff;
    --slide-border-top: 8px solid #f97316;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-radius: 18px;
    --img-shadow: 0 8px 20px rgba(249, 115, 22, 0.18);
    --img-shadow-hover: 0 12px 28px rgba(249, 115, 22, 0.28);
    font-family: 'Caveat', 'Comic Sans MS', cursive;
}

.theme-creative-orange h1 {
    color: var(--title-color);
    border-bottom: 3px dashed #fdba74;
    padding-bottom: 0.3rem;
}
.theme-creative-orange h2, .theme-creative-orange h3 { color: var(--subtitle-color); }

.theme-creative-orange ul { list-style: none; padding-left: 1.2rem; }
.theme-creative-orange ul li::before { content: "🎈"; margin-right: 0.6rem; }

.theme-creative-orange blockquote {
    background: #e0f2fe;
    border: 2px dashed #06b6d4;
    padding: 0.8rem 1.2rem;
    border-radius: 16px;
    font-style: italic;
}

/* ==================== 3. THÈME INSPIRANT (tech-purple) ==================== */

.theme-tech-purple {
    --primary-color: #7c3aed;
    --title-color: #6d28d9;
    --subtitle-color: #9333ea;
    --text-color: #1f2937;
    --bg-columns: #f5f3ff;
    --bg-slide: linear-gradient(135deg, #ffffff 0%, #f5f3ff 100%);
    --slide-border-top: 4px solid #6d28d9;
    --slide-border-bottom: 2px solid #d4af37;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-radius: 12px;
    --img-shadow: 0 10px 25px rgba(109, 40, 217, 0.15);
    --img-shadow-hover: 0 14px 30px rgba(109, 40, 217, 0.25);
    font-family: 'Playfair Display', Georgia, serif;
}

.theme-tech-purple h1 {
    color: var(--title-color);
    font-style: italic;
    border-bottom: 1px solid #d4af37;
    padding-bottom: 0.4rem;
    margin-bottom: 1.5rem;
}
.theme-tech-purple h2, .theme-tech-purple h3 { color: var(--subtitle-color); }

.theme-tech-purple ul { list-style: none; padding-left: 1.2rem; }
.theme-tech-purple ul li::before { content: "✦"; color: var(--primary-color); margin-right: 0.6rem; }

.theme-tech-purple blockquote {
    border-left: 4px solid var(--title-color);
    background: var(--bg-columns);
    padding: 1rem;
    border-radius: 8px;
    font-style: italic;
}

/* ==================== 4. THÈME JOURNAL (warm-terracotta) ==================== */

.theme-warm-terracotta {
    --primary-color: #b91c1c;
    --title-color: #111827;
    --subtitle-color: #6b7280;
    --text-color: #1f2937;
    --bg-columns: #f8fafc;
    --bg-slide: #fcfaf7;
    --slide-border-top: 5px solid #b91c1c;
    --slide-border-bottom: 1px solid #cbd5e1;
    --font-code: 'Courier Prime', 'Courier New', monospace;
    --img-border: 1px solid #d4cfc6;
    --img-radius: 4px;
    --img-shadow: 0 6px 18px rgba(17, 24, 39, 0.08);
    --img-shadow-hover: 0 10px 24px rgba(17, 24, 39, 0.15);
    font-family: 'Newsreader', Georgia, serif;
}

.theme-warm-terracotta h1 {
    color: var(--title-color);
    border-bottom: 3px double #d4cfc6;
    padding-bottom: 0.4rem;
    font-weight: 800;
}
.theme-warm-terracotta h2, .theme-warm-terracotta h3 { color: var(--subtitle-color); }

.theme-warm-terracotta ul { list-style: none; padding-left: 1.2rem; }
.theme-warm-terracotta ul li::before { content: "▪"; color: var(--primary-color); margin-right: 0.6rem; }

.theme-warm-terracotta blockquote {
    background: var(--bg-columns);
    border-left: 4px solid var(--primary-color);
    padding: 1rem;
    font-style: italic;
    border-radius: 0 6px 6px 0;
}

/* ==================== 5. THÈME NATURE VERTE (nature-green) ==================== */

.theme-nature-green {
    --primary-color: #2d6a4f;
    --title-color: #1b4332;
    --subtitle-color: #40916c;
    --text-color: #263238;
    --bg-columns: #ecfdf5;
    --bg-slide: #ffffff;
    --slide-border-bottom: 8px solid #2d6a4f;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 2px solid #a7d7c5;
    --img-radius: 12px;
    --img-shadow: 0 6px 16px rgba(45, 106, 79, 0.12);
    --img-shadow-hover: 0 8px 22px rgba(45, 106, 79, 0.2);
    font-family: 'Lato', 'Open Sans', sans-serif;
}

.theme-nature-green h1 {
    color: var(--title-color);
    border-bottom: 2px dashed #74c69d;
    padding-bottom: 0.4rem;
}
.theme-nature-green h2, .theme-nature-green h3 { color: var(--subtitle-color); }

.theme-nature-green ul { list-style: none; padding-left: 1.2rem; }
.theme-nature-green ul li::before { content: "☘"; color: var(--primary-color); margin-right: 0.6rem; }

.theme-nature-green blockquote {
    border-left: 4px solid var(--primary-color);
    background: var(--bg-columns);
    padding: 0.8rem 1.2rem;
    border-radius: 4px;
    font-style: italic;
}

/* ==================== 6. THÈME BIG BOLD (bold-red) ==================== */

.theme-bold-red {
    --primary-color: #eab308;
    --title-color: #111827;
    --subtitle-color: #eab308;
    --text-color: #1f2937;
    --bg-columns: #fffbeb;
    --bg-slide: #ffffff;
    --slide-border-left: 12px solid #eab308;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-radius: 4px;
    --img-shadow: 8px 8px 0px #fef3c7;
    --img-shadow-hover: 10px 10px 0px #fde68a;
    font-family: 'Montserrat', 'Arial Black', sans-serif;
}

.theme-bold-red h1 {
    color: var(--title-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 900;
}
.theme-bold-red h2, .theme-bold-red h3 { color: var(--subtitle-color); font-weight: 800; }
.theme-bold-red p, .theme-bold-red li { font-weight: 600; }
.theme-bold-red ul { list-style: none; padding-left: 1.2rem; }
.theme-bold-red ul li::before { content: "▮"; color: var(--primary-color); margin-right: 0.6rem; }

.theme-bold-red blockquote {
    background: #fffbeb;
    border-left: 8px solid var(--primary-color);
    padding: 1rem;
    font-weight: 700;
    border-radius: 0 8px 8px 0;
}

/* ==================== 7. THÈME FUTURISTE (cyber-neon) ==================== */

.theme-cyber-neon {
    --primary-color: #00ffcc;
    --title-color: #00ffcc;
    --subtitle-color: #ff007f;
    --text-color: #e2e8f0;
    --bg-slide: radial-gradient(circle at center, #12151e 0%, #090a0f 100%);
    --bg-columns: #12151e;
    --slide-border-left: 3px solid #00ffcc;
    --slide-border-right: 3px solid #ff007f;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 1px solid #00ffcc;
    --img-radius: 4px;
    --img-shadow: 0 0 12px rgba(0, 255, 204, 0.25);
    --img-shadow-hover: 0 0 20px rgba(0, 255, 204, 0.5);
    color: var(--text-color);
    font-family: 'Space Grotesk', sans-serif;
}

.theme-cyber-neon h1 { color: var(--title-color); text-shadow: 0 0 8px rgba(0, 255, 204, 0.4); }
.theme-cyber-neon h2, .theme-cyber-neon h3 { color: var(--subtitle-color); text-shadow: 0 0 6px rgba(255, 0, 127, 0.3); }
.theme-cyber-neon p, .theme-cyber-neon li { color: var(--text-color); }
.theme-cyber-neon ul { list-style: none; padding-left: 1.2rem; }
.theme-cyber-neon ul li::before { content: ">"; color: var(--primary-color); font-family: var(--font-code); font-weight: bold; margin-right: 0.6rem; }
.theme-cyber-neon blockquote { background: var(--bg-columns); border: 1px solid var(--subtitle-color); padding: 1rem; box-shadow: 0 0 10px rgba(255, 0, 127, 0.15); }

/* ==================== 8. THÈME NEWS TV (dark-elegant) ==================== */

.theme-dark-elegant {
    --primary-color: #e63946;
    --title-color: #f8fafc;
    --subtitle-color: #e63946;
    --text-color: #e2e8f0;
    --bg-slide: #0f172a;
    --bg-columns: #1e293b;
    --slide-border-top: 6px solid #e63946;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 1px solid #334155;
    --img-radius: 6px;
    --img-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    --img-shadow-hover: 0 14px 35px rgba(0, 0, 0, 0.7);
    color: var(--text-color);
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
}

.theme-dark-elegant h1 {
    color: var(--title-color);
    text-transform: uppercase;
    letter-spacing: 2px;
    border-bottom: 3px solid var(--primary-color);
    padding-bottom: 0.3rem;
}
.theme-dark-elegant h2, .theme-dark-elegant h3 { color: var(--subtitle-color); }
.theme-dark-elegant p, .theme-dark-elegant li { color: var(--text-color); }
.theme-dark-elegant ul { list-style: none; padding-left: 1.2rem; }
.theme-dark-elegant ul li::before { content: "▌"; color: var(--primary-color); margin-right: 0.6rem; }
.theme-dark-elegant blockquote { border-left: 4px solid var(--primary-color); background: var(--bg-columns); padding: 1rem; color: #f1f5f9; }

/* ==================== 9. THÈME BLEU NUIT (dark-blue) ==================== */

.theme-dark-blue {
    --primary-color: #60a5fa;
    --title-color: #60a5fa;
    --subtitle-color: #93c5fd;
    --text-color: #e5e7eb;
    --bg-slide: #0f172a;
    --bg-columns: #1e293b;
    --slide-border-left: 5px solid #60a5fa;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 1px solid #334155;
    --img-radius: 10px;
    --img-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    --img-shadow-hover: 0 12px 32px rgba(96, 165, 250, 0.2);
    color: var(--text-color);
    font-family: 'Inter', system-ui, 'Segoe UI', sans-serif;
}

.theme-dark-blue h1, .theme-dark-blue h2, .theme-dark-blue h3 { color: var(--title-color); }
.theme-dark-blue p, .theme-dark-blue li { color: var(--text-color); }
.theme-dark-blue ul { list-style: none; padding-left: 1.2rem; }
.theme-dark-blue ul li::before { content: "▲"; color: var(--primary-color); font-size: 0.7rem; margin-right: 0.6rem; }
.theme-dark-blue blockquote { border-left: 4px solid var(--primary-color); background: var(--bg-columns); padding: 0.8rem 1.2rem; }

/* ==================== 10. THÈME VIOLET SOMBRE (dark-purple) ==================== */

.theme-dark-purple {
    --primary-color: #a78bfa;
    --title-color: #c4b5fd;
    --subtitle-color: #a78bfa;
    --text-color: #e5e7eb;
    --bg-slide: #1e1b4b;
    --bg-columns: #312e81;
    --slide-border-top: 5px solid #a78bfa;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-radius: 12px;
    --img-shadow: 0 8px 25px rgba(0, 0, 0, 0.6);
    --img-shadow-hover: 0 12px 32px rgba(167, 139, 250, 0.25);
    color: var(--text-color);
    font-family: 'Inter', system-ui, 'Segoe UI', sans-serif;
}

.theme-dark-purple h1, .theme-dark-purple h2, .theme-dark-purple h3 { color: var(--title-color); }
.theme-dark-purple p, .theme-dark-purple li { color: var(--text-color); }
.theme-dark-purple ul { list-style: none; padding-left: 1.2rem; }
.theme-dark-purple ul li::before { content: "◈"; color: var(--primary-color); margin-right: 0.6rem; }
.theme-dark-purple blockquote { background: var(--bg-columns); border-left: 4px solid var(--title-color); padding: 1rem; }

/* ==================== 11. THÈME OCÉAN BLEU (ocean-blue) ==================== */

.theme-ocean-blue {
    --primary-color: #0077b6;
    --title-color: #03045e;
    --subtitle-color: #00b4d8;
    --text-color: #1a2a3a;
    --bg-columns: #ecfeff;
    --bg-slide: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
    --slide-border-bottom: 6px solid #0077b6;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-radius: 12px;
    --img-shadow: 0 6px 18px rgba(0, 119, 182, 0.15);
    --img-shadow-hover: 0 10px 24px rgba(0, 119, 182, 0.25);
    font-family: 'Roboto Slab', Georgia, serif;
}

.theme-ocean-blue h1 { color: var(--title-color); border-bottom: 2px solid #90e0ef; padding-bottom: 0.4rem; }
.theme-ocean-blue h2, .theme-ocean-blue h3 { color: var(--subtitle-color); }
.theme-ocean-blue ul { list-style: none; padding-left: 1.2rem; }
.theme-ocean-blue ul li::before { content: "≈"; color: var(--primary-color); font-weight: bold; margin-right: 0.6rem; }
.theme-ocean-blue blockquote { background: var(--bg-columns); border-left: 4px solid var(--primary-color); padding: 0.8rem 1.2rem; font-style: italic; }

/* ==================== 12. THÈME MINIMAL (minimal) ==================== */

.theme-minimal {
    --primary-color: #000000;
    --title-color: #000000;
    --subtitle-color: #666666;
    --text-color: #1a1a1a;
    --bg-columns: #f5f5f5;
    --bg-slide: #ffffff;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 1px solid #e5e5e5;
    --img-radius: 0px;
    --img-shadow: none;
    --img-shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.08);
    font-family: 'Inter', system-ui, 'Segoe UI', sans-serif;
}

.theme-minimal h1 { color: var(--title-color); font-weight: 700; letter-spacing: -0.5px; }
.theme-minimal h2, .theme-minimal h3 { color: var(--subtitle-color); }
.theme-minimal ul { list-style: disc; padding-left: 1.2rem; }
.theme-minimal blockquote { border-left: 2px solid #000000; padding-left: 1rem; font-style: italic; }

/* ==================== 13. THÈME BÉBÉS (babies) ==================== */

.theme-babies {
    --primary-color: #f4a7c3;
    --title-color: #5b7bd5;
    --subtitle-color: #9ec1f0;
    --text-color: #3a4a6b;
    --bg-columns: #eef4ff;
    --bg-slide: #fffbfe;
    --slide-border-top: 10px solid #f4a7c3;
    --slide-border-bottom: 5px solid #9ec1f0;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 2px solid #dbe7ff;
    --img-radius: 20px;
    --img-shadow: 0 8px 22px rgba(244, 167, 195, 0.25);
    --img-shadow-hover: 0 12px 30px rgba(244, 167, 195, 0.35);
    font-family: 'Baloo 2', 'Comic Sans MS', cursive;
}

.theme-babies h1 {
    color: var(--title-color);
    border-bottom: 3px dashed #dbe7ff;
    padding-bottom: 0.4rem;
    font-style: italic;
}
.theme-babies h2, .theme-babies h3 { color: var(--subtitle-color); }
.theme-babies ul { list-style: none; padding-left: 1.2rem; }
.theme-babies ul li::before { content: "🧸"; margin-right: 0.6rem; }
.theme-babies blockquote {
    background: #fde9f1;
    border: 2px dashed #f4a7c3;
    padding: 0.8rem 1.2rem;
    border-radius: 16px;
    font-style: italic;
}

/* ==================== 14. THÈME ENFANTS (kids) ==================== */

.theme-kids {
    --primary-color: #ff6b6b;
    --title-color: #ff9f1c;
    --subtitle-color: #4d96ff;
    --text-color: #2d3748;
    --bg-columns: #fff3e0;
    --bg-slide: #ffffff;
    --slide-border-bottom: 10px solid #ff6b6b;
    --slide-border-top: 4px solid #4d96ff;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 3px solid #ffe0b2;
    --img-radius: 22px;
    --img-shadow: 0 8px 22px rgba(255, 107, 107, 0.25);
    --img-shadow-hover: 0 12px 30px rgba(255, 107, 107, 0.35);
    font-family: 'Fredoka', system-ui, 'Segoe UI', sans-serif;
}

.theme-kids h1 {
    color: var(--title-color);
    border-bottom: 3px dotted var(--primary-color);
    padding-bottom: 0.3rem;
}
.theme-kids h2, .theme-kids h3 { color: var(--subtitle-color); }
.theme-kids ul { list-style: none; padding-left: 1.2rem; }
.theme-kids ul li::before { content: "⭐"; margin-right: 0.6rem; }
.theme-kids blockquote { background: #e0f2fe; border-left: 6px solid #4d96ff; padding: 0.8rem 1.2rem; border-radius: 0 12px 12px 0; font-weight: 600; font-style: italic; }

/* ==================== 15. THÈME ROMANTIQUE (romantic) ==================== */

.theme-romantic {
    --primary-color: #d6336c;
    --title-color: #c2185b;
    --subtitle-color: #e6a8c8;
    --text-color: #4a3f49;
    --bg-columns: #fdf2f8;
    --bg-slide: #fffafc;
    --slide-border-left: 6px solid #d6336c;
    --slide-border-right: 2px solid #f3c3dc;
    --font-code: 'Fira Code', 'Monaco', monospace;
    --img-border: 2px solid #f3c3dc;
    --img-radius: 16px;
    --img-shadow: 0 8px 20px rgba(214, 51, 108, 0.15);
    --img-shadow-hover: 0 12px 28px rgba(214, 51, 108, 0.25);
    font-family: 'Dancing Script', 'Comic Sans MS', cursive;
}

.theme-romantic h1 {
    color: var(--title-color);
    border-bottom: 2px solid #f3c3dc;
    padding-bottom: 0.3rem;
}
.theme-romantic h2, .theme-romantic h3 { color: var(--subtitle-color); }
.theme-romantic ul { list-style: none; padding-left: 1.2rem; }
.theme-romantic ul li::before { content: "❥"; color: var(--primary-color); margin-right: 0.6rem; }
.theme-romantic blockquote { background: #fdf2f8; border-left: 4px solid var(--primary-color); padding: 0.8rem 1.2rem; border-radius: 0 10px 10px 0; font-style: italic; }

/* ==================== 16. THÈME VIEUX LIVRE (oldbook) ==================== */

.theme-oldbook {
    --primary-color: #7f5539;
    --title-color: #4a2c1d;
    --subtitle-color: #a47148;
    --text-color: #3e2f23;
    --bg-columns: #faf5ec;
    --bg-slide: #f7f1e6;
    --slide-border-top: 3px solid #7f5539;
    --slide-border-bottom: 3px solid #7f5539;
    --font-code: 'Courier Prime', 'Courier New', monospace;
    --img-border: 1px solid #d6c4a9;
    --img-radius: 2px;
    --img-shadow: 0 6px 18px rgba(74, 44, 29, 0.12);
    --img-shadow-hover: 0 10px 24px rgba(74, 44, 29, 0.2);
    color: var(--text-color);
    font-family: 'Cinzel', Georgia, serif;
}

.theme-oldbook h1 {
    color: var(--title-color);
    text-transform: uppercase;
    letter-spacing: 3px;
    border-bottom: 1px solid #d6c4a9;
    padding-bottom: 0.4rem;
}
.theme-oldbook h2, .theme-oldbook h3 { color: var(--subtitle-color); letter-spacing: 1px; }
.theme-oldbook p, .theme-oldbook li { color: var(--text-color); }
.theme-oldbook ul { list-style: none; padding-left: 1.2rem; }
.theme-oldbook ul li::before { content: "❧"; color: var(--primary-color); margin-right: 0.6rem; }
.theme-oldbook blockquote { background: var(--bg-columns); border-left: 3px solid var(--primary-color); padding: 1rem; font-style: italic; font-size: 1.05em; }

/* ==================== 17. THÈME RÉTROGAMING (retro) ==================== */

.theme-retro {
    --primary-color: #00e676;
    --title-color: #00e676;
    --subtitle-color: #ffd166;
    --text-color: #e0f2e9;
    --bg-slide: #0a0f0d;
    --bg-columns: #0a0f0d;
    --slide-border-left: 10px solid #00e676;
    --slide-border-top: 2px solid #ffd166;
    --font-code: 'Press Start 2P', 'Courier New', monospace;
    --img-border: 3px solid #00e676;
    --img-radius: 0px;
    --img-shadow: 4px 4px 0px #004d2e;
    --img-shadow-hover: 0 0 16px rgba(0, 230, 118, 0.4);
    color: var(--text-color);
    font-family: 'Press Start 2P', 'Courier New', monospace;
}

.theme-retro h1 { color: var(--title-color); text-shadow: 3px 3px 0 #004d2e; letter-spacing: 1px; line-height: 1.4; }
.theme-retro h2, .theme-retro h3 { color: var(--subtitle-color); text-shadow: 2px 2px 0 #4d3a00; line-height: 1.5; }
.theme-retro p, .theme-retro li { color: var(--text-color); line-height: 1.8; }
.theme-retro ul { list-style: none; padding-left: 1.2rem; }
.theme-retro ul li::before { content: "▸"; color: var(--primary-color); margin-right: 0.6rem; }
.theme-retro blockquote { background: #0a0f0d; border: 2px solid #ffd166; padding: 1rem; color: #ffe9a8; }

/* ==================== POLICES PAR STYLE ==================== */

.style-professional .slide { font-family: 'Inter', system-ui, 'Segoe UI', sans-serif; }
.style-friendly .slide    { font-family: 'Caveat', 'Comic Sans MS', cursive; }
.style-inspiring .slide   { font-family: 'Playfair Display', Georgia, serif; }
.style-editorial .slide   { font-family: 'Newsreader', Georgia, serif; }
.style-nature .slide      { font-family: 'Lato', 'Open Sans', sans-serif; }
.style-bold .slide        { font-family: 'Montserrat', 'Arial Black', sans-serif; }
.style-cyber .slide       { font-family: 'Space Grotesk', sans-serif; }
.style-dark .slide        { font-family: 'Oswald', 'Arial Narrow', sans-serif; }
.style-kids .slide        { font-family: 'Fredoka', system-ui, 'Segoe UI', sans-serif; }
.style-babies .slide      { font-family: 'Baloo 2', 'Comic Sans MS', cursive; }
.style-romantic .slide    { font-family: 'Dancing Script', 'Comic Sans MS', cursive; }
.style-oldbook .slide     { font-family: 'Cinzel', Georgia, serif; }
.style-ocean .slide       { font-family: 'Roboto Slab', Georgia, serif; }
.style-retro .slide       { font-family: 'Press Start 2P', 'Courier New', monospace; }