/*
Theme Name: Divi Creaphism
Template: Divi
Version: 1.0.0
Description: Thème enfant Divi - Identité Creaphism modernisée
Author: Creaphism
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

/* === DESIGN TOKENS === */
:root {
  --cp-pink:         #E8195A;
  --cp-pink-dark:    #C01449;
  --cp-pink-light:   #FEF0F4;
  --cp-pink-mid:     #FF6B9D;
  --cp-dark:         #0F0F1A;
  --cp-text:         #1A1A2E;
  --cp-muted:        #6B7280;
  --cp-border:       #E5E7EB;
  --cp-white:        #FFFFFF;
  --cp-bg:           #FAFAFA;
  --cp-card:         #FFFFFF;
  --cp-gradient:     linear-gradient(135deg, #E8195A 0%, #FF6B9D 100%);
  --cp-gradient-rev: linear-gradient(135deg, #C01449 0%, #E8195A 100%);
  --cp-shadow-sm:    0 2px 12px rgba(0,0,0,0.06);
  --cp-shadow-md:    0 8px 32px rgba(0,0,0,0.08);
  --cp-shadow-pink:  0 8px 30px rgba(232,25,90,0.25);
  --cp-radius:       16px;
  --cp-radius-xl:    24px;
}

/* === GLOBAL === */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  background-color: var(--cp-bg) !important;
  color: var(--cp-text) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
  font-weight: 800;
  color: var(--cp-text);
  line-height: 1.15;
}

p, li { font-family: 'Inter', sans-serif !important; }
a { color: var(--cp-pink); transition: color 0.2s; }
a:hover { color: var(--cp-pink-dark); }

/* === HEADER === */
#main-header {
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--cp-border) !important;
  box-shadow: 0 1px 20px rgba(0,0,0,0.04) !important;
}
#main-header.et-fixed-header { background: rgba(255,255,255,0.99) !important; }
#et-top-navigation nav > ul > li > a {
  color: var(--cp-text) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
}
#et-top-navigation nav > ul > li > a:hover { color: var(--cp-pink) !important; }
.et_pb_menu--style-left_aligned .et_pb_menu_inner_container { background: transparent; }

/* === UTILITY === */
.cp-gradient-text {
  background: var(--cp-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cp-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--cp-pink);
  margin-bottom: 14px;
}
.cp-section-tag::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--cp-gradient);
  border-radius: 2px;
}

.cp-section-title {
  font-size: 44px !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 20px !important;
  color: var(--cp-text) !important;
}
.cp-section-sub {
  font-size: 17px;
  line-height: 1.7;
  color: var(--cp-muted);
  max-width: 580px;
  margin: 0 auto 56px;
}

/* === HERO === */
.cp-hero-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--cp-pink);
  margin-bottom: 22px;
  padding: 7px 16px;
  background: var(--cp-pink-light);
  border-radius: 50px;
}
.cp-hero-title {
  font-size: 62px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 24px !important;
  color: var(--cp-text) !important;
}
.cp-hero-sub {
  font-size: 18px;
  line-height: 1.75;
  color: var(--cp-muted);
  max-width: 500px;
  margin-bottom: 44px !important;
}

/* Hero buttons */
.cp-btn-primary a.et_pb_button,
.cp-btn-primary a.et_pb_button:visited {
  background: var(--cp-gradient) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 17px 38px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  box-shadow: var(--cp-shadow-pink) !important;
  transition: all 0.3s ease !important;
  letter-spacing: 0 !important;
}
.cp-btn-primary a.et_pb_button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 44px rgba(232,25,90,0.38) !important;
}
.cp-btn-secondary a.et_pb_button,
.cp-btn-secondary a.et_pb_button:visited {
  background: transparent !important;
  color: var(--cp-pink) !important;
  border: 2px solid var(--cp-pink) !important;
  border-radius: 50px !important;
  padding: 15px 34px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  transition: all 0.3s ease !important;
  margin-top: 0 !important;
}
.cp-btn-secondary a.et_pb_button:hover {
  background: var(--cp-pink-light) !important;
  transform: translateY(-2px) !important;
}

/* Hero card (right column) */
.cp-hero-card-col { border-radius: var(--cp-radius-xl) !important; }
.cp-card-title {
  font-size: 22px !important;
  color: white !important;
  margin-bottom: 6px !important;
}
.cp-step {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  font-size: 15px;
}
.cp-step:last-child { border-bottom: none; }
.cp-step-num { font-weight: 800; font-size: 11px; opacity: 0.5; min-width: 22px; color: white; }

/* === STATS === */
.cp-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 16px;
  border-right: 1px solid var(--cp-border);
  text-align: center;
}
.cp-stat:last-child { border-right: none; }
.cp-stat-number {
  font-size: 52px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  display: block;
}
.cp-stat-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--cp-muted);
  display: block;
  margin-top: 6px;
}

