/*
Theme Name: Divi Child
Description: Thème enfant de Divi
Author: Robin Bouery
Author URI: https://www.elegantthemes.com/
Template: Divi
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Image */
.jv-image__img { width:100%; height:auto; display:block; border-radius:12px; object-fit:cover; }

/* Titre */
.jv-title { margin:0 0 .2rem 0; line-height:1.15; }
.jv-title__link { text-decoration:none; }
.jv-title__link:hover { text-decoration:underline; text-underline-offset:3px; }

/* Sous-titre */
.jv-subtitle { margin:.2rem 0 .6rem; color:#6b7280; font-size:0.95rem; }

/* Description */
.jv-description { margin:0 0 .8rem; }
.jv-description p { margin:0; }

/* Galerie */

.jv-gallery--cols-1 { grid-template-columns:1; }
.jv-gallery--cols-2 { grid-template-columns:repeat(2,1); }
.jv-gallery--cols-3 { grid-template-columns:repeat(3,1); }
.jv-gallery--cols-4 { grid-template-columns:repeat(4,1); }
.jv-gallery__item { display:block; border-radius:10px; overflow:hidden; line-height:0; }
.jv-gallery__img { width:100%; height:auto; display:block; object-fit:cover; aspect-ratio:1/1; }
@media (max-width: 640px){ .jv-gallery--cols-3,.jv-gallery--cols-4 { grid-template-columns:repeat(2,1); } }


/* ====== SECTION BLEUE ====== */
.stars-bg {
  position: relative;
  background-color: #5081fc;
  overflow: hidden;
}

/* ====== COUCHE 1 : étoiles fines + petits amas (vitesse moyenne) ====== */
.stars-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* motifs : plus d’étoiles, un peu plus variées */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cg fill='white' opacity='0.75'%3E%3Ccircle cx='52' cy='120' r='0.9'/%3E%3Ccircle cx='860' cy='80' r='1.1'/%3E%3Ccircle cx='410' cy='60' r='1.0'/%3E%3Ccircle cx='700' cy='430' r='0.9'/%3E%3Ccircle cx='120' cy='520' r='1.0'/%3E%3Ccircle cx='310' cy='840' r='0.9'/%3E%3Ccircle cx='820' cy='720' r='1.0'/%3E%3Ccircle cx='210' cy='300' r='1.1'/%3E%3Ccircle cx='540' cy='250' r='0.9'/%3E%3Ccircle cx='95' cy='760' r='1.0'/%3E%3Ccircle cx='650' cy='780' r='0.9'/%3E%3Ccircle cx='455' cy='515' r='1.1'/%3E%3Ccircle cx='780' cy='300' r='1.0'/%3E%3Ccircle cx='265' cy='100' r='0.9'/%3E%3Ccircle cx='40' cy='410' r='1.0'/%3E%3Ccircle cx='890' cy='560' r='1.0'/%3E%3Ccircle cx='770' cy='870' r='1.1'/%3E%3Ccircle cx='600' cy='150' r='1.0'/%3E%3Ccircle cx='350' cy='420' r='1.0'/%3E%3Ccircle cx='180' cy='680' r='1.1'/%3E%3Ccircle cx='950' cy='400' r='1.0'/%3E%3Ccircle cx='480' cy='880' r='0.9'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='1100'%3E%3Cg fill='white' opacity='0.85'%3E%3C!-- amas 1 --%3E%3Ccircle cx='220' cy='190' r='1.4'/%3E%3Ccircle cx='228' cy='196' r='1.0'/%3E%3Ccircle cx='212' cy='204' r='1.2'/%3E%3Ccircle cx='235' cy='186' r='0.9'/%3E%3C!-- amas 2 --%3E%3Ccircle cx='800' cy='480' r='1.6'/%3E%3Ccircle cx='792' cy='492' r='1.1'/%3E%3Ccircle cx='812' cy='498' r='1.0'/%3E%3Ccircle cx='806' cy='470' r='1.3'/%3E%3C!-- amas 3 --%3E%3Ccircle cx='540' cy='830' r='1.5'/%3E%3Ccircle cx='550' cy='842' r='1.0'/%3E%3Ccircle cx='528' cy='846' r='1.2'/%3E%3C!-- amas 4 --%3E%3Ccircle cx='340' cy='620' r='1.5'/%3E%3Ccircle cx='348' cy='630' r='1.1'/%3E%3Ccircle cx='334' cy='636' r='1.0'/%3E%3C!-- amas 5 --%3E%3Ccircle cx='950' cy='860' r='1.6'/%3E%3Ccircle cx='962' cy='872' r='1.0'/%3E%3Ccircle cx='938' cy='868' r='1.3'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 900px 900px, 1100px 1100px;
  background-repeat: repeat, repeat;
  animation: starsDriftFast 120s linear infinite, twinkle 6s ease-in-out infinite;
  opacity: .95;
  will-change: background-position, opacity;
}

