/* =========================================================
   Cap Éloquence — Theme polish (premium)
   (Works with style.css tokens)
========================================================= */

/* -----------------------------------------
   Global polish
------------------------------------------ */
.ce-card{ border-color: rgba(255,255,255,0.12); }
.ce-card:hover{ border-color: rgba(214,178,94,0.18); }

/* Better spacing between pattern sections */
.ce-section + .ce-section{ padding-top: 18px; }

/* -----------------------------------------
   Desktop dropdown (readable + premium)
------------------------------------------ */
.ce-nav-dd{ position:relative; display:inline-flex; align-items:center; }

.ce-dd-btn{
  appearance:none;
  background:none;
  border:0;
  cursor:pointer;
  color: rgba(255,255,255,0.86);
  font: inherit;
  font-weight: 750;
  padding: 10px 12px;
  border-radius: 999px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ce-dd-btn:hover{
  background: rgba(255,255,255,0.06);
  color:#fff;
  transform: translateY(-1px);
}
.ce-dd-caret{ font-size:.85em; opacity:.85; margin-left:4px; }

.ce-dd-panel{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  min-width: 240px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.94);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 50px rgba(0,0,0,0.42);
  display:none;
  z-index: 999;
}

.ce-dd-panel::before{
  content:"";
  position:absolute;
  inset: -1px;
  border-radius: 18px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(214,178,94,0.22), rgba(47,107,255,0.18), transparent 70%);
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  padding: 1px;
  box-sizing:border-box;
}

.ce-nav-dd.is-open .ce-dd-panel{ display:block; }

.ce-dd-panel a{
  display:flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 14px;
  color: rgba(255,255,255,0.92);
  text-decoration:none;
  font-weight: 720;
  transition: background .2s ease, transform .2s ease;
}
.ce-dd-panel a:hover{
  background: rgba(255,255,255,0.08);
  transform: translateY(-1px);
}

/* -----------------------------------------
   Mobile menu styles (header)
------------------------------------------ */
.ce-mobile-menu{
  position: fixed;
  inset: 74px 0 auto 0;
  z-index: 60;
  padding: 16px;
  background: rgba(6,20,39,0.88);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(14px);
}

.ce-mobile-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.ce-mobile-inner a{
  display: block;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(8,26,51,0.55);
  color: rgba(255,255,255,0.92);
  font-weight: 780;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.ce-mobile-inner a:hover{
  transform: translateY(-1px);
  background: rgba(8,26,51,0.72);
  border-color: rgba(214,178,94,0.22);
  text-decoration: none;
}

@media (max-width: 980px){
  .ce-mobile-menu{ inset: 68px 0 auto 0; }
}

/* Mobile dropdown accordion */
.ce-m-dd{ width:100%; }
.ce-m-dd-btn{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(8,26,51,0.55);
  color: rgba(255,255,255,0.92);
  font-weight: 780;
  cursor:pointer;
}
.ce-m-dd-panel{ margin-top: 8px; display:grid; gap: 8px; }
.ce-m-dd-panel a{ padding-left: 12px; opacity: .98; }

/* -----------------------------------------
   Blog cards polish
------------------------------------------ */
.ce-post-card .wp-block-post-title a{ text-decoration: none; }

.ce-post-meta{
  color: rgba(214,178,94,0.92);
  font-weight: 820;
  font-size: 0.92rem;
}
.ce-post-meta a{
  color: rgba(214,178,94,0.92);
  text-decoration: none;
}
.ce-post-meta a:hover{ text-decoration: underline; }

.ce-post-date,
.ce-post-author{
  color: rgba(255,255,255,0.62);
  font-size: 0.92rem;
}

/* Query grid nicer on small screens */
@media (max-width: 980px){
  .wp-block-post-template{ grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px){
  .wp-block-post-template{ grid-template-columns: 1fr !important; }
}

/* -----------------------------------------
   WP Search block match our style
------------------------------------------ */
.wp-block-search.ce-search{
  border-radius: 26px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(8,26,51,0.50);
}

.wp-block-search.ce-search .wp-block-search__input{
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(8,26,51,0.55) !important;
  color: #fff !important;
  padding: 12px 14px !important;
}

.wp-block-search.ce-search .wp-block-search__button{
  border-radius: 999px !important;
  border: 0 !important;
  padding: 12px 16px !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, rgba(214,178,94,0.98), rgba(241,212,138,0.92)) !important;
  color: #0b1220 !important;
}

/* -----------------------------------------
   Footer socials (compact + premium)
------------------------------------------ */
.ce-social-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ce-social-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  font-size:0.86rem;
  line-height:1;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(8,26,51,0.52);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  transition:all .2s ease;
}

.ce-social-item:hover{
  border-color: rgba(214,178,94,0.55);
  background: rgba(8,26,51,0.72);
  transform:translateY(-1px);
}

.ce-ico{
  width:14px;
  height:14px;
  display:inline-flex;
  color: rgba(214,178,94,.95);
}
.ce-ico svg{
  width:14px;
  height:14px;
  stroke-width:2;
}

/* Footer contact - compact */
.ce-footer-grid .wp-block-column:nth-child(3) p{
  line-height:1.4;
  font-size:0.92rem;
  margin-bottom:6px !important;
}
.ce-footer-grid .wp-block-column:nth-child(3) a{
  word-break:break-word;
  white-space:nowrap;
}
@media (max-width: 768px){
  .ce-footer-grid .wp-block-column:nth-child(3) a{ white-space:normal; }
}
/* Header 3-zone layout */
.ce-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.ce-header-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 220px;
}

.ce-header-center{
  flex: 1;
  display:flex;
  justify-content:center; /* perfect center */
}

.ce-header-right{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 220px;
  justify-content:flex-end;
}

/* Ensure nav stays centered and doesn’t push */
.ce-nav{
  display:flex;
  align-items:center;
  gap:14px;
  white-space:nowrap;
}

