/*
Theme Name:   Studio.IA — Divi 5 Child
Template:     Divi
Version:      1.0.0
Description:  Child theme professionnel pour Studio.IA — Agence de creation visuelle IA & Social Media Management
Author:       Studio.IA
Author URI:   https://studio-ia.com
*/

/* ============================================================
   DESIGN TOKENS — Studio.IA
   Style: Colore & Creatif / Premium
   ============================================================ */
:root {
  /* --- Couleurs principales --- */
  --sia-black:         #0D0D0D;
  --sia-dark:          #1A1A2E;
  --sia-charcoal:      #2D2D3F;

  --sia-violet:        #7B2FFF;
  --sia-violet-light:  #A855F7;
  --sia-magenta:       #E040A0;
  --sia-coral:         #FF6B6B;
  --sia-orange:        #FF8C42;
  --sia-yellow:        #FFCA28;
  --sia-cyan:          #00D4FF;
  --sia-green:         #34D399;

  --sia-white:         #FFFFFF;
  --sia-offwhite:      #F8F7FF;
  --sia-gray-100:      #F3F2F8;
  --sia-gray-200:      #E8E6F0;
  --sia-gray-400:      #9B97B0;
  --sia-gray-600:      #6B6880;
  --sia-gray-800:      #3A3750;

  /* Gradients */
  --sia-gradient-hero:     linear-gradient(135deg, #7B2FFF 0%, #E040A0 50%, #FF6B6B 100%);
  --sia-gradient-accent:   linear-gradient(135deg, #7B2FFF 0%, #00D4FF 100%);
  --sia-gradient-warm:     linear-gradient(135deg, #FF6B6B 0%, #FF8C42 50%, #FFCA28 100%);
  --sia-gradient-creative: linear-gradient(135deg, #E040A0 0%, #7B2FFF 40%, #00D4FF 100%);
  --sia-gradient-dark:     linear-gradient(160deg, #0D0D0D 0%, #1A1A2E 50%, #2D2D3F 100%);
  --sia-gradient-glass:    linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.05) 100%);

  /* --- Typographie --- */
  --sia-font-display:  'Space Grotesk', sans-serif;
  --sia-font-body:     'Inter', sans-serif;
  --sia-font-accent:   'Syne', sans-serif;

  /* Tailles fluides */
  --sia-text-xs:     clamp(0.7rem, 0.65rem + 0.25vw, 0.8rem);
  --sia-text-sm:     clamp(0.8rem, 0.75rem + 0.3vw, 0.95rem);
  --sia-text-base:   clamp(0.95rem, 0.9rem + 0.3vw, 1.1rem);
  --sia-text-lg:     clamp(1.1rem, 1rem + 0.5vw, 1.35rem);
  --sia-text-xl:     clamp(1.3rem, 1.1rem + 0.8vw, 1.75rem);
  --sia-text-2xl:    clamp(1.8rem, 1.5rem + 1.2vw, 2.5rem);
  --sia-text-3xl:    clamp(2.2rem, 1.8rem + 2vw, 3.5rem);
  --sia-text-hero:   clamp(2.8rem, 2rem + 3.5vw, 5.5rem);

  /* --- Spacing --- */
  --sia-space-xs:    0.25rem;
  --sia-space-sm:    0.5rem;
  --sia-space-md:    1rem;
  --sia-space-lg:    2rem;
  --sia-space-xl:    4rem;
  --sia-space-2xl:   6rem;
  --sia-space-3xl:   8rem;
  --sia-space-section: clamp(5rem, 4rem + 5vw, 10rem);

  /* --- Rayons de bordure --- */
  --sia-radius-xs:   4px;
  --sia-radius-sm:   8px;
  --sia-radius-md:   16px;
  --sia-radius-lg:   24px;
  --sia-radius-xl:   32px;
  --sia-radius-full: 9999px;

  /* --- Ombres --- */
  --sia-shadow-sm:      0 2px 8px rgba(123,47,255,0.06);
  --sia-shadow-md:      0 4px 24px rgba(123,47,255,0.10);
  --sia-shadow-lg:      0 8px 40px rgba(123,47,255,0.15);
  --sia-shadow-xl:      0 16px 64px rgba(123,47,255,0.20);
  --sia-shadow-glow:    0 0 40px rgba(123,47,255,0.35);
  --sia-shadow-colored: 0 8px 32px rgba(224,64,160,0.25);

  /* --- Transitions --- */
  --sia-ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --sia-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --sia-duration:    0.3s;
  --sia-duration-slow: 0.6s;
}


/* ============================================================
   RESET & BASE
   ============================================================ */
body {
  font-family: var(--sia-font-body);
  color: var(--sia-gray-800);
  font-size: var(--sia-text-base);
  line-height: 1.75;
  background: var(--sia-offwhite);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.et_pb_slide_title,
.et_pb_module_header {
  font-family: var(--sia-font-display);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--sia-dark);
}

h1 { font-size: var(--sia-text-hero); }
h2 { font-size: var(--sia-text-3xl); }
h3 { font-size: var(--sia-text-2xl); }
h4 { font-size: var(--sia-text-xl); }

p {
  font-size: var(--sia-text-base);
  line-height: 1.75;
  color: var(--sia-gray-600);
}

a {
  color: var(--sia-violet);
  text-decoration: none;
  transition: color var(--sia-duration) var(--sia-ease);
}

a:hover {
  color: var(--sia-magenta);
}

::selection {
  background: var(--sia-violet);
  color: var(--sia-white);
}


/* ============================================================
   DIVI OVERRIDES GLOBAUX
   ============================================================ */
.et_pb_section {
  background-color: transparent;
}

.et_pb_row {
  max-width: 1200px;
}

/* Bouton primaire global */
.et_pb_button {
  font-family: var(--sia-font-display) !important;
  font-weight: 600 !important;
  font-size: var(--sia-text-sm) !important;
  letter-spacing: 0.02em !important;
  border-radius: var(--sia-radius-full) !important;
  padding: 14px 36px !important;
  transition: all var(--sia-duration) var(--sia-ease) !important;
  position: relative;
  overflow: hidden;
}


/* ============================================================
   HEADER — Navigation
   ============================================================ */
.sia-header {
  background: rgba(255,255,255,0.85) !important;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(123,47,255,0.08);
  transition: all var(--sia-duration) var(--sia-ease);
}

.sia-header.et-fixed-header {
  background: rgba(255,255,255,0.95) !important;
  box-shadow: 0 4px 30px rgba(123,47,255,0.08) !important;
}

.sia-header-logo img {
  max-height: 42px;
  width: auto;
  transition: transform var(--sia-duration) var(--sia-ease);
}

.sia-header-logo img:hover {
  transform: scale(1.05);
}

.sia-header .et_pb_menu .nav li a {
  font-family: var(--sia-font-display);
  font-size: var(--sia-text-sm);
  font-weight: 500;
  color: var(--sia-dark);
  padding: 8px 20px;
  border-radius: var(--sia-radius-full);
  transition: all var(--sia-duration) var(--sia-ease);
}

.sia-header .et_pb_menu .nav li a:hover {
  color: var(--sia-violet);
  background: rgba(123,47,255,0.06);
}

.sia-header .et_pb_menu .nav li.current-menu-item a {
  color: var(--sia-violet);
  background: rgba(123,47,255,0.08);
}

/* Bouton CTA header */
.sia-header-cta .et_pb_button {
  background: var(--sia-gradient-hero) !important;
  color: var(--sia-white) !important;
  padding: 10px 28px !important;
  font-size: 0.85rem !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(123,47,255,0.3) !important;
}

.sia-header-cta .et_pb_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(123,47,255,0.45) !important;
}

/* Menu mobile */
.sia-header .mobile_menu_bar::before {
  color: var(--sia-violet) !important;
  font-size: 28px !important;
}


/* ============================================================
   HERO SECTION
   ============================================================ */
.sia-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: var(--sia-gradient-dark) !important;
  position: relative;
  overflow: hidden;
}

/* Fond avec mesh gradient anime */
.sia-hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 80vw;
  height: 80vw;
  background: radial-gradient(circle, rgba(123,47,255,0.4) 0%, transparent 70%);
  animation: siaHeroOrb1 12s ease-in-out infinite alternate;
  z-index: 0;
}

