.elementor-kit-660{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );--e-page-transition-entrance-animation:e-page-transition-fade-out-right;--e-page-transition-animation-duration:1500ms;}.elementor-kit-660 e-page-transition{background-color:#FFBC7D;}.elementor-kit-660 input:not([type="button"]):not([type="submit"]),.elementor-kit-660 textarea,.elementor-kit-660 .elementor-field-textual{font-family:"Times New Roman", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Supprime la marge par défaut de la première section */
.elementor-section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* =========================
   CLICKENGLISH.FR — THEME PREMIUM
   Palette: or #FFD600, nuit #1E1E2E, blanc #FFFFFF, accent #00E0FF
   Typo: Montserrat (titres), Poppins (texte)
   ========================= */

/* Vars */
:root{
  --ce-bg: #1E1E2E;
  --ce-bg-2: #23233a;
  --ce-white: #FFFFFF;
  --ce-gold: #FFD600;
  --ce-gold-700: #E6C200;
  --ce-gold-900: #A68A00;
  --ce-accent: #00E0FF;
  --ce-accent-700:#00b8d1;
  --ce-shadow: 0 10px 30px rgba(0,0,0,.25);
  --ce-soft: 0 6px 18px rgba(0,0,0,.18);
  --ce-radius: 18px;
  --ce-radius-lg: 24px;
  --ce-speed: .3s;
}

/* Reset doux + base */
body{
  background: var(--ce-bg);
  color: var(--ce-white);
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;  text-rendering: optimizeLegibility;
}
.elementor a{ text-decoration: none; }

/* Titres */
.elementor h1,.elementor h2,.elementor h3,.elementor h4{
  font-family: Montserrat, Poppins, sans-serif;
  line-height: 1.12;
  letter-spacing:.2px;
}
.elementor h1{ font-weight:800; }
.elementor h2{ font-weight:700; }

/* Option titre « or dégradé » à activer via classe .gold-text */
.gold-text{
  background: linear-gradient(90deg, var(--ce-gold), #fff7a8);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Liens premium */
a, .elementor a{
  color: var(--ce-accent);
  transition: color var(--ce-speed), opacity var(--ce-speed);
}
a:hover{ color: var(--ce-gold); }

/* Boutons — ajoutez .btn, .btn-ghost, .btn-outline aux widgets Bouton */
.btn{
  position: relative;
  display:inline-flex; align-items:center; gap:.6rem;
  padding: .95rem 1.4rem;
  border-radius: var(--ce-radius);
  color:#111; background: linear-gradient(180deg,#FFE766, var(--ce-gold));
  box-shadow: 0 8px 20px rgba(255,214,0,.25);
  font-weight:700; letter-spacing:.2px;
  transition: transform var(--ce-speed), box-shadow var(--ce-speed), filter var(--ce-speed);
}
.btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(255,214,0,.35);
  filter: saturate(1.1);
}
.btn::after{ /* bordure lumineuse */
  content:""; position:absolute; inset:0; border-radius: inherit;
  border:1px solid rgba(255,255,255,.35); pointer-events:none;
}

.btn-ghost{
  color: var(--ce-white); background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.16);
  box-shadow: var(--ce-soft); backdrop-filter: blur(6px);
}
.btn-ghost:hover{ border-color: var(--ce-gold); color: var(--ce-gold); }

.btn-outline{
  color: var(--ce-gold); background: transparent;
  border:1.5px solid var(--ce-gold);
}
.btn-outline:hover{
  background: rgba(255,214,0,.08);
  box-shadow: 0 8px 22px rgba(255,214,0,.22);
}

/* Icône flèche animée pour CTA : ajoutez <i class="ce-arrow"></i> dans le texte du bouton */
.ce-arrow{ display:inline-block; width:14px; height:14px; border-right:2px solid currentColor; border-top:2px solid currentColor; transform: rotate(45deg); transition: transform var(--ce-speed);}
.btn:hover .ce-arrow{ transform: rotate(45deg) translate(2px,-2px); }

/* Cartes génériques */
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--ce-radius);
  box-shadow: var(--ce-soft);
  transition: transform var(--ce-speed), box-shadow var(--ce-speed), border-color var(--ce-speed);
}
.card:hover{
  transform: translateY(-4px);
  border-color: rgba(255,214,0,.5);
  box-shadow: 0 20px 40px rgba(0,0,0,.35);
}

/* ===== HERO =====  [hero-xl] sur la section Hero */
.hero-xl{
  position: relative; overflow:hidden;
  padding: 120px 0 80px;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(0,224,255,.20), transparent 60%),
    radial-gradient(900px 500px at -10% 0%, rgba(255,214,0,.18), transparent 60%),
    linear-gradient(180deg, var(--ce-bg), var(--ce-bg-2));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.hero-xl .elementor-heading-title{ font-size: clamp(36px, 5vw, 64px); }
.hero-xl .subtitle{ color: rgba(255,255,255,.85); max-width: 820px; }