/* Hide desktop center on mobile, show toggle */
@media (max-width: 980px){
  .ce-header-center{ display:none; }
  .ce-nav-toggle{ display:inline-flex; }
}
:root{
  --ce-logo-size: 96px; /* ✅ change juste ça pour agrandir/réduire */
}

.wp-block-site-logo img{
  width: var(--ce-logo-size) !important;
  height: auto !important;
  max-width: none !important;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}

.ce-brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.ce-brand-name{
  font-weight: 900;
  letter-spacing: -0.02em;
  color: rgba(255,255,255,.96);
  font-size: 1.08rem;
}

.ce-brand-tagline{
  font-weight: 650;
  color: rgba(214,178,94,.92);
  font-size: .92rem;
  margin-top: 4px;
}

/* mobile : logo un peu plus petit */
@media (max-width: 520px){
  :root{ --ce-logo-size: 72px; }
  .ce-brand-name{ font-size: 1rem; }
  .ce-brand-tagline{ font-size: .86rem; }
}
/* ===========================
   PREMIUM BUTTON HOVER (stronger gold)
=========================== */
.ce-btn,
.wp-block-button__link{
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .25s ease, background .25s ease;
}

/* Gold glow appears immediately */
.ce-btn:hover,
.wp-block-button__link:hover{
  border-color: rgba(214,178,94,.75) !important;
  box-shadow:
    0 16px 44px rgba(214,178,94,.18),
    0 16px 44px rgba(47,107,255,.12);
  transform: translateY(-2px);
}

/* Gold tint layer (stays while hovered) */
.ce-btn::before,
.wp-block-button__link::before{
  content:"";
  position:absolute;
  inset:-1px;
  background: radial-gradient(120px 80px at 30% 30%,
    rgba(214,178,94,.28),
    rgba(214,178,94,0) 70%
  );
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events:none;
}

.ce-btn:hover::before,
.wp-block-button__link:hover::before{
  opacity: 1;
}

/* Shimmer sweep (slower so it’s noticeable) */
.ce-btn::after,
.wp-block-button__link::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(90deg,
    rgba(214,178,94,0),
    rgba(241,212,138,.40),
    rgba(214,178,94,0)
  );
  transform: translateX(-130%);
  transition: transform .85s ease;
  pointer-events:none;
}

.ce-btn:hover::after,
.wp-block-button__link:hover::after{
  transform: translateX(130%);
}
/* ===========================
   DROPDOWN: premium gold hover
=========================== */
.ce-dd-panel{
  background: rgba(6,20,39,0.94);
  border: 1px solid rgba(255,255,255,0.14);
}

/* Each item */
.ce-dd-panel a{
  position: relative;
  border: 1px solid transparent;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}

/* Gold underline + glow */
.ce-dd-panel a::after{
  content:"";
  position:absolute;
  left: 12px;
  right: 12px;
  bottom: 8px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    rgba(214,178,94,0),
    rgba(241,212,138,.95),
    rgba(214,178,94,0)
  );
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease;
}

.ce-dd-panel a:hover{
  background: rgba(255,255,255,0.07);
  border-color: rgba(214,178,94,0.28);
  transform: translateY(-1px);
}

.ce-dd-panel a:hover::after{
  opacity: 1;
  transform: translateY(0);
  filter: drop-shadow(0 8px 14px rgba(214,178,94,.16));
}
/* ===========================
   MOBILE MENU: gold hover + focus
=========================== */
.ce-mobile-inner a:hover{
  border-color: rgba(214,178,94,.40);
  box-shadow: 0 10px 26px rgba(214,178,94,.10);
}

.ce-m-dd-btn{
  position: relative;
  overflow:hidden;
  transition: border-color .2s ease, box-shadow .25s ease, background .25s ease;
}

.ce-m-dd-btn:hover{
  border-color: rgba(214,178,94,.45);
  box-shadow: 0 12px 30px rgba(214,178,94,.12);
}

.ce-m-dd-panel a{
  position: relative;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(8,26,51,0.45);
}

.ce-m-dd-panel a:hover{
  border-color: rgba(214,178,94,.38);
  background: rgba(8,26,51,0.65);
}
/* Force hidden to REALLY hide on mobile accordion */
.ce-m-dd-panel[hidden]{
  display:none !important;
}
.ce-m-dd-panel{
  display:grid;
  gap:8px;
}
/* Floating scroll buttons (top/bottom) */
.ce-scroll-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 10px;
  z-index: 9999;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

.ce-scroll-fab.is-visible{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ce-fab-btn{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.78);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.92);
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.ce-fab-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(214,178,94,0.55);
  box-shadow: 0 16px 44px rgba(214,178,94,0.14), 0 16px 44px rgba(47,107,255,0.10);
}

@media (max-width: 520px){
  .ce-scroll-fab{ right: 14px; bottom: 14px; }
  .ce-fab-btn{ width: 44px; height: 44px; }
}

/* Blog layout responsive */
@media (max-width: 980px){
  .ce-blog-layout{
    flex-direction: column;
  }
}

