From 8e8fc0fbd6fa70d04c2a7b5e6060985276224c84 Mon Sep 17 00:00:00 2001 From: 7ka1 <7ka1@noreply.localhost> Date: Fri, 14 Nov 2025 22:06:38 +0000 Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?= =?UTF-8?q?"css"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/style.css | 637 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 637 insertions(+) create mode 100644 css/style.css diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..1221468 --- /dev/null +++ b/css/style.css @@ -0,0 +1,637 @@ +/* --- Imports de Polices Google Fonts --- */ +@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&family=Oswald:wght@500;700&display=swap'); + +/* --- Variables CSS pour la facilité --- */ +:root { + --primary-color: #e50914; /* Rouge Netflix */ + --secondary-color: #f4f4f4; /* Blanc/Gris clair */ + --dark-bg: #141414; /* Fond très sombre */ + --medium-bg: #1f1f1f; /* Fond un peu moins sombre */ + --light-bg: #2b2b2b; /* Fond légèrement plus clair */ + --text-color: #ffffff; + --text-light: #cccccc; + --font-heading: 'Oswald', sans-serif; + --font-body: 'Montserrat', sans-serif; +} + +/* --- Reset & Global --- */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: var(--font-body); + background-color: var(--dark-bg); + color: var(--text-color); + line-height: 1.6; + scroll-behavior: smooth; +} + +a { + color: var(--primary-color); + text-decoration: none; + transition: color 0.3s ease; +} + +a:hover { + color: var(--secondary-color); +} + +ul { + list-style: none; +} + +/* --- Header Global --- */ +.main-header { + background: var(--dark-bg); + padding: 15px 5%; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #333; + position: sticky; /* Reste en haut au scroll */ + top: 0; + z-index: 1000; +} + +.main-header .logo { + display: flex; + align-items: center; +} + +.main-header .logo img { + height: 40px; /* Taille du logo */ + margin-right: 10px; +} + +.main-header .logo span { + font-family: var(--font-heading); + font-size: 1.8rem; + color: var(--primary-color); + letter-spacing: 1px; + font-weight: 700; +} + +.main-header nav ul { + display: flex; + gap: 30px; +} + +.main-header nav a { + color: var(--text-light); + font-size: 1.1rem; + font-weight: 600; + position: relative; +} + +.main-header nav a::after { /* Soulignement animé */ + content: ''; + position: absolute; + width: 0; + height: 2px; + background-color: var(--primary-color); + left: 0; + bottom: -5px; + transition: width 0.3s ease-out; +} + +.main-header nav a:hover::after, +.main-header nav a.active::after { + width: 100%; +} + +/* --- Boutons --- */ +.btn { + display: inline-block; + padding: 12px 25px; + border-radius: 5px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.5px; + transition: all 0.3s ease; + cursor: pointer; + border: none; +} + +.btn-primary { + background-color: var(--primary-color); + color: var(--text-color); + box-shadow: 0 4px 15px rgba(229, 9, 20, 0.4); +} + +.btn-primary:hover { + background-color: #ff0b1d; + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(229, 9, 20, 0.6); +} + +.btn-secondary { + background-color: transparent; + color: var(--text-color); + border: 2px solid var(--text-color); + margin-left: 15px; +} + +.btn-secondary:hover { + background-color: rgba(255, 255, 255, 0.1); + border-color: var(--primary-color); + transform: translateY(-2px); +} + +/* --- Conteneur principal du contenu --- */ +.content-wrapper { + max-width: 1400px; + margin: 30px auto; + padding: 0 20px; +} + +.section-title { + font-family: var(--font-heading); + font-size: 2.5rem; + color: var(--primary-color); + text-align: center; + margin-bottom: 40px; + position: relative; + padding-bottom: 15px; +} + +.section-title::after { /* Ligne sous le titre */ + content: ''; + position: absolute; + width: 80px; + height: 3px; + background-color: var(--primary-color); + left: 50%; + transform: translateX(-50%); + bottom: 0; + border-radius: 2px; +} + + +/* --- Section Héro (Accueil) --- */ +.hero-section { + width: 100%; + height: 600px; /* Hauteur de la bannière */ + background-size: cover; + background-position: center; + display: flex; + align-items: center; + justify-content: flex-start; + position: relative; + padding: 0 5%; +} + +.hero-section::before { /* Overlay sombre sur l'image de fond */ + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(to right, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 50%, transparent 100%); + z-index: 1; +} + +.hero-content { + position: relative; + z-index: 2; + max-width: 600px; +} + +.hero-content .hero-text h2 { + font-family: var(--font-heading); + font-size: 3.8rem; + line-height: 1.1; + margin-bottom: 20px; + color: var(--text-color); + text-shadow: 2px 2px 8px rgba(0,0,0,0.7); +} + +.hero-content .hero-text p { + font-size: 1.2rem; + color: var(--text-light); + margin-bottom: 30px; +} + +.hero-actions { + display: flex; + gap: 15px; +} + +/* --- Grille des films --- */ +.movie-section { + margin-top: 50px; +} + +.movie-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Responsive grid */ + gap: 30px; + justify-content: center; +} + +.movie-card { + position: relative; + background-color: var(--medium-bg); + border-radius: 10px; + overflow: hidden; + box-shadow: 0 6px 15px rgba(0,0,0,0.5); + transition: transform 0.3s ease, box-shadow 0.3s ease; + text-decoration: none; + color: inherit; + display: block; /* Pour que la carte prenne toute la largeur de sa grille */ +} + +.movie-card:hover { + transform: translateY(-10px) scale(1.02); + box-shadow: 0 15px 30px rgba(0,0,0,0.7), 0 0 20px var(--primary-color); +} + +.movie-card img { + width: 100%; + height: 420px; /* Hauteur fixe pour les affiches */ + object-fit: cover; /* Recadre l'image pour qu'elle remplisse */ + display: block; +} + +.card-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.7); + display: flex; + justify-content: center; + align-items: center; + opacity: 0; + transition: opacity 0.3s ease; +} + +.movie-card:hover .card-overlay { + opacity: 1; +} + +.overlay-content { + text-align: center; + padding: 20px; +} + +.overlay-content h3 { + font-family: var(--font-heading); + font-size: 1.8rem; + margin-bottom: 10px; + color: var(--primary-color); +} + +.overlay-content p { + font-size: 0.9rem; + color: var(--text-light); + margin-bottom: 20px; +} + +.play-icon { + font-size: 3rem; + color: var(--primary-color); + background: rgba(255, 255, 255, 0.1); + border-radius: 50%; + width: 60px; + height: 60px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 auto; + border: 2px solid var(--primary-color); + transition: background 0.3s ease, transform 0.3s ease; +} + +.play-icon:hover { + background: var(--primary-color); + color: var(--dark-bg); + transform: scale(1.1); +} + +/* --- Footer Global --- */ +.main-footer { + background-color: var(--dark-bg); + color: var(--text-light); + text-align: center; + padding: 30px 20px; + margin-top: 50px; + border-top: 1px solid #333; + font-size: 0.9rem; +} + +.main-footer .footer-links a { + color: var(--text-light); + margin: 0 15px; + transition: color 0.3s ease; +} + +.main-footer .footer-links a:hover { + color: var(--primary-color); +} + + +/* ===================================== */ +/* --- Page de Lecture (film1.html) --- */ +/* ===================================== */ +.player-page { + background-color: #000; /* Fond noir total pour l'immersion */ +} + +.player-header { + background: var(--dark-bg); + padding: 15px 5%; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #333; +} + +.player-header .logo a { + display: flex; + align-items: center; + color: var(--primary-color); + text-decoration: none; +} +.player-header .logo img { + height: 40px; + margin-right: 10px; +} +.player-header .logo span { + font-family: var(--font-heading); + font-size: 1.8rem; + letter-spacing: 1px; + font-weight: 700; +} + + +.back-to-gallery { + color: var(--text-light); + font-size: 1.1rem; + display: flex; + align-items: center; + gap: 8px; + transition: color 0.3s ease; +} + +.back-to-gallery:hover { + color: var(--primary-color); +} + +.icon-arrow { + font-size: 1.5rem; + line-height: 1; +} + +.player-main { + max-width: 1200px; + margin: 30px auto; + padding: 0 20px; +} + +.video-player-section { + background-color: #000; + border-radius: 10px; + overflow: hidden; + margin-bottom: 40px; + box-shadow: 0 0 30px rgba(0,0,0,0.8); +} + +.main-video { + width: 100%; + height: 600px; /* Hauteur fixe pour le lecteur */ + background-color: #000; + display: block; +} + +/* --- Détails du Film --- */ +.film-details { + display: flex; + flex-direction: column; /* Par défaut, les éléments sont en colonne */ + gap: 40px; + margin-bottom: 40px; +} + +.film-details-content { + display: flex; + gap: 30px; + background-color: var(--medium-bg); + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 20px rgba(0,0,0,0.5); +} + +.detail-poster { + width: 250px; + height: auto; + border-radius: 8px; + box-shadow: 0 4px 15px rgba(0,0,0,0.4); + flex-shrink: 0; /* Empêche l'image de rétrécir */ +} + +.details-text h1 { + font-family: var(--font-heading); + font-size: 3rem; + color: var(--primary-color); + margin-bottom: 10px; +} + +.details-text .tagline { + font-style: italic; + color: var(--text-light); + font-size: 1.1rem; + margin-bottom: 20px; +} + +.details-text .synopsis { + font-size: 1.1rem; + margin-bottom: 25px; + color: var(--text-light); +} + +.meta-info span { + display: inline-block; + background-color: var(--light-bg); + padding: 5px 12px; + border-radius: 20px; + margin-right: 10px; + margin-bottom: 10px; + font-size: 0.9rem; + color: var(--text-light); +} + +.call-to-action { + margin-top: 25px; +} + +.btn-primary-alt, .btn-secondary-alt { + padding: 10px 20px; + border-radius: 5px; + font-weight: 600; + transition: all 0.3s ease; + cursor: pointer; + border: none; + margin-right: 15px; +} + +.btn-primary-alt { + background-color: var(--primary-color); + color: var(--text-color); +} +.btn-primary-alt:hover { + background-color: #ff0b1d; +} + +.btn-secondary-alt { + background-color: var(--light-bg); + color: var(--text-color); +} +.btn-secondary-alt:hover { + background-color: #4a4a4a; +} + +/* --- Contenu Similaire (Aside) --- */ +.related-content { + background-color: var(--medium-bg); + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 20px rgba(0,0,0,0.5); +} + +.related-content h3 { + font-family: var(--font-heading); + font-size: 1.8rem; + color: var(--primary-color); + margin-bottom: 20px; + text-align: center; +} + +.related-movies { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + gap: 20px; + justify-content: center; +} + +.related-card { + text-align: center; + background-color: var(--light-bg); + padding: 10px; + border-radius: 8px; + transition: transform 0.3s ease, box-shadow 0.3s ease; +} + +.related-card:hover { + transform: translateY(-5px); + box-shadow: 0 8px 15px rgba(0,0,0,0.6); +} + +.related-card img { + width: 100%; + height: 225px; /* Proportion 2:3 */ + object-fit: cover; + border-radius: 5px; + margin-bottom: 10px; +} + +.related-card h4 { + font-size: 1rem; + color: var(--text-color); + margin: 0; +} + +/* --- Media Queries (pour la responsivité) --- */ +@media (min-width: 768px) { + .film-details { + flex-direction: row; /* En ligne sur les écrans plus larges */ + } + .related-content { + flex: 1; /* Prend l'espace restant */ + } +} + +@media (max-width: 768px) { + .main-header { + flex-direction: column; + gap: 15px; + } + .main-header nav ul { + flex-wrap: wrap; + justify-content: center; + } + .hero-section { + height: 400px; + justify-content: center; + text-align: center; + padding: 0 5%; + } + .hero-section::before { + background: rgba(0,0,0,0.8); /* Overlay plus fort sur mobile */ + } + .hero-content { + max-width: 90%; + } + .hero-content .hero-text h2 { + font-size: 2.5rem; + } + .hero-content .hero-text p { + font-size: 1rem; + } + .hero-actions { + flex-direction: column; + } + .btn-secondary { + margin-left: 0; + margin-top: 10px; + } + + .player-header { + flex-direction: column; + gap: 15px; + } + .player-header .logo { + margin-bottom: 10px; + } + .main-video { + height: 300px; /* Moins haut sur mobile */ + } + .film-details-content { + flex-direction: column; + align-items: center; + text-align: center; + } + .detail-poster { + width: 180px; + } + .details-text h1 { + font-size: 2.2rem; + } + .meta-info span { + margin: 5px; + } + .related-movies { + grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); + } + .related-card img { + height: 180px; + } +} + +@media (max-width: 480px) { + .main-header .logo span { + font-size: 1.5rem; + } + .hero-content .hero-text h2 { + font-size: 2rem; + } + .section-title { + font-size: 2rem; + } + .movie-card { + width: 100%; /* Cartes prennent toute la largeur sur très petits écrans */ + } +}