.sia-hero::after {
  content: '';
  position: absolute;
  bottom: -40%;
  left: -20%;
  width: 60vw;
  height: 60vw;
  background: radial-gradient(circle, rgba(224,64,160,0.3) 0%, transparent 70%);
  animation: siaHeroOrb2 10s ease-in-out infinite alternate;
  z-index: 0;
}

@keyframes siaHeroOrb1 {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-80px, 60px) scale(1.15); }
}

@keyframes siaHeroOrb2 {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(60px, -40px) scale(1.1); }
}

.sia-hero .et_pb_row {
  position: relative;
  z-index: 2;
}

/* Badge au-dessus du titre */
.sia-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--sia-radius-full);
  color: rgba(255,255,255,0.85);
  font-family: var(--sia-font-display);
  font-size: var(--sia-text-xs);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  animation: siaFadeUp 0.8s var(--sia-ease) both;
  margin-bottom: var(--sia-space-lg);
}

.sia-hero-badge::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sia-green);
  box-shadow: 0 0 8px var(--sia-green);
  animation: siaPulse 2s ease-in-out infinite;
}

/* Titre hero */
.sia-hero-title {
  font-family: var(--sia-font-display) !important;
  font-size: var(--sia-text-hero) !important;
  font-weight: 800 !important;
  color: var(--sia-white) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
  animation: siaFadeUp 0.8s 0.15s var(--sia-ease) both;
}