/* Latest posts styling */
.ce-latest{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.ce-latest li{
  margin:0 !important;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
}
.ce-latest a{
  font-weight:850;
  text-decoration:none;
}
.ce-latest a:hover{
  text-decoration:none;
}
.ce-latest time{
  display:block;
  margin-top:6px;
  font-size:.9rem;
  color: rgba(255,255,255,0.62);
}
/* =========================================================
   ✅ SWITCH BLEU ⇄ OR (hover)
   - Base: bleu (identité)
   - Hover: devient or (visible)
   - Leave: redevient bleu
========================================================= */

/* Base (tous boutons) */
.ce-btn,
.wp-block-button__link,
.wp-block-search.ce-search .wp-block-search__button{
  border-color: rgba(47,107,255,0.45) !important;
  background: linear-gradient(135deg, rgba(47,107,255,0.98), rgba(47,107,255,0.62)) !important;
  color: #fff !important;
  box-shadow: 0 14px 40px rgba(47,107,255,0.18);
  transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease, background .25s ease, color .25s ease;
}

/* Hover = OR (le bouton change réellement) */
.ce-btn:hover,
.wp-block-button__link:hover,
.wp-block-search.ce-search .wp-block-search__button:hover{
  border-color: rgba(214,178,94,0.75) !important;
  background: linear-gradient(135deg, rgba(214,178,94,0.98), rgba(241,212,138,0.92)) !important;
  color: #0b1220 !important; /* lisible sur or */
  box-shadow:
    0 16px 44px rgba(214,178,94,0.22),
    0 16px 44px rgba(47,107,255,0.12);
  transform: translateY(-2px);
}

/* Active (clic) */
.ce-btn:active,
.wp-block-button__link:active,
.wp-block-search.ce-search .wp-block-search__button:active{
  transform: translateY(0px);
}
/* Menu links: bleu neutre -> or au hover (sans devenir bouton) */
.ce-nav a.ce-nav-link:hover,
.ce-dd-btn:hover{
  color: rgba(241,212,138,0.96) !important;
}
.ce-dd-panel a:hover{
  color: rgba(241,212,138,0.98) !important;
}
/* =========================================
   🔥 IMMERSIVE (Grande photo) — WOW
========================================= */

/* Panel lisible + élégant dans la cover */
.ce-immersive-cover .ce-immersive-panel{
  max-width: 1100px;
  margin: 0 auto;
}

/* Stats cards (effet premium) */
.ce-stat{
  background: rgba(8,26,51,0.58);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 60px rgba(0,0,0,0.35);
}

/* Bar chart (graphique visible) */
.ce-bars{
  display: grid;
  gap: 12px;
}

.ce-bar-row{
  gap: 12px;
  align-items: center;
}

.ce-bar-row p{
  min-width: 140px;
  margin: 0 !important;
  color: rgba(255,255,255,0.90);
  font-weight: 800;
}

.ce-bar{
  flex: 1;
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.12);
  overflow: hidden;
  position: relative;
}

.ce-bar-fill{
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(47,107,255,0.95), rgba(214,178,94,0.92));
  box-shadow: 0 12px 32px rgba(47,107,255,0.18);
}

/* Pourcentages (tu peux ajuster si tu veux) */
.ce-bar-80{ width: 80%; }
.ce-bar-65{ width: 65%; }
.ce-bar-50{ width: 50%; }

/* Mobile: barres en colonne (plus propre) */
@media (max-width: 640px){
  .ce-bar-row{
    flex-direction: column;
    align-items: stretch;
  }
  .ce-bar-row p{
    min-width: auto;
  }
}
/* =========================================
   🎯 Grande photo — FIX position + zoom (prod)
========================================= */

.ce-immersive-cover{
  overflow: hidden;
}

/* Image de cover: centrée “intelligemment” + zoom */
.ce-immersive-cover .wp-block-cover__image-background{
  object-position: 62% 38% !important; /* ✅ logique: un peu à droite + un peu vers le haut */
  transform: scale(1.14) !important;   /* ✅ zoom pour remplir (propre) */
  filter: contrast(1.06) saturate(1.06) brightness(0.98);
  transition: transform 1.1s ease, filter .6s ease;
}

/* Petit mouvement premium au hover */
.ce-immersive-cover:hover .wp-block-cover__image-background{
  transform: scale(1.18) !important;
  filter: contrast(1.08) saturate(1.08) brightness(1.0);
}

/* Mobile : zoom plus léger pour éviter trop de crop */
@media (max-width: 640px){
  .ce-immersive-cover .wp-block-cover__image-background{
    object-position: 55% 35% !important;
    transform: scale(1.08) !important;
  }
  .ce-immersive-cover:hover .wp-block-cover__image-background{
    transform: scale(1.10) !important;
  }
}
/* =========================================
   ✅ COVER FIX FINAL — centrage parfait + zoom (PROD)
   (corrige le "collé à gauche" à cause du img{height:auto})
========================================= */

.ce-immersive-cover{
  overflow: hidden;
}

/* L'image de cover doit ignorer tes règles globales img{} */
.ce-immersive-cover .wp-block-cover__image-background{
  max-width: none !important;
  width: auto !important;
  height: auto !important;

  /* ✅ centrage réel */
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  /* ✅ couvre tout l'écran même si image bizarre */
  min-width: 100% !important;
  min-height: 100% !important;

  /* ✅ zoom + centrage nickel */
  transform: translate(-50%, -50%) scale(1.18) !important;

  /* ✅ rendu premium */
  filter: contrast(1.06) saturate(1.06) brightness(0.98);
}

/* petit effet premium au hover */
.ce-immersive-cover:hover .wp-block-cover__image-background{
  transform: translate(-50%, -50%) scale(1.22) !important;
}

/* mobile : zoom plus léger */
@media (max-width: 640px){
  .ce-immersive-cover .wp-block-cover__image-background{
    transform: translate(-50%, -50%) scale(1.10) !important;
  }
  .ce-immersive-cover:hover .wp-block-cover__image-background{
    transform: translate(-50%, -50%) scale(1.12) !important;
  }
}
/* =========================================
   🔥 HERO ACCUEIL — PHOTO VRAIE PAGE (pas bannière)
========================================= */

.ce-hero-full{
  padding: clamp(40px, 6vw, 85px) 0;
}

/* On garde la photo “clean” et très lisible */
.ce-hero-photo{
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.12);
}