/* Halo animé derrière le CTA */
.hero-xl .halo{
  position:absolute; width:420px; height:420px; right:7%; top:35%;
  background: radial-gradient(circle, rgba(0,224,255,.25), transparent 58%);
  filter: blur(18px); animation: float 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes float{
  0%,100%{ transform: translateY(0) }
  50%{ transform: translateY(-10px) }
}

/* ===== SERVICES =====  section [svc-grid] + cartes [svc-card] */
.svc-grid{ padding: 80px 0; }
.svc-card{
  composes: card;
  padding: 28px; border-radius: var(--ce-radius-lg);
}
.svc-card .icon{
  width:56px; height:56px; border-radius:14px;
  background: linear-gradient(145deg, rgba(255,214,0,.25), rgba(0,224,255,.18));
  display:grid; place-items:center; margin-bottom:16px; color:#111;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
.svc-card h3{ margin: 8px 0 6px; }
.svc-card p{ color: rgba(255,255,255,.85); }
.svc-card:hover .icon{ transform: translateY(-2px); }

/* Grille responsive sans changer Elementor: appliquer à la colonne contenant les cartes */
.svc-grid .elementor-container{
  display:grid; gap:22px;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 1024px){
  .svc-grid .elementor-container{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 767px){
  .svc-grid .elementor-container{ grid-template-columns: 1fr; }
}

/* ===== CITATIONS / BLOCKQUOTES =====  ajouter la classe [q-rich] au widget Texte */
.q-rich{
  position: relative;
  padding: 26px 26px 26px 56px;
  border-left: 3px solid var(--ce-gold);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border-radius: 12px;
}
.q-rich::before{
  content: "“"; position:absolute; left:16px; top:-14px;
  font-size:72px; line-height:1; color: rgba(255,214,0,.55);
  font-family: Georgia, "Times New Roman", serif;
}

/* ===== TÉMOIGNAGES (Elementor Testimonials/Slides) ===== [tmn-wrap] sur la section */
.tmn-wrap .swiper-pagination-bullet{
  background: rgba(255,255,255,.35); opacity:1; width:8px; height:8px;
}
.tmn-wrap .swiper-pagination-bullet-active{
  background: var(--ce-gold); width:18px; border-radius: 8px;
}
.tmn-wrap .swiper-button-prev, .tmn-wrap .swiper-button-next{
  color: var(--ce-gold); filter: drop-shadow(0 6px 14px rgba(0,0,0,.4));
  transition: transform var(--ce-speed);
}
.tmn-wrap .swiper-button-prev:hover, .tmn-wrap .swiper-button-next:hover{
  transform: translateY(-2px);
}
/* Carte témoignage générique */
.testi-card{
  composes: card;
  padding: 26px; display:flex; flex-direction:column; gap:12px;
}
.testi-card .name{ font-weight:700; color:#fff; }
.testi-card .role{ color: rgba(255,255,255,.75); font-size:.95rem; }

/* ===== CTA PREMIUM =====  section [cta-pro] */
.cta-pro{
  position:relative; overflow:hidden; padding:64px 28px;
  border-radius: var(--ce-radius-lg);
  background:
    linear-gradient(180deg, rgba(255,214,0,.08), rgba(0,224,255,.06)),
    linear-gradient(180deg, #1f2033, #1a1b2b);
  outline: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 46px rgba(0,0,0,.45);
}
.cta-pro::after{ /* bordure néon subtile */
  content:""; position:absolute; inset:0; border-radius:inherit;
  padding:1px; background: linear-gradient(90deg, var(--ce-gold), var(--ce-accent), var(--ce-gold));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:.35; pointer-events:none;
}
.cta-pro h2{ margin-bottom:12px; }
.cta-pro p{ color: rgba(255,255,255,.9); margin-bottom:18px; }

/* ===== FOOTER ===== [ft-min] */
.ft-min{
  padding:36px 0; border-top:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, #191a2a, #161726);
}
.ft-min .links a{ color: rgba(255,255,255,.85); }
.ft-min .links a:hover{ color: var(--ce-gold); }
.ft-min .brand{ opacity:.9; }

/* ===== LISTES « check or »  ajoutez [gold-list] au widget Liste icônes */
.gold-list .elementor-icon-list-icon i,
.gold-list .elementor-icon-list-icon svg{ color: var(--ce-gold)!important; }
.gold-list .elementor-icon-list-text{ color: rgba(255,255,255,.9); }

/* ===== FORMES/SEPARATEURS décoratifs — classe [soft-sep] */
.soft-sep{
  height:1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  margin: 28px 0;
}

/* ===== UTILITAIRES VITES ===== */
.mx-auto{ margin-left:auto; margin-right:auto; }
.w-max{ max-width: 1140px; }
.dim{ color: rgba(255,255,255,.82); }
.mt-2{ margin-top:.5rem } .mt-3{ margin-top:.75rem } .mt-6{ margin-top:1.5rem }
.gap-2>*+*{ margin-top:.5rem }
.round{ border-radius: var(--ce-radius) }

/* ===== RESPONSIVE FINES ===== */
@media (max-width: 1024px){
  .hero-xl{ padding: 96px 0 64px; }
}
@media (max-width: 767px){
  .btn{ width:100%; justify-content:center; }
  .hero-xl .elementor-heading-title{ font-size: clamp(32px, 8vw, 44px); }
}

/* ===== MICRO-ANIMATIONS OPTIONNELLES ===== */
/* Effet survol « soulignement or » pour liens du menu : ajoutez .gold-underline */
.gold-underline a{
  position:relative;
}
.gold-underline a::after{
  content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px;
  background: linear-gradient(90deg, var(--ce-gold), #fff7a8);
  transition: width var(--ce-speed);
}
.gold-underline a:hover::after{ width:100%; }

/* Accent lumineux au focus pour l’accessibilité */
:where(input, textarea, select, .elementor-field):focus{
  outline: 2px solid var(--ce-accent); outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(0,224,255,.18);
  border-color: var(--ce-accent) !important;
}/* End custom CSS */