/* Mot en gradient dans le titre */
.sia-gradient-text {
  background: var(--sia-gradient-hero);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Sous-titre hero */
.sia-hero-subtitle {
  font-family: var(--sia-font-body) !important;
  font-size: var(--sia-text-lg) !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.7 !important;
  max-width: 540px;
  animation: siaFadeUp 0.8s 0.3s var(--sia-ease) both;
}

/* Boutons hero */
.sia-hero-btn-primary .et_pb_button {
  background: var(--sia-gradient-hero) !important;
  color: var(--sia-white) !important;
  padding: 16px 40px !important;
  border: none !important;
  border-radius: var(--sia-radius-full) !important;
  font-size: var(--sia-text-base) !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 32px rgba(123,47,255,0.4) !important;
  animation: siaFadeUp 0.8s 0.45s var(--sia-ease) both;
}

.sia-hero-btn-primary .et_pb_button:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 48px rgba(123,47,255,0.55) !important;
}

.sia-hero-btn-secondary .et_pb_button {
  background: rgba(255,255,255,0.06) !important;
  color: var(--sia-white) !important;
  border: 1.5px solid rgba(255,255,255,0.25) !important;
  padding: 15px 38px !important;
  border-radius: var(--sia-radius-full) !important;
  font-size: var(--sia-text-base) !important;
  font-weight: 600 !important;
  backdrop-filter: blur(10px);
  animation: siaFadeUp 0.8s 0.55s var(--sia-ease) both;
}

.sia-hero-btn-secondary .et_pb_button:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.5) !important;
  transform: translateY(-2px) !important;
}

/* Hero image / mockup */
.sia-hero-visual {
  animation: siaFloatUp 1s 0.4s var(--sia-ease) both;
  position: relative;
}

.sia-hero-visual img {
  border-radius: var(--sia-radius-lg);
  box-shadow: var(--sia-shadow-xl);
}