/* ✅ on applique le même FIX cover que tout à l'heure (anti décalage gauche) */
.ce-hero-photo .wp-block-cover__image-background{
  max-width: none !important;
  width: auto !important;
  height: auto !important;

  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  min-width: 100% !important;
  min-height: 100% !important;

  transform: translate(-50%, -50%) scale(1.08) !important;
  filter: contrast(1.05) saturate(1.05) brightness(0.98);
  transition: transform 1.1s ease, filter .6s ease;
}

.ce-hero-photo:hover .wp-block-cover__image-background{
  transform: translate(-50%, -50%) scale(1.12) !important;
}

/* Petit “tag” discret sur la photo (un seul bloc, pas flood) */
.ce-hero-photo-tag{
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.62);
  backdrop-filter: blur(12px);
  max-width: 320px;
}

.ce-hero-photo-tag p{
  color: rgba(241,212,138,0.95);
  font-weight: 900;
  letter-spacing: 0.2px;
}

.ce-hero-photo-tag h3{
  color: rgba(255,255,255,0.96);
  font-weight: 900;
}

/* Proof cards dans le hero (cohérent avec le style) */
.ce-proof{
  background: rgba(8,26,51,0.50);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
}

/* List style un peu plus premium */
.ce-hero-list{
  margin: 0;
  padding-left: 18px;
}
.ce-hero-list li{
  margin: 8px 0;
  color: rgba(255,255,255,0.78);
  font-weight: 650;
}

/* Responsive */
@media (max-width: 980px){
  .ce-hero-photo{ min-height: 520px !important; }
  .ce-hero-photo-tag{ left: 14px; bottom: 14px; max-width: 92%; }
}
/* =========================================
   🎞️ TOP SLIDER — Accueil (Full screen)
   Photos EN ENTIER + flèches + dots + auto
========================================= */

.ce-top-slider-wrap{
  padding: 0;
}

/* Le slider prend la grande place sous le header */
.ce-top-slider{
  position: relative;
  width: 100%;
  height: min(92vh, 860px);     /* ✅ énorme dès l’arrivée */
  background: rgba(6,20,39,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.10);
  overflow: hidden;
}

/* Zone slides */
.ce-top-slider .ce-slides{
  position: relative;
  width: 100%;
  height: 100%;
}

/* Chaque slide */
.ce-top-slider .ce-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .55s ease, transform .85s ease;
  display: grid;
  place-items: center;
  padding: 22px; /* ✅ marges fines pour voir la photo en entier */
}

.ce-top-slider .ce-slide.is-active{
  opacity: 1;
  transform: scale(1);
}

/* ✅ PHOTO EN ENTIER (pas crop) */
.ce-top-slider .ce-slide img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* ✅ affiche l’image entière */
  object-position: center center;
  max-width: 100%;
  max-height: 100%;
  filter: contrast(1.03) saturate(1.03);
}

/* léger voile premium */
.ce-top-slider::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 650px at 12% 18%, rgba(47,107,255,0.18), transparent 60%),
    radial-gradient(900px 650px at 88% 22%, rgba(214,178,94,0.16), transparent 62%),
    linear-gradient(180deg, rgba(6,20,39,0.25), rgba(6,20,39,0.55));
  z-index: 1;
}

/* Tag discret (un seul truc sur la photo) */
.ce-slider-tag{
  position:absolute;
  left: 18px;
  bottom: 18px;
  z-index: 4;
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.62);
  backdrop-filter: blur(12px);
}

.ce-slider-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight: 900;
  color: rgba(241,212,138,0.96);
  letter-spacing: .2px;
}

.ce-slider-sub{
  color: rgba(255,255,255,0.82);
  font-weight: 700;
}

/* Flèches */
.ce-slider-btn{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.62);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.92);
  font-size: 34px;
  line-height: 1;
  cursor:pointer;
  box-shadow: 0 18px 60px rgba(0,0,0,0.38);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ce-slider-btn:hover{
  border-color: rgba(214,178,94,0.55);
  background: rgba(6,20,39,0.78);
  transform: translateY(-50%) scale(1.03);
}

.ce-slider-btn.ce-prev{ left: 14px; }
.ce-slider-btn.ce-next{ right: 14px; }

/* Dots */
.ce-slider-dots{
  position:absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 5;
  display:flex;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(6,20,39,0.45);
  backdrop-filter: blur(10px);
}

.ce-slider-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.28);
  transition: transform .2s ease, background .2s ease;
}
.ce-slider-dot.is-active{
  background: rgba(241,212,138,0.92);
  transform: scale(1.15);
}

/* Mobile */
@media (max-width: 980px){
  .ce-top-slider{ height: 72vh; }
  .ce-top-slider .ce-slide{ padding: 14px; }
  .ce-slider-btn{ width: 48px; height: 48px; font-size: 30px; }
}

@media (max-width: 520px){
  .ce-top-slider{ height: 66vh; }
  .ce-slider-tag{ left: 12px; bottom: 12px; }
}
/* =========================================
   🎞️ TOP SLIDER — FULL SCREEN + TITRE + RESPONSIVE
   Fix mobile (espaces) + photo en entier (contain)
========================================= */

/* ✅ supprime les trous au-dessus/au-dessous */
.ce-top-slider-section{
  padding: 0 !important;
  margin: 0 !important;
}

/* ✅ sur certains thèmes WP ajoute des marges : on les tue */
.wp-site-blocks > *{
  margin-block-start: 0 !important;
}

/* slider grand */
.ce-top-slider{
  position: relative;
  width: 100%;
  height: min(92vh, 860px);
  background: rgba(6,20,39,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.10);
  overflow: hidden;
}

/* slides container */
.ce-top-slider .ce-slides{
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
}

/* slide */
.ce-top-slider .ce-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.01);
  transition: opacity .55s ease, transform .85s ease;
  display: grid;
  place-items: center;
  padding: 18px; /* ✅ bord léger pour voir l'image entière */
}

.ce-top-slider .ce-slide.is-active{
  opacity: 1;
  transform: scale(1);
}

