/* Palette personnalisée – Bleu & Or inspirée du logo */
body.sebastien-page {
    --color-primary: #0c1f4d;   /* bleu profond */
    --color-secondary: #c9a33e; /* or soutenu */
    --color-bg: #f5f7fa;        /* fond clair neutre */
    --color-light: #e2e8f0;     /* bleu gris clair */
    --color-dark: #0a1b3f;      /* bleu très foncé */
    --color-text: #1a1a1a;      /* noir doux */
  
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: 'Playfair Display', serif;
  }
  
  /* Barre latérale gauche */
  body.sebastien-page::before {
    background-color: var(--color-secondary);
  }
  
  /* TITRE PRINCIPAL */
  body.sebastien-page h1.section-title {
    color: var(--color-primary);
    text-align: center;
    font-size: 2em;
    margin-bottom: 30px;
    position: relative;
    transition: color 0.3s ease, text-shadow 0.3s ease;
  }
  
  /* Trait tricolore sous le titre */
  body.sebastien-page h1::after {
    content: '';
    display: block;
    height: 4px;
    width: 60%;
    max-width: 300px;
    margin: 10px auto 0;
    border-radius: 2px;
    background: linear-gradient(to right, #0055a4 33%, #ffffff 33% 66%, #ef4135 66%);
    transition: filter 0.3s ease, transform 0.3s ease;
  }
  
  /* Effet au survol du titre (ligne et texte) */
  body.sebastien-page h1:hover::after {
    filter: brightness(1.4);
    transform: scaleX(1.05);
  }
  
  body.sebastien-page h1.section-title:hover {
    color: var(--color-secondary);
    text-shadow: 0 0 5px rgba(201, 163, 62, 0.4);
  }
  
  /* Vidéo */
  body.sebastien-page video {
    border: 2px solid var(--color-secondary);
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(12, 31, 77, 0.2);
  }
  
  /* Images avec zoom + bordure dorée au survol */
  body.sebastien-page .image-row img {
    border: 2px solid var(--color-secondary);
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(12, 31, 77, 0.2);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  }
  
  body.sebastien-page .image-row img:hover {
    transform: scale(1.03);
    border-color: #ffd700; /* or vif */
    box-shadow: 0 0 25px rgba(255, 215, 0, 0.4);
  }
  
  /* Texte de description */
  body.sebastien-page .description-sebastien p {
    color: var(--color-dark);
    font-family: 'Open Sans', sans-serif;
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 15px;
  }
  
  /* FOOTER spécifique */
  body.sebastien-page .footer-nouvo {
    background-color: var(--color-primary);
    border-top: 3px solid var(--color-secondary);
  }
  
  body.sebastien-page .footer-bottom a {
    color: var(--color-secondary);
  }
  
  body.sebastien-page .footer-bottom a:hover {
    text-decoration: underline;
  }
  