/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It's ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It's fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/

Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog

Version: 4.10.1.1746609715
Updated: 2025-05-07 11:21:55
*/

/* =============================================================================
   IMPORTS ET VARIABLES
   ============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,600;0,700;0,900;1,400;1,600;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  --font-primary: 'Barlow', sans-serif;
  --font-title: 'Barlow Condensed', sans-serif;
  --color-light: #ffffff;
  --color-dark: #1d1d1b;
  --color-accent: #f5db86;
  --base-size: 24px;
  --container-padding: 7%;
  --max-content-width: 768px;
  --border-radius: 4px;
  --transition: 0.3s ease;
}

/* =============================================================================
   SURCHARGES GLOBALES ASTRA
   ============================================================================= */

.ast-container:has(.projet) {
  display: block !important;
}

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000;
}

@media (min-width: 922px) {
  .main-header-bar {
    border-bottom-width: 0;
  }
}

/* =============================================================================
   TYPOGRAPHIE GLOBALE
   ============================================================================= */

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  text-transform: uppercase;
  font-family: var(--font-title);
  margin: 0;
  line-height: 1.2;
}

/* =============================================================================
   UTILITAIRES
   ============================================================================= */

.projet-header .container{
  padding: var(--container-padding);
}

.darkSection {
  background-color: var(--color-dark);
  color: var(--color-light);
}

.darkSection h1,
.darkSection h2,
.darkSection h3 {
  color: var(--color-light);
}

/* Système de grille flexible */
.flex {
  display: block;
}

@media screen and (min-width: 1024px) {
  .flex {
    display: flex;
  }
}

.flex--between {
  justify-content: space-between;
}

.flex--center {
  justify-content: center;
  align-items: center;
}

/* =============================================================================
   COMPOSANTS PROJET
   ============================================================================= */

/* Header du projet */
.projet-header {
  margin-bottom: calc(var(--base-size) * 2);
}

.projet_content {
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .projet_content {
    width: 50%;
  }
}

.projet_img {
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .projet_img {
    width: 50%;
  }
}

.projet_img img {
  display: block;
  width: 100%;
  height: 100% !important;
	object-fit: cover;
}

/* Titre principal du projet */
.projet_title {
  margin-bottom: calc(2 * var(--base-size));
  font-family: var(--font-title);
  font-size: clamp(40px, 5vw, 70px);
  line-height: 1.1;
  text-transform: uppercase;
}

/* Détails du projet */
.projet_details {
  margin-bottom: var(--base-size);
}

@media screen and (min-width: 1024px) {
  .projet_details {
    display: flex;
    align-items: baseline;
  }
}

.projet_details h3,
.projet_details span {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(1.4em, 2vw, 1.8em);
  line-height: 1.5;
  font-weight: 600;
  text-transform: uppercase;
}

.projet_details h3 {
  color: var(--color-accent);
  margin-bottom: 0.5rem;
}

@media screen and (min-width: 1024px) {
  .projet_details h3 {
    width: 180px;
    margin-bottom: 0;
    margin-right: 1rem;
    flex-shrink: 0;
  }
}

/* Liens dans les détails */
.projet_details .projet_link {
  color: var(--color-light);
  text-decoration: none;
  transition: var(--transition);
}

.projet_details .projet_link:hover,
.projet_details .projet_link:focus {
  text-decoration: underline;
  opacity: 0.8;
}

/* =============================================================================
   CORPS DU PROJET
   ============================================================================= */

.projet_body {
  margin: calc(var(--base-size) * 2) auto;
  max-width: var(--max-content-width);
}

/* Sous-titre */
.projet_subtitle {
  margin-bottom: calc(var(--base-size) * 2);
  text-align: center;
}

.projet_subtitle h2 {
  font-size: clamp(24px, 4vw, 45px);
  font-family: var(--font-title);
  font-weight: 600;
  margin: 0;
}

/* Sections de contenu */
.projet_description,
.projet_objectifs,
.projet_actualite,
.projet_video {
  margin-bottom: calc(var(--base-size) * 2);
}

.projet_objectifs h3,
.projet_actualite h3,
.projet_video h3{
  font-size: clamp(20px, 3vw, 36px);
  margin-bottom: var(--base-size);
  color: var(--color-dark);
}

.projet_actualite h3{
	background-color: #f5db86;
}

/* Contenu textuel */
.description-content,
.objectifs-content,
.actualite-content {
  font-family: var(--font-primary);
}

.description-content p,
.objectifs-content ul,
.actualite-content ul {
  margin-bottom: var(--base-size);
  font-size: 1.2em;
  line-height: 1.6;
}

.objectifs-content ul,
.actualite-content ul {
  padding-left: 1.5em;
}

.objectifs-content li,
.actualite-content li {
  margin-bottom: 0.5em;
  padding-left: 0.5em;
}

/* Éléments de mise en forme */
.description-content strong {
  display: block;
  margin-top: calc(var(--base-size) * 2);
  font-weight: 700;
  font-family: var(--font-title);
  text-transform: uppercase;
}

/* =============================================================================
   RESPONSIVE DESIGN
   ============================================================================= */

@media screen and (max-width: 767px) {
  :root {
    --container-padding: 5%;
    --base-size: 20px;
  }
  
  .projet-header {
    flex-direction: column;
  }
  
  .projet_content {
    order: 2;
  }
  
  .projet_img {
    order: 1;
    margin-bottom: var(--base-size);
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  :root {
    --container-padding: 6%;
  }
}

/* =============================================================================
   AMÉLIORATIONS ACCESSIBILITÉ
   ============================================================================= */

/* Focus visible pour la navigation au clavier */
.projet_link:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* Amélioration du contraste pour les liens */
@media (prefers-contrast: high) {
  .projet_details .projet_link {
    text-decoration: underline;
  }
}

/* Respect des préférences de mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition: none;
  }
}

/* =============================================================================
   PRINT STYLES
   ============================================================================= */

@media print {
  .projet_img img {
    max-height: 300px;
    object-fit: contain;
  }
  
  .projet_details .projet_link {
    color: var(--color-dark) !important;
  }
  
  .darkSection {
    background-color: transparent !important;
    color: var(--color-dark) !important;
    border: 1px solid var(--color-dark);
  }
}

/* Pour les iframes YouTube générées par oEmbed */
.video-content iframe {
  width: 100% !important;
  max-width: 800px;
  height: 450px !important;
  margin: 0 auto;
  display: block;
}