/* ✅ photo en entier (pas crop) */
.ce-top-slider .ce-slide img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* ✅ ENTIER */
  object-position: center center;
  max-width: 100%;
  max-height: 100%;
  filter: contrast(1.03) saturate(1.03);
}

/* voile premium */
.ce-top-slider::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 650px at 12% 18%, rgba(47,107,255,0.18), transparent 60%),
    radial-gradient(900px 650px at 88% 22%, rgba(214,178,94,0.16), transparent 62%),
    linear-gradient(180deg, rgba(6,20,39,0.18), rgba(6,20,39,0.55));
  z-index: 3;
}

/* overlay titre */
.ce-top-slider-overlay{
  position:absolute;
  inset:0;
  z-index: 4;
  display:flex;
  align-items:flex-start;     /* ✅ en haut */
  justify-content:center;
  padding: 18px;
  padding-top: 110px;         /* ✅ descend un peu sous le header */
  pointer-events:none;
}


.ce-top-slider-titlewrap{
  width: min(1100px, 100%);
  padding: 16px 16px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(6,20,39,.10), rgba(6,20,39,.72));
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.ce-top-slider-kicker{
  font-weight: 900;
  letter-spacing: .02em;
  color: rgba(241,212,138,.95);
  font-size: .95rem;
  margin-bottom: 6px;
}

.ce-top-slider-title{
  margin: 0 0 6px 0 !important;
  font-weight: 950;
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-size: clamp(1.65rem, 4.6vw, 3.4rem);
  color: rgba(255,255,255,.98);
}

.ce-top-slider-sub{
  margin: 0 !important;
  color: rgba(255,255,255,0.82);
  font-weight: 750;
  font-size: clamp(.95rem, 2.6vw, 1.15rem);
}

/* flèches */
.ce-slider-btn{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.62);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.92);
  font-size: 34px;
  line-height: 1;
  cursor:pointer;
  box-shadow: 0 18px 60px rgba(0,0,0,0.38);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.ce-slider-btn:hover{
  border-color: rgba(214,178,94,0.55);
  background: rgba(6,20,39,0.78);
  transform: translateY(-50%) scale(1.03);
}

.ce-slider-btn.ce-prev{ left: 14px; }
.ce-slider-btn.ce-next{ right: 14px; }

/* dots */
.ce-slider-dots{
  position:absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 5;
  display:flex;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(6,20,39,0.45);
  backdrop-filter: blur(10px);
}

.ce-slider-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.28);
  transition: transform .2s ease, background .2s ease;
}

.ce-slider-dot.is-active{
  background: rgba(241,212,138,0.92);
  transform: scale(1.15);
}

/* ✅ MOBILE : plus d'espace inutile + taille parfaite */
@media (max-width: 980px){
  .ce-top-slider{ height: 72vh; }
  .ce-top-slider .ce-slide{ padding: 12px; }
  .ce-slider-btn{ width: 48px; height: 48px; font-size: 30px; }
    .ce-top-slider-overlay{
    padding: 12px;
    padding-top: 86px;       /* ✅ en haut mais pas collé au logo */
  }
  .ce-top-slider-titlewrap{ border-radius: 18px; padding: 12px 12px; }
}

/* ✅ PETIT MOBILE : encore plus clean */
@media (max-width: 520px){
  .ce-top-slider{ height: 66vh; }
  .ce-slider-btn.ce-prev{ left: 10px; }
  .ce-slider-btn.ce-next{ right: 10px; }
  .ce-slider-dots{ bottom: 12px; }
}

/* ✅ FIX ESPACES ENTRE LOGO / SLIDER / HERO SUR MOBILE */
@media (max-width: 980px){
  .ce-header-inner{ min-height: 62px !important; }
  .ce-hero-full{
    margin-top: 0 !important;
    padding-top: 22px !important; /* ✅ enlève le "trou" avant le hero */
  }
}
/* =========================================
   🎯 MISSION — WOW (premium)
========================================= */

.ce-mission-card{
  position: relative;
  overflow: hidden;
}

/* halo premium derrière */
.ce-mission-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(700px 420px at 18% 18%, rgba(47,107,255,0.14), transparent 62%),
    radial-gradient(700px 420px at 86% 28%, rgba(214,178,94,0.12), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.00));
  z-index: 0;
}
.ce-mission-card > *{ position: relative; z-index: 1; }

.ce-mission-top{
  gap: 12px;
  margin-bottom: 10px;
}

.ce-mission-mini{
  margin: 0 !important;
  color: rgba(255,255,255,0.72);
  font-weight: 700;
}

/* checklist */
.ce-mission-check p{
  margin: 0 0 10px !important;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.82);
  font-weight: 650;
}

/* grid tiles */
.ce-mission-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ce-mission-tile{
  border-radius: 18px;
  padding: 14px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(8,26,51,0.52);
  box-shadow: 0 16px 45px rgba(0,0,0,0.22);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ce-mission-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(214,178,94,0.25);
  background: rgba(8,26,51,0.62);
}
.ce-mission-k{
  margin: 0 0 6px !important;
  color: rgba(241,212,138,0.95);
  font-weight: 900;
  letter-spacing: .2px;
}
.ce-mission-tile h3{
  margin: 0 0 6px !important;
  font-size: 1.05rem;
  color: rgba(255,255,255,0.96);
  font-weight: 900;
}
.ce-mission-tile p{
  margin: 0 !important;
  color: rgba(255,255,255,0.74);
  font-size: .98rem;
}

/* proof */
.ce-mission-proof{
  border-radius: 18px;
  padding: 14px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(135deg, rgba(8,26,51,0.55), rgba(8,26,51,0.40));
  box-shadow: 0 18px 55px rgba(0,0,0,0.25);
}
.ce-mission-proof-title{
  margin: 0 0 8px !important;
  font-weight: 950;
  color: rgba(255,255,255,0.94);
}
.ce-mission-proof-text{
  margin: 0 !important;
  color: rgba(255,255,255,0.76);
}