/* ====== COUCHE 2 : tailles variées (plus lente) ====== */
.stars-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='1000'%3E%3Cg fill='white' opacity='0.75'%3E%3Ccircle cx='140' cy='140' r='1.0'/%3E%3Ccircle cx='960' cy='90' r='1.1'/%3E%3Ccircle cx='300' cy='680' r='1.0'/%3E%3Ccircle cx='720' cy='300' r='1.1'/%3E%3Ccircle cx='520' cy='520' r='1.0'/%3E%3Ccircle cx='60' cy='880' r='1.1'/%3E%3Ccircle cx='900' cy='680' r='1.0'/%3E%3Ccircle cx='480' cy='240' r='1.0'/%3E%3Ccircle cx='740' cy='580' r='1.1'/%3E%3Ccircle cx='200' cy='780' r='1.0'/%3E%3Ccircle cx='880' cy='460' r='1.1'/%3E%3Ccircle cx='120' cy='380' r='1.0'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='1200'%3E%3Cg fill='white' opacity='0.85'%3E%3Ccircle cx='200' cy='350' r='1.9'/%3E%3Ccircle cx='1000' cy='260' r='2.0'/%3E%3Ccircle cx='850' cy='900' r='1.8'/%3E%3Ccircle cx='420' cy='1000' r='2.0'/%3E%3Ccircle cx='640' cy='600' r='1.8'/%3E%3Ccircle cx='240' cy='100' r='1.9'/%3E%3Ccircle cx='1080' cy='720' r='1.9'/%3E%3Ccircle cx='780' cy='440' r='1.8'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1400'%3E%3Cg fill='white' opacity='0.9'%3E%3Ccircle cx='260' cy='220' r='2.8'/%3E%3Ccircle cx='1160' cy='520' r='3.2'/%3E%3Ccircle cx='700' cy='200' r='2.6'/%3E%3Ccircle cx='500' cy='800' r='3.0'/%3E%3Ccircle cx='1080' cy='1080' r='2.7'/%3E%3Ccircle cx='820' cy='260' r='2.8'/%3E%3Ccircle cx='320' cy='960' r='3.0'/%3E%3Ccircle cx='1040' cy='740' r='2.9'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 1000px 1000px, 1200px 1200px, 1400px 1400px;
  background-repeat: repeat, repeat, repeat;
  animation: starsDriftSlow 210s linear infinite, twinkle 8s ease-in-out infinite reverse;
  will-change: background-position, opacity;
  mix-blend-mode: screen;
}

/* ====== ANIMATIONS ====== */
@keyframes starsDriftFast {
  from { background-position: 0 0, 0 0; }
  to { background-position: -1600px 900px, 1200px -800px; }
}
@keyframes starsDriftSlow {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 900px -600px, -1200px 700px, 1500px 1200px; }
}
@keyframes twinkle {
  0%, 100% { opacity: 0.95; }
  50% { opacity: 0.80; }
}
