/* ---------- Palette bleu/vert ---------- */
:root {
  --theme-palette-color-1: #0e7c86 !important;
  --theme-palette-color-2: #0a5f69 !important;
  --theme-palette-color-3: #145da0 !important;
  --theme-palette-color-4: #0d3b66 !important;
  --theme-palette-color-5: #e3f2f1 !important;
  --theme-palette-color-6: #f0f7f6 !important;
  --theme-palette-color-7: #fafcfc !important;
  --theme-palette-color-8: #ffffff !important;
  --e-global-color-blocksy_palette_1: #0e7c86 !important;
  --e-global-color-blocksy_palette_2: #0a5f69 !important;
  --e-global-color-blocksy_palette_3: #145da0 !important;
  --e-global-color-blocksy_palette_4: #0d3b66 !important;
  --e-global-color-blocksy_palette_5: #e3f2f1 !important;
  --e-global-color-blocksy_palette_6: #f0f7f6 !important;
  --e-global-color-blocksy_palette_7: #fafcfc !important;
  --theme-button-background-initial-color: #0e7c86 !important;
  --theme-button-background-hover-color: #145da0 !important;
  --theme-link-initial-color: #0e7c86 !important;
  --theme-link-hover-color: #145da0 !important;
  --theme-headings-color: #0d3b66 !important;
  --theme-form-field-border-focus-color: #0e7c86 !important;
}

body { font-family: 'Poppins', 'Segoe UI', Arial, sans-serif; }
h1,h2,h3,h4 { letter-spacing: -0.02em; }

/* ---------- Logo / titre / espacements ---------- */
.ct-header .site-title, .ct-header .site-title a, .ct-header .site-logo-container .site-title { display: none !important; }
main#main, main .entry-content { padding-top: 0 !important; margin-top: 0 !important; }
.ct-container-full[data-content], [data-content="normal"] { padding-top: 0 !important; }
.ongev-hero-slider { margin-top: 0 !important; }