/* responsive */
@media (max-width: 980px){
  .ce-mission-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .ce-mission-card{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .ce-mission-check p{
    padding: 10px 10px;
  }
}
/* =========================================
   ❓ FAQ — premium accordion + responsive
========================================= */

.ce-faq-head{
  position: relative;
  overflow: hidden;
}
.ce-faq-head::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(720px 520px at 18% 20%, rgba(47,107,255,0.10), transparent 62%),
    radial-gradient(720px 520px at 86% 22%, rgba(214,178,94,0.10), transparent 66%);
  z-index: 0;
}
.ce-faq-head > *{ position:relative; z-index:1; }

/* items */
.ce-faq-item{
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(8,26,51,0.42);
  border-radius: 18px;
  padding: 12px 14px;
  margin: 0 0 12px;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.ce-faq-item:hover{
  border-color: rgba(214,178,94,0.26);
  background: rgba(8,26,51,0.52);
  transform: translateY(-1px);
}

.ce-faq-item summary{
  cursor: pointer;
  list-style: none;
  font-weight: 900;
  color: rgba(255,255,255,0.94);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  outline: none;
}
.ce-faq-item summary::-webkit-details-marker{ display:none; }

/* petit + / - */
.ce-faq-item summary::after{
  content:"+";
  font-weight: 900;
  color: rgba(241,212,138,0.92);
  border: 1px solid rgba(255,255,255,0.14);
  width: 30px;
  height: 30px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(6,20,39,0.45);
  flex: 0 0 auto;
}
.ce-faq-item[open] summary::after{ content:"–"; }

.ce-faq-item p{
  margin: 10px 0 0 !important;
  color: rgba(255,255,255,0.78);
  line-height: 1.55;
}

/* footer */
.ce-faq-foot{ gap: 12px; }
.ce-faq-note{
  margin: 0 !important;
  color: rgba(255,255,255,0.70);
  font-weight: 750;
}

/* responsive */
@media (max-width: 640px){
  .ce-faq-panel{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .ce-faq-item summary{
    font-size: 1.02rem;
  }
  .ce-faq-note{
    width: 100%;
  }
  .ce-faq-foot .wp-block-buttons{
    width: 100%;
  }
  .ce-faq-foot .wp-block-button__link{
    width: 100%;
    text-align: center;
  }
}
/* =========================================
   🎯 OBJECTIFS — premium list + responsive
========================================= */

.ce-objectifs-head{
  position: relative;
  overflow: hidden;
}
.ce-objectifs-head::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(820px 560px at 18% 22%, rgba(47,107,255,0.10), transparent 62%),
    radial-gradient(820px 560px at 86% 18%, rgba(214,178,94,0.10), transparent 66%);
  z-index: 0;
}
.ce-objectifs-head > *{ position:relative; z-index:1; }

.ce-objectifs-card{
  background: rgba(8,26,51,0.46);
}

/* checklist premium */
.ce-checklist{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.ce-checklist li{
  position: relative;
  padding-left: 34px;
  color: rgba(255,255,255,0.80);
  font-weight: 680;
  line-height: 1.45;
}

.ce-checklist li::before{
  content:"✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 950;
  color: rgba(241,212,138,0.95);
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.45);
}

/* mini widths for bars (réutilise .ce-bar-fill) */
.ce-obj-85{ width: 85%; }
.ce-obj-75{ width: 75%; }
.ce-obj-70{ width: 70%; }
.ce-obj-60{ width: 60%; }

/* responsive: tout respire */
@media (max-width: 640px){
  .ce-objectifs .wp-block-columns{
    gap: 14px !important;
  }
  .ce-checklist li{
    padding-left: 32px;
  }
  .ce-objectifs .wp-block-button__link{
    width: 100%;
    text-align: center;
  }
}
/* =========================================
   💎 PROGRAMMES — Premium pricing cards
========================================= */

.ce-programmes-head{ position: relative; }
.ce-programmes-head::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:26px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(214,178,94,0.20), rgba(47,107,255,0.18), transparent 70%);
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  padding: 1px;
  box-sizing: border-box;
}

.ce-offer{
  position: relative;
  background: rgba(8,26,51,0.55);
  box-shadow: 0 18px 60px rgba(0,0,0,0.32);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ce-offer:hover{
  transform: translateY(-2px);
  border-color: rgba(214,178,94,0.22);
  box-shadow: 0 22px 70px rgba(0,0,0,0.38);
}

.ce-offer-kicker{
  color: rgba(214,178,94,0.92);
  font-weight: 900;
  letter-spacing: .2px;
}

.ce-offer-desc{
  color: rgba(255,255,255,0.78);
  font-weight: 650;
  line-height: 1.45;
}

.ce-offer-price{
  margin: 6px 0 2px;
}
.ce-offer-price .ce-price{
  margin: 0 !important;
  font-size: 32px;
  font-weight: 950;
  color: rgba(255,255,255,0.96);
}
.ce-offer-price .ce-price-note{
  margin: 0 !important;
  color: rgba(255,255,255,0.62);
  font-weight: 700;
}

.ce-offer-list{
  margin: 0;
  padding-left: 18px;
}
.ce-offer-list li{
  margin: 8px 0;
  color: rgba(255,255,255,0.78);
  font-weight: 650;
}

/* Featured (milieu) */
.ce-offer--featured{
  border-color: rgba(214,178,94,0.28) !important;
  box-shadow: 0 26px 80px rgba(214,178,94,0.10), 0 26px 80px rgba(0,0,0,0.35);
}
.ce-offer-badge{
  position:absolute;
  top: 16px;
  right: 16px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(214,178,94,0.35);
  background: rgba(6,20,39,0.60);
  backdrop-filter: blur(10px);
}
.ce-offer-badge p{
  margin:0 !important;
  font-weight: 900;
  color: rgba(241,212,138,0.96);
  font-size: .92rem;
}

/* Footer blocks */
.ce-programmes-help,
.ce-programmes-note{
  background: rgba(8,26,51,0.52);
}

/* Responsive: éviter les cartes trop serrées */
@media (max-width: 980px){
  .ce-programmes-grid{ gap: 14px; }
  .ce-offer-price .ce-price{ font-size: 30px; }
}

@media (max-width: 640px){
  .ce-offer{ padding: 20px !important; }
  .ce-offer-badge{ top: 12px; right: 12px; }
  .ce-offer-price .ce-price{ font-size: 28px; }
}
/* =========================================
   🗣️ TÉMOIGNAGES — Premium / réaliste
========================================= */

.ce-testimonials-head{ position: relative; }
.ce-testimonials-head::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:26px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(214,178,94,0.18), rgba(47,107,255,0.16), transparent 70%);
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  padding: 1px;
  box-sizing:border-box;
}