/* === SERVICE CARDS === */
.cp-service-card {
  background: var(--cp-card);
  border-radius: var(--cp-radius);
  padding: 36px 32px;
  box-shadow: var(--cp-shadow-sm);
  border: 1px solid var(--cp-border);
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.cp-service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: var(--cp-gradient);
  opacity: 0;
  transition: opacity 0.3s;
}
.cp-service-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(232,25,90,0.1); border-color: rgba(232,25,90,0.2); }
.cp-service-card:hover::before { opacity: 1; }
.cp-service-icon {
  font-size: 32px;
  margin-bottom: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px; height: 64px;
  background: var(--cp-pink-light);
  border-radius: 14px;
}
.cp-service-card h3 { font-size: 20px !important; font-weight: 700 !important; margin-bottom: 12px !important; }
.cp-service-card p { font-size: 15px; line-height: 1.7; color: var(--cp-muted); margin: 0 !important; }
.cp-service-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cp-pink) !important;
  font-weight: 600;
  font-size: 14px;
  margin-top: 22px;
  text-decoration: none;
  transition: gap 0.2s;
}
.cp-service-link:hover { gap: 10px; }

/* === FEATURES === */
.cp-feature {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--cp-border);
}
.cp-feature:last-child { border-bottom: none; }
.cp-feature-icon {
  width: 48px; height: 48px;
  background: var(--cp-pink-light);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; flex-shrink: 0;
}
.cp-feature h4 { font-size: 17px !important; font-weight: 700 !important; margin-bottom: 5px !important; }
.cp-feature p { font-size: 14px; color: var(--cp-muted); line-height: 1.6; margin: 0 !important; }

/* === PROCESS === */
.cp-process-card {
  background: var(--cp-card);
  border-radius: var(--cp-radius);
  padding: 36px 28px;
  border: 1px solid var(--cp-border);
  transition: all 0.3s ease;
  height: 100%;
}
.cp-process-card:hover { border-color: rgba(232,25,90,0.25); box-shadow: var(--cp-shadow-md); }
.cp-process-number {
  font-size: 68px;
  font-weight: 900;
  color: rgba(232,25,90,0.07);
  line-height: 1;
  display: block;
  margin-bottom: 2px;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.cp-process-card h3 { font-size: 19px !important; font-weight: 700 !important; margin-bottom: 10px !important; }
.cp-process-card p { font-size: 14px; line-height: 1.65; color: var(--cp-muted); margin: 0 !important; }

/* === TESTIMONIALS === */
.cp-testimonial-card {
  background: var(--cp-card);
  border-radius: var(--cp-radius);
  padding: 36px 32px;
  box-shadow: var(--cp-shadow-sm);
  border: 1px solid var(--cp-border);
  height: 100%;
  position: relative;
}
.cp-testimonial-card::before {
  content: '"';
  position: absolute; top: 16px; right: 24px;
  font-size: 80px;
  color: rgba(232,25,90,0.07);
  font-family: Georgia, serif; line-height: 1;
}
.cp-stars { color: #F59E0B; font-size: 15px; letter-spacing: 2px; margin-bottom: 16px; display: block; }
.cp-testimonial-text { font-size: 15px; line-height: 1.75; color: var(--cp-text); margin-bottom: 24px; font-style: italic; }
.cp-testimonial-author { display: flex; align-items: center; gap: 12px; }
.cp-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--cp-gradient);
  display: flex; align-items: center; justify-content: center;
  color: white; font-weight: 700; font-size: 16px; flex-shrink: 0;
}
.cp-author-name { font-weight: 700; font-size: 14px; display: block; color: var(--cp-text); }
.cp-author-role { font-size: 13px; color: var(--cp-muted); }

/* === CTA SECTION === */
.cp-cta-section h2 { font-size: 50px !important; color: #FFFFFF !important; letter-spacing: -0.02em !important; margin-bottom: 18px !important; }
.cp-cta-section p { color: rgba(255,255,255,0.82) !important; }
.cp-btn-cta a.et_pb_button,
.cp-btn-cta a.et_pb_button:visited {
  background: #FFFFFF !important;
  color: var(--cp-pink) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 18px 44px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
  transition: all 0.3s ease !important;
}
.cp-btn-cta a.et_pb_button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 50px rgba(0,0,0,0.22) !important;
}

/* === FOOTER === */
#main-footer { background: var(--cp-dark) !important; border-top: none !important; }
#main-footer .footer-widget h4 { color: #FFFFFF !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 15px !important; font-weight: 700 !important; margin-bottom: 18px !important; text-transform: uppercase; letter-spacing: 1px; }
#main-footer .footer-widget p, #main-footer .footer-widget li, #main-footer .footer-widget a { color: rgba(255,255,255,0.60) !important; font-size: 14px !important; line-height: 1.8 !important; }
#main-footer .footer-widget a:hover { color: var(--cp-pink-mid) !important; }
#main-footer .footer-widget li { list-style: none; }
#footer-bottom { background: rgba(0,0,0,0.35) !important; }
#footer-bottom #footer-info, #footer-bottom #footer-info a { color: rgba(255,255,255,0.40) !important; font-size: 13px !important; }

/* === RESPONSIVE === */
@media (max-width: 980px) {
  .cp-hero-title { font-size: 44px !important; }
  .cp-section-title { font-size: 36px !important; }
  .cp-cta-section h2 { font-size: 38px !important; }
  .cp-stat { border-right: none; border-bottom: 1px solid var(--cp-border); }
}
@media (max-width: 767px) {
  .cp-hero-title { font-size: 34px !important; }
  .cp-section-title { font-size: 28px !important; }
  .cp-stat-number { font-size: 40px !important; }
  .cp-cta-section h2 { font-size: 28px !important; }
  .cp-btn-secondary a.et_pb_button { margin-top: 14px !important; }
}