/* Logos partenaires sous le hero */
.sia-hero-logos {
  padding: var(--sia-space-xl) 0 !important;
  background: var(--sia-dark) !important;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.sia-hero-logos p {
  font-family: var(--sia-font-display);
  font-size: var(--sia-text-xs) !important;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: rgba(255,255,255,0.3) !important;
  text-align: center;
  margin-bottom: var(--sia-space-lg) !important;
}

.sia-hero-logos img {
  filter: brightness(0) invert(1);
  opacity: 0.3;
  transition: opacity var(--sia-duration) var(--sia-ease);
  max-height: 32px;
}

.sia-hero-logos img:hover {
  opacity: 0.7;
}


/* ============================================================
   SECTION LABELS / BADGES
   ============================================================ */
.sia-section-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  background: rgba(123,47,255,0.06);
  border: 1px solid rgba(123,47,255,0.12);
  border-radius: var(--sia-radius-full);
  color: var(--sia-violet);
  font-family: var(--sia-font-display);
  font-size: var(--sia-text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sia-section-title {
  font-size: var(--sia-text-3xl) !important;
  color: var(--sia-dark) !important;
  margin-top: var(--sia-space-md) !important;
}

.sia-section-subtitle {
  font-size: var(--sia-text-lg) !important;
  color: var(--sia-gray-600) !important;
  max-width: 600px;
  margin: var(--sia-space-md) auto 0 auto;
}


/* ============================================================
   SERVICES SECTION
   ============================================================ */
.sia-services {
  padding: var(--sia-space-section) 0 !important;
  background: var(--sia-offwhite) !important;
}

/* Carte de service */
.sia-service-card {
  background: var(--sia-white) !important;
  border-radius: var(--sia-radius-lg) !important;
  padding: var(--sia-space-xl) !important;
  border: 1px solid var(--sia-gray-200);
  transition: all var(--sia-duration) var(--sia-ease) !important;
  position: relative;
  overflow: hidden;
}

.sia-service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--sia-gradient-hero);
  opacity: 0;
  transition: opacity var(--sia-duration) var(--sia-ease);
}

.sia-service-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--sia-shadow-lg) !important;
  border-color: rgba(123,47,255,0.15);
}

.sia-service-card:hover::before {
  opacity: 1;
}

/* Icone de service */
.sia-service-icon {
  width: 64px;
  height: 64px;
  border-radius: var(--sia-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: var(--sia-space-lg);
}

.sia-service-icon-1 { background: rgba(123,47,255,0.1); color: var(--sia-violet); }
.sia-service-icon-2 { background: rgba(224,64,160,0.1); color: var(--sia-magenta); }
.sia-service-icon-3 { background: rgba(0,212,255,0.1); color: var(--sia-cyan); }
.sia-service-icon-4 { background: rgba(255,107,107,0.1); color: var(--sia-coral); }
.sia-service-icon-5 { background: rgba(255,140,66,0.1); color: var(--sia-orange); }
.sia-service-icon-6 { background: rgba(52,211,153,0.1); color: var(--sia-green); }

.sia-service-card h3 {
  font-size: var(--sia-text-xl) !important;
  margin-bottom: var(--sia-space-sm) !important;
}

.sia-service-card p {
  font-size: var(--sia-text-sm) !important;
  color: var(--sia-gray-600);
  line-height: 1.7;
}

/* Tag de service */
.sia-service-tag {
  display: inline-block;
  padding: 4px 14px;
  background: rgba(123,47,255,0.06);
  border-radius: var(--sia-radius-full);
  font-size: var(--sia-text-xs);
  font-weight: 500;
  color: var(--sia-violet);
  margin-top: var(--sia-space-md);
}


/* ============================================================
   PORTFOLIO / REALISATIONS
   ============================================================ */
.sia-portfolio {
  padding: var(--sia-space-section) 0 !important;
  background: var(--sia-white) !important;
}

.sia-portfolio-item {
  border-radius: var(--sia-radius-lg) !important;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

.sia-portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--sia-duration-slow) var(--sia-ease);
}

.sia-portfolio-item:hover img {
  transform: scale(1.06);
}

/* Overlay portfolio */
.sia-portfolio-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(13,13,13,0.85) 0%, transparent 60%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--sia-space-lg);
  opacity: 0;
  transition: opacity var(--sia-duration) var(--sia-ease);
}

.sia-portfolio-item:hover .sia-portfolio-overlay {
  opacity: 1;
}

.sia-portfolio-overlay h4 {
  color: var(--sia-white) !important;
  font-size: var(--sia-text-lg) !important;
  margin-bottom: 4px !important;
}

.sia-portfolio-overlay p {
  color: rgba(255,255,255,0.7) !important;
  font-size: var(--sia-text-sm) !important;
}

/* Filtres portfolio */
.sia-portfolio-filter {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: var(--sia-space-xl);
}