.ce-testimonial{
  background: rgba(8,26,51,0.52);
  box-shadow: 0 18px 60px rgba(0,0,0,0.30);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ce-testimonial:hover{
  transform: translateY(-2px);
  border-color: rgba(214,178,94,0.22);
  box-shadow: 0 22px 70px rgba(0,0,0,0.36);
}

.ce-stars{
  color: rgba(241,212,138,0.95);
  letter-spacing: 1px;
  font-weight: 900;
  font-size: 1.05rem;
}

.ce-quote{
  font-style: italic;
  color: rgba(255,255,255,0.88);
  line-height: 1.55;
}

.ce-t-meta{
  gap: 10px;
}
.ce-t-name{
  margin: 0 !important;
  color: rgba(255,255,255,0.86);
  font-weight: 850;
}
.ce-t-tag{
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(6,20,39,0.45);
  color: rgba(214,178,94,0.92);
  font-weight: 850;
  font-size: .88rem;
  white-space: nowrap;
}

.ce-t-result{
  color: rgba(255,255,255,0.74);
  font-weight: 650;
}

.ce-testimonial--featured{
  border-color: rgba(214,178,94,0.28) !important;
  box-shadow: 0 26px 80px rgba(214,178,94,0.10), 0 26px 80px rgba(0,0,0,0.34);
}

.ce-testimonials-cta{
  background: rgba(8,26,51,0.48);
}

@media (max-width: 640px){
  .ce-t-tag{ white-space: normal; }
}
/* =========================================
   💎 VALEURS — Premium polish
========================================= */

.ce-values-head{ position: relative; }
.ce-values-head::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:26px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(214,178,94,0.16), rgba(47,107,255,0.14), transparent 70%);
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000,#000);
  padding: 1px;
  box-sizing:border-box;
}

.ce-value{ background: rgba(8,26,51,0.50); box-shadow: 0 18px 60px rgba(0,0,0,0.30); }
.ce-value:hover{ border-color: rgba(214,178,94,0.20); transform: translateY(-2px); }

.ce-value-icon{
  font-size: 1.6rem;
  line-height: 1;
  opacity: .96;
}

.ce-value-list{
  margin: 0;
  padding-left: 18px;
}
.ce-value-list li{
  margin: 8px 0;
  color: rgba(255,255,255,0.78);
  font-weight: 650;
}

.ce-values-promise{ background: rgba(8,26,51,0.46); }
.ce-values-cta{ background: rgba(8,26,51,0.46); }

@media (max-width: 640px){
  .ce-value-icon{ font-size: 1.45rem; }
}
/* =========================================
   ✅ CONTACT FORM — premium UI
========================================= */

.ce-form{
  display:grid;
  gap: 14px;
}

.ce-form-alert{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(8,26,51,0.55);
  color: rgba(255,255,255,0.92);
  font-weight: 750;
}

.ce-form-ok{
  border-color: rgba(80,220,140,.35);
  background: rgba(80,220,140,.12);
}

.ce-form-err{
  border-color: rgba(255,90,90,.35);
  background: rgba(255,90,90,.12);
}

.ce-form-row{
  display:grid;
  gap: 14px;
}

.ce-form-row--2{
  grid-template-columns: 1fr 1fr;
}

.ce-form-field{
  display:grid;
  gap: 8px;
}

.ce-form-label{
  font-weight: 850;
  color: rgba(255,255,255,0.88);
  letter-spacing: .2px;
}

.ce-form-input,
.ce-form-textarea,
.ce-form-select{
  width: 100%;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(8,26,51,0.55);
  color: #fff;
  outline: none;
  box-shadow: 0 14px 40px rgba(0,0,0,0.18);
  transition: border-color .2s ease, box-shadow .25s ease, transform .15s ease;
}

.ce-form-input:focus,
.ce-form-textarea:focus,
.ce-form-select:focus{
  border-color: rgba(214,178,94,0.55);
  box-shadow: 0 18px 60px rgba(214,178,94,0.10), 0 18px 60px rgba(47,107,255,0.10);
  transform: translateY(-1px);
}

.ce-form-textarea{
  resize: vertical;
  min-height: 140px;
}

