/*
Theme Name: CRPN Premium Elementor Blue V3
Theme URI: https://crpn.ch/
Author: OpenAI
Description: Thème WordPress premium bleu V3, pensé pour Elementor, pour le CRPN.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: crpn-premium-elementor
*/

:root {
  --crpn-blue: #2563eb;
  --crpn-blue-dark: #153e9f;
  --crpn-blue-deep: #0b2f73;
  --crpn-blue-soft: #edf4ff;
  --crpn-blue-pale: #f7faff;
  --crpn-cyan-soft: #eef7ff;
  --crpn-ink: #0f2240;
  --crpn-text: #33496a;
  --crpn-muted: #6f819d;
  --crpn-line: #dce7f7;
  --crpn-white: #ffffff;
  --crpn-bg: #f5f8fd;
  --crpn-shadow: 0 18px 48px rgba(15,34,64,.08);
  --crpn-shadow-soft: 0 10px 24px rgba(15,34,64,.05);
  --crpn-radius: 22px;
  --crpn-width: 1200px;
}

html { box-sizing: border-box; scroll-behavior: smooth; }
*, *:before, *:after { box-sizing: inherit; }
body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  color: var(--crpn-text);
  background: linear-gradient(180deg, #f8fbff 0%, #f4f8fd 100%);
  line-height: 1.65;
}
a { color: var(--crpn-blue-dark); text-decoration: none; }
a:hover { color: var(--crpn-blue); }
img { max-width: 100%; height: auto; }
.site-header {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(220,231,247,.9);
  position: sticky;
  top: 0;
  z-index: 100;
}
.crpn-wrap { max-width: var(--crpn-width); margin: 0 auto; padding: 0 24px; }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 82px; gap: 24px; }
.site-branding a { font-weight: 900; color: var(--crpn-ink); font-size: 1.28rem; letter-spacing: -.02em; }
.site-branding small { display:block; color: var(--crpn-muted); font-size:.78rem; margin-top:2px; }
.main-navigation ul { list-style:none; margin:0; padding:0; display:flex; gap:24px; align-items:center; }
.main-navigation a { font-weight:700; color: var(--crpn-ink); }
.main-navigation .current-menu-item a { color: var(--crpn-blue); }
.header-cta a {
  display:inline-block; padding:12px 18px; border-radius:999px; background:linear-gradient(135deg,var(--crpn-blue) 0%, #3d7cff 100%);
  color:#fff; font-weight:800; box-shadow: var(--crpn-shadow-soft);
}
.site-main { min-height: 60vh; }
.site-footer { background:linear-gradient(180deg, #0f2344 0%, #0b1831 100%); color:#dfe8f8; padding: 62px 0 24px; margin-top: 0; }
.footer-grid { display:grid; grid-template-columns: 1.6fr 1fr 1fr; gap:32px; }
.site-footer h3, .site-footer h4 { color:#fff; margin-top:0; }
.site-footer a { color:#dfe8f8; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:28px; padding-top:18px; color:#b9c8e2; font-size:.92rem; }

.crpn-section { padding: 92px 0; }
.crpn-section--soft { background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); }
.crpn-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 28%),
    radial-gradient(circle at 15% 15%, rgba(37,99,235,.08), transparent 22%),
    linear-gradient(135deg, #eef5ff 0%, #ffffff 55%, #f2f7ff 100%);
  padding: 108px 0 88px;
}
.crpn-hero:after {
  content: '';
  position: absolute;
  right: -60px;
  top: 30px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,.16) 0%, rgba(37,99,235,0) 70%);
}
.crpn-hero-grid { display:grid; grid-template-columns: 1.12fr .88fr; gap: 36px; align-items:center; position:relative; z-index:2; }
.crpn-eyebrow {
  display:inline-block; background: var(--crpn-blue-soft); color:var(--crpn-blue-dark);
  padding:8px 14px; border-radius:999px; font-weight:800; font-size:.9rem;
}
.crpn-hero h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height:1.02; letter-spacing:-.03em; color: var(--crpn-ink); margin:18px 0; }
.crpn-lead { font-size:1.12rem; color:var(--crpn-text); max-width: 720px; }
.crpn-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.crpn-btn, .wp-block-button__link {
  display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border-radius:999px;
  font-weight:800; border:1px solid transparent;
}
.crpn-btn--primary { background:linear-gradient(135deg,var(--crpn-blue) 0%, #3d7cff 100%); color:#fff; box-shadow: var(--crpn-shadow); }
.crpn-btn--secondary { background:#fff; color:var(--crpn-ink); border-color:var(--crpn-line); }
.crpn-btn--ghost { background: rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.18); }
.crpn-card, .wp-block-group.is-style-crpn-card {
  background:#fff; border:1px solid var(--crpn-line); border-radius: var(--crpn-radius); box-shadow: var(--crpn-shadow-soft);
}
.crpn-hero-card { padding:30px; position:relative; }
.crpn-hero-card:before {
  content:''; position:absolute; inset:0 0 auto 0; height:6px; border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, var(--crpn-blue) 0%, #76a7ff 100%);
}
.crpn-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.crpn-stat { padding:18px; background:#fff; border:1px solid var(--crpn-line); border-radius: 16px; text-align:center; box-shadow: var(--crpn-shadow-soft); }
.crpn-stat strong { display:block; font-size:1.5rem; color:var(--crpn-blue-dark); }
.crpn-title { font-size: clamp(1.95rem, 3vw, 2.8rem); color:var(--crpn-ink); line-height:1.08; letter-spacing:-.02em; margin:0 0 12px; }
.crpn-subtitle { color: var(--crpn-muted); max-width: 820px; font-size: 1.03rem; }
.crpn-grid-3 { display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.crpn-grid-2 { display:grid; grid-template-columns: repeat(2,1fr); gap:24px; }
.crpn-feature { padding:28px; }
.crpn-feature h3 { margin-top:0; color:var(--crpn-ink); }
.crpn-badge { display:inline-block; padding:7px 12px; border-radius:999px; background:var(--crpn-blue-soft); color:var(--crpn-blue-dark); font-weight:800; font-size:.85rem; }
.crpn-steps { counter-reset: step; }
.crpn-step { position:relative; padding:24px 24px 24px 84px; }
.crpn-step:before {
  counter-increment: step; content: counter(step); position:absolute; left:24px; top:22px; width:42px; height:42px;
  background:linear-gradient(135deg,var(--crpn-blue) 0%, #4b84ff 100%); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900;
}
.crpn-highlight {
  background: linear-gradient(135deg, #0c3b90 0%, #1d63e9 100%);
  color:#fff;
}
.crpn-highlight .crpn-title, .crpn-highlight h3, .crpn-highlight p, .crpn-highlight li, .crpn-highlight .crpn-subtitle { color:#fff; }
.crpn-cta-box { padding:34px; }
.crpn-list { padding-left: 20px; }
.crpn-list li { margin-bottom: 8px; }
.crpn-mini { font-size:.95rem; color:var(--crpn-muted); }
.crpn-trustbar { display:grid; grid-template-columns: repeat(4,1fr); gap:16px; margin-top:32px; }
.crpn-trustitem { padding:16px 18px; background:#fff; border:1px solid var(--crpn-line); border-radius:16px; font-weight:700; color:var(--crpn-ink); text-align:center; }
.crpn-callout { padding: 22px; border-left: 4px solid var(--crpn-blue); background: var(--crpn-blue-pale); border-radius: 0 18px 18px 0; }
.crpn-page-hero { padding: 84px 0 30px; background: linear-gradient(180deg, #f1f6ff 0%, rgba(241,246,255,0) 100%); }
.crpn-divider { height:1px; background:var(--crpn-line); margin: 0; }

@media (max-width: 980px) {
  .crpn-hero-grid, .crpn-grid-3, .crpn-grid-2, .footer-grid, .crpn-trustbar { grid-template-columns: 1fr; }
  .main-navigation ul { flex-wrap:wrap; gap:12px; justify-content:flex-end; }
  .header-inner { align-items:flex-start; padding: 16px 0; }
}

@media (max-width: 640px) {
  .crpn-wrap { padding: 0 18px; }
  .crpn-section { padding: 68px 0; }
  .crpn-hero { padding: 80px 0 60px; }
  .crpn-stat-grid { grid-template-columns:1fr; }
}


/* V3 enhancements */
.site-header {
  background: rgba(255,255,255,.86);
  box-shadow: 0 8px 30px rgba(8,36,84,.06);
}
.site-branding a {font-size:1.4rem;}
.site-branding strong{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--crpn-blue);margin-bottom:3px;}
.header-cta a {padding:13px 20px;}
.main-navigation a {position:relative;}
.main-navigation a:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--crpn-blue);transition:width .2s ease;}
.main-navigation a:hover:after,.main-navigation .current-menu-item a:after{width:100%;}
.crpn-hero {
  background:
    radial-gradient(circle at 85% 12%, rgba(59,130,246,.18), transparent 0 22%),
    radial-gradient(circle at 10% 20%, rgba(96,165,250,.16), transparent 0 18%),
    linear-gradient(135deg,#f4f8ff 0%,#ffffff 52%,#eef5ff 100%);
}
.crpn-hero-grid {gap:44px;}
.crpn-hero h1 {max-width: 800px;}
.crpn-hero-card {padding:34px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);}
.crpn-feature{transition:transform .18s ease, box-shadow .18s ease;}
.crpn-feature:hover,.crpn-step:hover,.crpn-trustitem:hover{transform:translateY(-3px);box-shadow:var(--crpn-shadow);} 
.crpn-pillar{padding:26px;position:relative;overflow:hidden;}
.crpn-pillar:before{content:'';position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.12),rgba(37,99,235,0) 70%);} 
.crpn-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px;}
.crpn-kpi{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--crpn-line);box-shadow:var(--crpn-shadow-soft);} 
.crpn-kpi strong{display:block;font-size:1.65rem;color:var(--crpn-blue-dark);margin-bottom:6px;}
.crpn-surface{background:#fff;border:1px solid var(--crpn-line);border-radius:28px;box-shadow:var(--crpn-shadow);padding:34px;}
.crpn-band{padding:18px 0;background:linear-gradient(90deg,#123a8c 0%,#2563eb 100%);color:#fff;}
.crpn-band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:center;}
.crpn-band-item{font-weight:700;text-align:center;}
.crpn-quote{font-size:1.25rem;line-height:1.45;color:var(--crpn-ink);font-weight:700;}
@media (max-width:980px){.crpn-kpi-bar,.crpn-band-grid{grid-template-columns:1fr;}}