.sia-portfolio-filter-btn {
  padding: 8px 24px;
  border-radius: var(--sia-radius-full);
  background: transparent;
  border: 1.5px solid var(--sia-gray-200);
  font-family: var(--sia-font-display);
  font-size: var(--sia-text-sm);
  font-weight: 500;
  color: var(--sia-gray-600);
  cursor: pointer;
  transition: all var(--sia-duration) var(--sia-ease);
}

.sia-portfolio-filter-btn:hover,
.sia-portfolio-filter-btn.active {
  background: var(--sia-violet);
  border-color: var(--sia-violet);
  color: var(--sia-white);
}


/* ============================================================
   CHIFFRES / STATS
   ============================================================ */
.sia-stats {
  padding: var(--sia-space-xl) 0 !important;
  background: var(--sia-gradient-dark) !important;
  position: relative;
  overflow: hidden;
}

.sia-stats::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60vw;
  height: 60vw;
  background: radial-gradient(circle, rgba(123,47,255,0.15) 0%, transparent 60%);
}

.sia-stat-item {
  text-align: center;
  position: relative;
  z-index: 1;
}

.sia-stat-number {
  font-family: var(--sia-font-display) !important;
  font-size: var(--sia-text-3xl) !important;
  font-weight: 800 !important;
  background: var(--sia-gradient-hero);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
}

.sia-stat-label {
  font-family: var(--sia-font-body) !important;
  font-size: var(--sia-text-sm) !important;
  color: rgba(255,255,255,0.5) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: var(--sia-space-sm);
}


/* ============================================================
   PROCESSUS / HOW WE WORK
   ============================================================ */
.sia-process {
  padding: var(--sia-space-section) 0 !important;
  background: var(--sia-offwhite) !important;
}

.sia-process-step {
  text-align: center;
  padding: var(--sia-space-lg);
  position: relative;
}

.sia-process-number {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--sia-gradient-hero);
  color: var(--sia-white);
  font-family: var(--sia-font-display);
  font-size: var(--sia-text-xl);
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--sia-space-lg) auto;
  box-shadow: 0 8px 24px rgba(123,47,255,0.3);
}

.sia-process-step h4 {
  font-size: var(--sia-text-lg) !important;
  margin-bottom: var(--sia-space-sm) !important;
}

.sia-process-step p {
  font-size: var(--sia-text-sm) !important;
  color: var(--sia-gray-600);
}

/* Ligne de connexion entre etapes */
.sia-process-line {
  position: absolute;
  top: 28px;
  left: calc(50% + 36px);
  width: calc(100% - 72px);
  height: 2px;
  background: var(--sia-gray-200);
}

.sia-process-line::after {
  content: '';
  position: absolute;
  top: -4px;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--sia-violet-light);
  border-right: 2px solid var(--sia-violet-light);
  transform: rotate(45deg);
}


/* ============================================================
   TEMOIGNAGES
   ============================================================ */
.sia-testimonials {
  padding: var(--sia-space-section) 0 !important;
  background: var(--sia-white) !important;
}

.sia-testimonial-card {
  background: var(--sia-offwhite) !important;
  border-radius: var(--sia-radius-lg) !important;
  padding: var(--sia-space-xl) !important;
  border: 1px solid var(--sia-gray-200);
  transition: all var(--sia-duration) var(--sia-ease);
  position: relative;
}

.sia-testimonial-card::before {
  content: '\201C';
  font-family: Georgia, serif;
  font-size: 80px;
  color: var(--sia-violet);
  opacity: 0.15;
  position: absolute;
  top: 16px;
  left: 24px;
  line-height: 1;
}

.sia-testimonial-card:hover {
  box-shadow: var(--sia-shadow-md);
  border-color: rgba(123,47,255,0.12);
}

.sia-testimonial-text {
  font-size: var(--sia-text-base) !important;
  font-style: italic;
  color: var(--sia-gray-800) !important;
  line-height: 1.8;
  position: relative;
  z-index: 1;
}

.sia-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: var(--sia-space-lg);
}

.sia-testimonial-author img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--sia-violet);
}

.sia-testimonial-name {
  font-family: var(--sia-font-display) !important;
  font-size: var(--sia-text-sm) !important;
  font-weight: 600 !important;
  color: var(--sia-dark) !important;
}