/* ---------- Bannière de page ---------- */
.ongev-banner { position: relative; height: 240px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
.ongev-banner-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,42,51,.72), rgba(13,59,102,.45)); }
.ongev-banner-title { position: relative; z-index: 1; color: #fff; font-size: 2.4rem; margin: 0; text-shadow: 0 4px 18px rgba(0,0,0,.45); }
@media (max-width: 767px) { .ongev-banner { height: 170px; } .ongev-banner-title { font-size: 1.6rem; } }

/* ---------- Bouton don ---------- */
.ongev-donate {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  align-self: center;
  background: #0e7c86;
  color: #fff !important;
  padding: 12px 28px;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: .04em;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(14,124,134,.4);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.ongev-donate:hover { background: #145da0; transform: translateY(-3px); box-shadow: 0 12px 28px rgba(20,93,160,.45); }

/* ---------- Titre de page du thème ---------- */
.entry-header { display: none !important; }

/* ---------- Footer custom ---------- */
#footer.ct-footer, .ct-footer { display: none !important; }
.ongev-footer { background: #0d3b66; color: #e3f2f1; margin-top: 60px; font-size: 15px; }
.ongev-footer a { color: #e3f2f1; text-decoration: none; transition: color .2s; }
.ongev-footer a:hover { color: #0e7c86; }
.ongev-footer-inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; max-width: 1200px; margin: 0 auto; padding: 60px 20px 40px; }
.ongev-footer h4 { color: #fff; margin-bottom: 16px; font-size: 1.1rem; border-bottom: 3px solid #0e7c86; display: inline-block; padding-bottom: 6px; }
.ongev-footer-logo { max-height: 55px; margin-bottom: 14px; }
.ongev-footer-col ul { list-style: none; padding: 0; margin: 0; }
.ongev-footer-col li { margin-bottom: 8px; }
.ongev-cal { border-collapse: collapse; font-size: 13px; background: rgba(255,255,255,.05); border-radius: 10px; overflow: hidden; width: 100%; text-align: center; }
.ongev-cal th { background: #0e7c86; color: #fff; padding: 8px; font-size: 14px; }
.ongev-cal td { padding: 5px 4px; }
.ongev-cal-today { background: #0e7c86; color: #fff; border-radius: 50%; font-weight: 700; }
.ongev-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); display: flex; justify-content: space-between; padding: 16px 20px; max-width: 1200px; margin: 0 auto; font-size: 14px; }
@media (max-width: 900px) { .ongev-footer-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ongev-footer-inner { grid-template-columns: 1fr; } }

/* ---------- Boutons ---------- */
.elementor-button, .wp-block-button__link, .ct-button, .ongev-donate, .ongev-slide-btn {
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 14px 34px !important;
  font-weight: 600 !important;
  letter-spacing: .03em;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease !important;
  box-shadow: 0 6px 18px rgba(14,124,134,.25);
}
.elementor-button:hover, .wp-block-button__link:hover, .ct-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(20,93,160,.35);
}

/* ---------- Menu ---------- */
header#header {
  position: sticky !important;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 18px rgba(13,59,102,.08);
  transition: box-shadow .3s ease, background .3s ease;
}
header#header .menu-item > a, .ct-menu nav > ul > li > a, header#header .menu > li > a {
  position: relative;
  font-weight: 600;
  color: #0d3b66;
}
header#header .menu-item > a::after, .ct-menu nav > ul > li > a::after, header#header .menu > li > a::after {
  content: '';
  position: absolute;
  left: 0; bottom: -4px;
  width: 0; height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg,#0e7c86,#145da0);
  transition: width .3s ease;
}
header#header .menu-item > a:hover, .ct-menu nav > ul > li > a:hover, header#header .menu > li > a:hover { color: #0e7c86 !important; }
header#header .menu-item > a:hover::after, .ct-menu nav > ul > li > a:hover::after, header#header .menu > li > a:hover::after { width: 100%; }

/* ---------- Slider accueil ---------- */
.ongev-hero-slider { position: relative; width: 100%; height: 85vh; min-height: 520px; overflow: hidden; margin-bottom: 60px; }
.ongev-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1s ease; }
.ongev-slide.active { opacity: 1; transform: scale(1.06); transition: opacity 1s ease, transform 6s ease; }
.ongev-slide-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,42,51,.78), rgba(13,59,102,.35) 55%, rgba(6,42,51,.15)); }
.ongev-slide-content { position: relative; z-index: 2; max-width: 640px; margin-left: 8%; top: 50%; transform: translateY(-50%); color: #fff; padding: 0 20px; }
.ongev-slide-content h1 { font-size: 3.2rem; line-height: 1.15; color: #fff; margin-bottom: 18px; text-shadow: 0 4px 24px rgba(0,0,0,.4); }
.ongev-slide-content p { font-size: 1.15rem; opacity: .92; margin-bottom: 28px; }
.ongev-slide-btn { display: inline-block; background: #0e7c86; color: #fff !important; padding: 14px 36px; border-radius: 999px; font-weight: 600; letter-spacing: .04em; box-shadow: 0 8px 24px rgba(14,124,134,.4); transition: transform .25s ease, background .25s ease; }
.ongev-slide-btn:hover { background: #145da0; transform: translateY(-3px); }
.ongev-dots { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 3; }
.ongev-dot { width: 11px; height: 11px; border-radius: 50%; background: rgba(255,255,255,.45); cursor: pointer; transition: background .3s, transform .3s; }
.ongev-dot.active { background: #0e7c86; transform: scale(1.25); }
@media (max-width: 767px) { .ongev-hero-slider { height: 70vh; } .ongev-slide-content h1 { font-size: 2rem; } .ongev-slide-content { margin-left: 5%; } }

/* ---------- Cartes / icônes ---------- */
.elementor-widget-icon-box {
  background: #fff;
  border-radius: 16px;
  padding: 28px 22px;
  box-shadow: 0 6px 24px rgba(13,59,102,.08);
  transition: transform .3s ease, box-shadow .3s ease;
  height: 100%;
}
.elementor-widget-icon-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(14,124,134,.18);
}
.elementor-icon-box-icon { font-size: 2.2rem; color: #0e7c86; }
.elementor-icon-box-icon svg *, [data-e-type="widget"][data-widget_type="icon-box.default"] svg path, [data-e-type="widget"][data-widget_type="icon-box.default"] svg circle { fill: #0e7c86 !important; }
[data-e-type="widget"][data-widget_type="icon-box.default"] svg path[fill="#FFF"], [data-e-type="widget"][data-widget_type="icon-box.default"] svg circle[fill="#FFF"] { fill: #e3f2f1 !important; }

/* ---------- Sections ---------- */
.elementor-widget-counter .elementor-counter-number { color: #0e7c86; font-weight: 700; }
.elementor-testimonial-wrapper { border-radius: 16px; box-shadow: 0 6px 24px rgba(13,59,102,.07); padding: 24px; background: #fff; }

/* ---------- Révélation au scroll ---------- */
.ongev-reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.ongev-reveal.ongev-visible { opacity: 1; transform: none; }