.ce-form-select{
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(241,212,138,.92) 50%),
    linear-gradient(135deg, rgba(241,212,138,.92) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.ce-form-help{
  font-size: .92rem;
  color: rgba(255,255,255,0.62);
  line-height: 1.35;
}

.ce-captcha{
  display:flex;
  align-items:center;
  gap: 10px;
}

.ce-captcha-q{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: rgba(241,212,138,0.95);
  font-weight: 900;
  white-space: nowrap;
}

.ce-form-actions{
  align-content: end;
}

.ce-form-submit{
  width: 100%;
  justify-content: center;
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 950;
}

@media (max-width: 700px){
  .ce-form-row--2{
    grid-template-columns: 1fr;
  }
  .ce-captcha{
    flex-direction: column;
    align-items: stretch;
  }
  .ce-captcha-q{
    justify-content: center;
  }
}
/* Fix captcha input sizing */
.ce-captcha .ce-form-input{
  flex: 1;
  min-width: 120px;
}

/* Select line-height fix (certain themes) */
.ce-form-select{
  line-height: 1.2;
}
/* ===== FIX BOUTON ENVOYER ===== */

.ce-form-actions{
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.ce-form-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  white-space: nowrap; /* empêche retour à la ligne */
  min-height: 48px;
  font-size: 1rem;
  letter-spacing: .4px;
}
/* ===== FIX DÉBORDEMENT FORMULAIRE CONTACT ===== */

.ce-form-row--2{
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}

/* Empêche tout élément de dépasser */
.ce-form-field{
  min-width: 0;
}

/* Zone bouton */
.ce-form-actions{
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  box-sizing: border-box;
}

/* Bouton */
.ce-form-submit{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
}

/* Captcha input */
.ce-captcha input{
  max-width: 100%;
  box-sizing: border-box;
}
/* ===== FIX ACTIVITÉS : PAS DE COUPE AU MILIEU DES MOTS ===== */

/* 1) Empêche les coupures "CONCOURS D’ÉLOQUENC E" */
.ce-activities,
.ce-activities *{
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* 2) Le titre peut aller à la ligne, mais JAMAIS casser un mot */
.ce-activities .ce-activity-card h3{
  word-break: keep-all !important;     /* ✅ ne casse pas les mots */
  overflow-wrap: normal !important;
  hyphens: none !important;

  white-space: normal !important;      /* ✅ autorise retour à la ligne */
  line-height: 1.05;
  font-size: clamp(20px, 1.9vw, 28px); /* ✅ plus large sur PC */
  margin-bottom: 10px !important;
}

/* 3) Boutons : jamais de coupe au milieu des mots */
.ce-activities .wp-block-button__link{
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* 4) Et si un bouton est court, on évite qu’il se mette sur 2 lignes */
.ce-activities .ce-activity-cta .wp-block-button__link{
  white-space: nowrap;
}
@media (min-width: 1100px){
  .ce-activities .ce-activity-card h3{
    white-space: nowrap; /* sur GRAND écran uniquement */
  }
}
/* ================================
   ✅ FIX TÉMOIGNAGES : texte vertical / coupé
================================ */

/* 1) Interdit les coupures au milieu des mots dans la section */
#temoignages,
#temoignages *{
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* 2) Le bloc meta est en flex : autorise le contenu à "respirer" */
#temoignages .ce-t-meta{
  min-width: 0;               /* ✅ super important en flex */
  gap: 10px;
}

/* 3) Nom : jamais lettre par lettre */
#temoignages .ce-t-name{
  min-width: 0;
  white-space: normal;        /* ✅ peut aller à la ligne proprement */
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* 4) Le tag à droite : on évite qu’il casse et qu’il force le nom à se compresser */
#temoignages .ce-t-tag{
  flex: 0 0 auto;             /* ✅ ne rétrécit pas n'importe comment */
  white-space: nowrap;        /* ✅ reste sur 1 ligne */
}

/* 5) Si l’écran est petit, on passe le meta en colonne (propre) */
@media (max-width: 520px){
  #temoignages .ce-t-meta{
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  #temoignages .ce-t-tag{
    white-space: normal;
  }
}
@media (min-width: 981px){
  #temoignages .ce-t-name{
    white-space: nowrap;
  }
}
/* =========================================
   ✅ FIX TÉMOIGNAGES : noms/tag qui se chevauchent
========================================= */

/* Le conteneur meta doit pouvoir wrap */
#temoignages .ce-t-meta{
  display: flex;
  flex-wrap: wrap !important;              /* ✅ au lieu de nowrap */
  justify-content: flex-start !important;  /* ✅ évite le space-between agressif */
  align-items: center;
  gap: 8px 10px;                           /* ✅ espace propre */
  min-width: 0;
}

/* Le nom prend la place dispo, mais peut aller à la ligne */
#temoignages .ce-t-name{
  flex: 1 1 160px;                         /* ✅ prend l’espace, peut wrap */
  min-width: 0;
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Le tag ne doit pas écraser le nom */
#temoignages .ce-t-tag{
  flex: 0 0 auto;
  margin: 0 !important;
  white-space: nowrap;                     /* ✅ reste joli sur 1 ligne */
}

/* Sur petits écrans : on empile carrément (encore plus clean) */
@media (max-width: 520px){
  #temoignages .ce-t-meta{
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  #temoignages .ce-t-tag{
    white-space: normal;
  }
}
/* =========================================
   ✅ FIX HAMBURGER MOBILE (plus gros + mieux placé + zone cliquable)
========================================= */
@media (max-width: 980px){

  /* le header respire */
  .ce-header-inner{
    padding-left: 14px;
    padding-right: 14px;
  }

  /* bouton hamburger : plus grand + plus facile à cliquer */
  .ce-nav-toggle{
    width: 56px !important;
    height: 56px !important;
    border-radius: 18px !important;
    margin-right: 8px !important;   /* ✅ le décale un peu vers la gauche */
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* ✅ zone tactile */
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  /* si c’est un svg dedans : on le rend plus gros */
  .ce-nav-toggle svg{
    width: 28px !important;
    height: 28px !important;
  }

  /* si c’est des barres en span/div */
  .ce-nav-toggle span,
  .ce-nav-toggle i{
    font-size: 28px !important;
    line-height: 1 !important;
  }
}

/* Petit mobile : encore plus confortable */
@media (max-width: 520px){
  .ce-nav-toggle{
    width: 60px !important;
    height: 60px !important;
    margin-right: 10px !important;
  }
}