.sia-testimonial-role {
  font-size: var(--sia-text-xs) !important;
  color: var(--sia-gray-400) !important;
}

/* Etoiles */
.sia-stars {
  color: var(--sia-yellow);
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: var(--sia-space-md);
}


/* ============================================================
   CTA SECTION
   ============================================================ */
.sia-cta {
  padding: var(--sia-space-section) 0 !important;
  background: var(--sia-gradient-dark) !important;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.sia-cta::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -30%;
  width: 100vw;
  height: 100vw;
  background: radial-gradient(circle, rgba(123,47,255,0.2) 0%, transparent 60%);
  animation: siaHeroOrb1 15s ease-in-out infinite alternate;
}

.sia-cta .et_pb_row {
  position: relative;
  z-index: 1;
}

.sia-cta-title {
  font-size: var(--sia-text-3xl) !important;
  color: var(--sia-white) !important;
  margin-bottom: var(--sia-space-md) !important;
}

.sia-cta-subtitle {
  font-size: var(--sia-text-lg) !important;
  color: rgba(255,255,255,0.6) !important;
  max-width: 550px;
  margin: 0 auto var(--sia-space-xl) auto;
}

.sia-cta-btn .et_pb_button {
  background: var(--sia-white) !important;
  color: var(--sia-violet) !important;
  padding: 18px 48px !important;
  font-size: var(--sia-text-base) !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: var(--sia-radius-full) !important;
  box-shadow: 0 8px 32px rgba(255,255,255,0.2) !important;
}

.sia-cta-btn .et_pb_button:hover {
  transform: translateY(-3px) scale(1.03) !important;
  box-shadow: 0 12px 48px rgba(255,255,255,0.35) !important;
}


/* ============================================================
   CONTACT SECTION
   ============================================================ */
.sia-contact {
  padding: var(--sia-space-section) 0 !important;
  background: var(--sia-offwhite) !important;
}

.sia-contact-form .et_pb_contact_form input,
.sia-contact-form .et_pb_contact_form textarea {
  font-family: var(--sia-font-body) !important;
  background: var(--sia-white) !important;
  border: 1.5px solid var(--sia-gray-200) !important;
  border-radius: var(--sia-radius-md) !important;
  padding: 16px 20px !important;
  font-size: var(--sia-text-base) !important;
  color: var(--sia-dark) !important;
  transition: border-color var(--sia-duration) var(--sia-ease) !important;
}

.sia-contact-form .et_pb_contact_form input:focus,
.sia-contact-form .et_pb_contact_form textarea:focus {
  border-color: var(--sia-violet) !important;
  box-shadow: 0 0 0 3px rgba(123,47,255,0.1) !important;
  outline: none !important;
}

.sia-contact-form .et_pb_contact_submit {
  background: var(--sia-gradient-hero) !important;
  color: var(--sia-white) !important;
  padding: 16px 48px !important;
  border-radius: var(--sia-radius-full) !important;
  border: none !important;
  font-family: var(--sia-font-display) !important;
  font-weight: 700 !important;
  font-size: var(--sia-text-base) !important;
  cursor: pointer;
  transition: all var(--sia-duration) var(--sia-ease) !important;
  box-shadow: 0 8px 24px rgba(123,47,255,0.3) !important;
}

.sia-contact-form .et_pb_contact_submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 36px rgba(123,47,255,0.45) !important;
}

/* Infos de contact */
.sia-contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: var(--sia-space-lg);
}

.sia-contact-info-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--sia-radius-md);
  background: rgba(123,47,255,0.08);
  color: var(--sia-violet);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.sia-contact-info-text h4 {
  font-size: var(--sia-text-sm) !important;
  margin-bottom: 2px !important;
}

.sia-contact-info-text p {
  font-size: var(--sia-text-sm) !important;
  color: var(--sia-gray-600) !important;
}


/* ============================================================
   FOOTER
   ============================================================ */
.sia-footer {
  background: var(--sia-black) !important;
  padding: var(--sia-space-2xl) 0 var(--sia-space-lg) 0 !important;
}

.sia-footer h4 {
  font-family: var(--sia-font-display) !important;
  font-size: var(--sia-text-xs) !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.4) !important;
  margin-bottom: var(--sia-space-lg) !important;
}

.sia-footer p,
.sia-footer li,
.sia-footer a {
  font-size: var(--sia-text-sm) !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 2;
}

.sia-footer a:hover {
  color: var(--sia-violet-light) !important;
}

.sia-footer-logo img {
  max-height: 36px;
  margin-bottom: var(--sia-space-md);
}

.sia-footer-tagline {
  font-size: var(--sia-text-sm) !important;
  color: rgba(255,255,255,0.4) !important;
  max-width: 300px;
  line-height: 1.7 !important;
}

/* Social icons footer */
.sia-footer-social .et_pb_social_media_follow_network {
  background: rgba(255,255,255,0.06) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  margin-right: 8px !important;
  transition: all var(--sia-duration) var(--sia-ease) !important;
}

.sia-footer-social .et_pb_social_media_follow_network:hover {
  background: var(--sia-violet) !important;
  transform: translateY(-3px);
}

/* Copyright bar */
.sia-footer-copyright {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding-top: var(--sia-space-lg) !important;
  margin-top: var(--sia-space-xl) !important;
}

.sia-footer-copyright p {
  font-size: var(--sia-text-xs) !important;
  color: rgba(255,255,255,0.3) !important;
}


/* ============================================================
   ANIMATIONS GLOBALES
   ============================================================ */
@keyframes siaFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes siaFloatUp {
  from { opacity: 0; transform: translateY(50px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes siaPulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.4; }
}

@keyframes siaFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

@keyframes siaShine {
  from { left: -100%; }
  to   { left: 200%; }
}

/* Classes utilitaires d'animation (a appliquer dans Divi > Advanced > Attributes) */
.sia-animate-fadeup {
  animation: siaFadeUp 0.7s var(--sia-ease) both;
}

.sia-animate-fadeup-delay-1 {
  animation: siaFadeUp 0.7s 0.1s var(--sia-ease) both;
}

.sia-animate-fadeup-delay-2 {
  animation: siaFadeUp 0.7s 0.2s var(--sia-ease) both;
}

.sia-animate-fadeup-delay-3 {
  animation: siaFadeUp 0.7s 0.3s var(--sia-ease) both;
}

.sia-animate-float {
  animation: siaFloat 4s ease-in-out infinite;
}


/* ============================================================
   GLASSMORPHISME — Composant reutilisable
   ============================================================ */
.sia-glass {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--sia-radius-lg);
}

.sia-glass-dark {
  background: rgba(13,13,13,0.6);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--sia-radius-lg);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
  .sia-hero {
    min-height: auto;
    padding: var(--sia-space-3xl) 0 var(--sia-space-2xl) 0;
  }

  .sia-hero-title {
    font-size: var(--sia-text-3xl) !important;
  }

  .sia-stats .et_pb_column {
    margin-bottom: var(--sia-space-lg);
  }

  .sia-process-line {
    display: none;
  }

  .sia-portfolio-overlay {
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .sia-hero-title {
    font-size: var(--sia-text-2xl) !important;
  }

  .sia-section-title {
    font-size: var(--sia-text-2xl) !important;
  }

  .sia-service-card {
    padding: var(--sia-space-lg) !important;
  }

  .sia-testimonial-card {
    padding: var(--sia-space-lg) !important;
  }
}


/* ============================================================
   LANGUE TOGGLE (FR / EN)
   ============================================================ */
.sia-lang-toggle {
  display: inline-flex;
  align-items: center;
  background: rgba(123,47,255,0.06);
  border-radius: var(--sia-radius-full);
  padding: 3px;
  margin-left: 16px;
}

.sia-lang-toggle a {
  padding: 6px 14px;
  border-radius: var(--sia-radius-full);
  font-family: var(--sia-font-display);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--sia-gray-600);
  transition: all var(--sia-duration) var(--sia-ease);
}

.sia-lang-toggle a.active {
  background: var(--sia-violet);
  color: var(--sia-white);
}

.sia-lang-toggle a:hover:not(.active) {
  color: var(--sia-violet);
}
