.elementor-2021401 .elementor-element.elementor-element-8bdcf09{margin-top:-20px;margin-bottom:0px;}.elementor-2021401 .elementor-element.elementor-element-5607eb4{margin-top:-20px;margin-bottom:0px;}/* Start custom CSS for html, class: .elementor-element-c8d9ee1 */.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .ceilingo-home-premium { --blue: #155CAE; --orange: #F36523; --dark: #111111; font-family: inherit; line-height: 1.5; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .ceilingo-home-premium * { box-sizing: border-box; }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hero { position: relative; min-height: 85vh; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; overflow: hidden; display: flex; align-items: center; --pos: 50%; background: #000; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-container { position: absolute; inset: 0; width: 100%; height: 100%; }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 56.25vw; /* 16:9 aspect ratio */
  min-height: 100vh;
  min-width: 177.77vh; /* 16:9 aspect ratio */
  pointer-events: none;
  border: none;
}

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-layer { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-cool { z-index: 1; clip-path: polygon(var(--pos) 0, 100% 0, 100% 100%, var(--pos) 100%); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hot { z-index: 2; clip-path: polygon(0 0, var(--pos) 0, var(--pos) 100%, 0 100%); }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-overlay-hot { position: absolute; inset: 0; background: rgba(243, 101, 35, 0.45); transition: background 0.5s ease; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-overlay-cool { position: absolute; inset: 0; background: rgba(21, 92, 174, 0.4); transition: background 0.5s ease; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hero.winter-mode .scanner-overlay-hot { background: rgba(21, 92, 174, 0.45); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hero.winter-mode .scanner-overlay-cool { background: rgba(243, 101, 35, 0.4); }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-label { position: absolute; bottom: 40px; padding: 8px 18px; border-radius: 50px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #fff; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); z-index: 40; transition: background 0.5s ease, box-shadow 0.5s ease; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .label-hot { left: 30px; background: rgba(243, 101, 35, 0.85); box-shadow: 0 5px 15px rgba(243, 101, 35, 0.3); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .label-cool { right: 30px; background: rgba(21, 92, 174, 0.85); box-shadow: 0 5px 15px rgba(21, 92, 174, 0.3); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hero.winter-mode .label-hot { background: rgba(21, 92, 174, 0.85); box-shadow: 0 5px 15px rgba(21, 92, 174, 0.3); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hero.winter-mode .label-cool { background: rgba(243, 101, 35, 0.85); box-shadow: 0 5px 15px rgba(243, 101, 35, 0.3); }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .thermal-slider-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; z-index: 20; margin: 0; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .thermal-slider-line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 4px; background: #ffffff; box-shadow: 0 0 15px rgba(0,0,0,0.5); z-index: 15; transform: translateX(-50%); pointer-events: none; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .thermal-slider-thumb { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 54px; height: 54px; background: #ffffff; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(0,0,0,0.4); gap: -2px; animation: pulseThumb 2s infinite; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .thermal-slider-thumb svg { width: 18px; margin: 0 -4px; color: var(--blue); }
@keyframes pulseThumb { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,0.7); } 70% { box-shadow: 0 0 0 15px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-wrapper { position: relative; z-index: 30; max-width: 1300px; margin: -30px auto 0; padding: 40px 5%; width: 100%; pointer-events: none; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-content.glass-panel { pointer-events: auto; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); padding: 35px 40px; border-radius: 24px; max-width: 480px; box-shadow: 0 20px 50px rgba(0,0,0,0.15); border: 1px solid rgba(255,255,255,0.6); }

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .season-toggle-container { margin-top: 20px; margin-bottom: 20px; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .season-toggle { position: relative; display: inline-flex; background: rgba(0,0,0,0.06); border-radius: 50px; padding: 5px; border: 1px solid rgba(0,0,0,0.05); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .season-btn { background: transparent; border: none; padding: 8px 20px; border-radius: 50px; font-weight: 700; font-size: 14px; color: #777; cursor: pointer; transition: all 0.3s ease; font-family: inherit; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .season-btn.active { background: #fff; color: var(--dark); box-shadow: 0 4px 10px rgba(0,0,0,0.08); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .season-desc { font-size: 13px; color: #555; margin: 12px 0 0 0; line-height: 1.4; border-left: 3px solid var(--blue); padding-left: 10px; }

/* CSS DE LA BULLE D'INCITATION */
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .mode-hint-bubble {
  position: absolute;
  top: -42px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--orange);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 5px 15px rgba(243, 101, 35, 0.4);
  animation: bounceHint 2s infinite ease-in-out;
  z-index: 50;
}
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .mode-hint-bubble::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 5px 5px 0;
  border-style: solid;
  border-color: var(--orange) transparent transparent transparent;
}
@keyframes bounceHint {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, -6px); }
}

.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-title { font-size: clamp(26px, 3.5vw, 36px); color: var(--dark); font-weight: 400; line-height: 1.15; margin-bottom: 15px; }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-title strong { font-weight: 800; color: var(--blue); }
.elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-subtitle { font-size: clamp(14px, 1.5vw, 16px); font-weight: 500; margin-bottom: 0; color: #444; }

@media (max-width: 768px) {
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-hero { 
    display: flex; 
    flex-direction: column; 
    min-height: auto; 
    background: #f4f7f9; 
    padding-bottom: 40px;
    padding-top: 0;
  }
  
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-container { 
    position: relative !important; 
    height: 56.25vw !important; 
    min-height: auto !important; 
    width: 100vw; 
    overflow: hidden;
  }
  
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-background iframe {
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    min-width: 100% !important;
  }

  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-wrapper { 
    position: relative; 
    padding: 30px 5% 0 5%; 
    margin: 0; 
    z-index: 30;
  }
  
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-content.glass-panel { 
    background: #ffffff !important; 
    backdrop-filter: blur(15px) !important; 
    -webkit-backdrop-filter: blur(15px) !important; 
    border: 1px solid rgba(0,0,0,0.05) !important; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important; 
    padding: 30px 20px !important; 
    max-width: 100%; 
    border-radius: 20px;
  }
  
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .hero-title { font-size: clamp(24px, 7vw, 30px); margin-bottom: 15px; }
  
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .scanner-label { 
    bottom: 10px; 
    top: auto; 
    font-size: 9px; 
    padding: 6px 10px; 
    max-width: 45%; 
    text-align: center; 
    line-height: 1.2; 
    white-space: normal; 
  }
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .label-hot { left: 10px; }
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .label-cool { right: 10px; }
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .thermal-slider-thumb { width: 40px; height: 40px; }
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .season-btn { padding: 8px 15px; font-size: 13px; }
  
  .elementor-2021401 .elementor-element.elementor-element-c8d9ee1 .mode-hint-bubble { top: -38px; font-size: 11px; padding: 4px 12px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c14d34 *//* --- VARIABLES ET RESET --- */
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .ceilingo-home-premium { --blue: #155CAE; --dark: #111111; --light-bg: #f2f5f8; font-family: inherit; line-height: 1.5; color: #444; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .ceilingo-home-premium * { box-sizing: border-box; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .section-header { text-align: center; margin-bottom: 40px; padding: 0 20px; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .section-header h2 { font-size: clamp(28px, 4vw, 36px); font-weight: 800; color: var(--dark); margin-bottom: 12px; letter-spacing: -0.5px; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .section-header p { font-size: clamp(16px, 2vw, 18px); color: #666; max-width: 700px; margin: 0 auto; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .mobile-flip-hint { display: none; }

/* ⭐️ CORRECTION ICI : Le fond gris prend 100% de la largeur de l'écran ⭐️ */
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .innovation-section { 
  padding: 60px 5%; 
  background: var(--light-bg); 
  width: 100vw; 
  position: relative; 
  left: 50%; 
  right: 50%; 
  margin-left: -50vw; 
  margin-right: -50vw; 
}

/* --- GRILLE ET CARTES (Restent centrées) --- */
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1300px; margin: 0 auto; }
@media (max-width: 1024px) { .elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-grid { grid-template-columns: repeat(2, 1fr); gap: 25px; } }
@media (max-width: 600px) { .elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-grid { grid-template-columns: 1fr; } }

.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card { background: transparent; height: 280px; perspective: 1000px; cursor: pointer; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); transform-style: preserve-3d; }

@media (hover: hover) and (pointer: fine) { .elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card:hover .flip-card-inner { transform: rotateY(180deg); } }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card.flipped .flip-card-inner { transform: rotateY(180deg); }

.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-front, .elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-back { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: 12px; padding: 25px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-front { background: #ffffff; border: 1px solid #e5e9f0; box-shadow: 0 8px 25px rgba(0,0,0,0.06); }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .front-icon { font-size: 38px; margin-bottom: 15px; } 
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-front h3 { font-size: 18px; font-weight: 800; color: var(--dark); margin: 0 0 8px 0; line-height: 1.3; }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .front-tag { font-size: 11px; font-weight: 700; color: var(--blue); text-transform: uppercase; letter-spacing: 1px; }

.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-back { background: var(--dark); color: #fff; transform: rotateY(180deg); border: 2px solid var(--blue); }
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-back p { font-size: 14px; line-height: 1.5; margin: 0; color: #ddd; } 
.elementor-2021401 .elementor-element.elementor-element-6c14d34 .flip-card-back strong { color: var(--blue); font-weight: 700; font-size: 15px; }

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 1024px) {
  .elementor-2021401 .elementor-element.elementor-element-6c14d34 .mobile-flip-hint { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 20px; padding: 8px 18px; background: rgba(21, 92, 174, 0.1); color: var(--blue); border-radius: 50px; font-size: 13px; font-weight: 600; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2baa253 *//* --- SECTION GLOBALE --- */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .futuristic-dashboard-section {
  background-color: #03060E; 
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 40px 40px;
  background-position: center center;
  padding: 60px 5%;
  font-family: inherit;
  color: #fff;
  position: relative;
  overflow: visible;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* --- EN-TÊTE --- */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .dashboard-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 50px;
  position: relative;
  z-index: 2;
}

.elementor-2021401 .elementor-element.elementor-element-2baa253 .dashboard-title {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 300;
  margin-bottom: 20px;
  line-height: 1.1;
  color: #fff;
}
.elementor-2021401 .elementor-element.elementor-element-2baa253 .text-gradient {
  font-weight: 800;
  background: linear-gradient(90deg, #F36523, #4da6ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.elementor-2021401 .elementor-element.elementor-element-2baa253 .dashboard-subtitle {
  font-size: 16px;
  color: #8A95A5;
  line-height: 1.6;
}

/* --- LA GRILLE DE TABLEAU DE BORD (3 Colonnes) --- */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 25px; 
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  align-items: stretch; 
}

/* --- DESIGN DES CARTES FUTURISTES (SUPPORT DU LASER) --- */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card {
  position: relative;
  background: #0a0f1a; /* Fond de base discret */
  border-radius: 24px;
  /* ⭐️ C'est ici que l'on définit l'épaisseur du laser (2px) ⭐️ */
  padding: 2px; 
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: default;
  display: flex;
  z-index: 1;
}

/* ⭐️ DÉFINITION DES COULEURS DU LASER ⭐️ */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-thermal { --glow-color: #F36523; }   /* Orange R'BULL */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-hermetic { --glow-color: #00E5FF; }  /* Cyan Futuriste */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-regulator { --glow-color: #4D7CFF; } /* Bleu Océan Profond */

/* ⭐️ L'ANIMATION DU LASER ROTATIF ⭐️ */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 200%; height: 200%;
  background: conic-gradient(from 0deg, transparent 70%, var(--glow-color) 100%);
  transform-origin: center;
  animation: spinLaser 4s linear infinite;
  z-index: -1;
}

@keyframes spinLaser {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Le contenu au-dessus du laser (Le fond noir) */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .card-content {
  background: linear-gradient(180deg, rgba(15, 20, 40, 0.95) 0%, rgba(5, 8, 15, 0.98) 100%);
  /* Rayon légèrement plus petit pour épouser la bordure de 2px */
  border-radius: 22px; 
  padding: 30px 25px;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

/* Effet de lévitation au survol */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card:hover {
  transform: translateY(-10px);
}

/* ⭐️ L'AURA CYBERNÉTIQUE (Magie des couleurs au centre) ⭐️ */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-aura {
  position: absolute;
  top: 50%; left: 50%;
  width: 150px; height: 150px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.15;
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 0;
  pointer-events: none;
}
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card:hover .cyber-aura {
  opacity: 0.5;
  transform: translate(-50%, -50%) scale(1.4);
}
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-thermal .cyber-aura { background: #F36523; }
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-hermetic .cyber-aura { background: #00E5FF; }
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-regulator .cyber-aura { background: #4D7CFF; }

/* --- ICÔNES ET TEXTES --- */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-icon-wrapper {
  width: 60px; height: 60px;
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  position: relative;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  transition: all 0.3s ease;
  color: #fff;
}
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-icon-wrapper svg { width: 30px; height: 30px; }

/* Couleurs des icônes au survol */
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-thermal:hover .cyber-icon-wrapper { color: #F36523; box-shadow: 0 0 20px rgba(243, 101, 35, 0.2); }
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-hermetic:hover .cyber-icon-wrapper { color: #00E5FF; box-shadow: 0 0 20px rgba(0, 229, 255, 0.2); }
.elementor-2021401 .elementor-element.elementor-element-2baa253 .theme-regulator:hover .cyber-icon-wrapper { color: #4D7CFF; box-shadow: 0 0 20px rgba(77, 124, 255, 0.2); }

.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #6A778A;
  margin-bottom: 8px;
}

.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}

.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card-desc {
  font-size: 14px;
  color: #8A95A5;
  line-height: 1.5;
  margin: 0;
  flex-grow: 1;
}
.elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card-desc strong { color: #fff; }

/* --- RESPONSIVE MOBILE & TABLETTE --- */
@media (max-width: 992px) {
  .elementor-2021401 .elementor-element.elementor-element-2baa253 .dashboard-grid { grid-template-columns: 1fr; gap: 20px; }
  .elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card { max-width: 500px; margin: 0 auto; width: 100%; }
}

@media (max-width: 768px) {
  .elementor-2021401 .elementor-element.elementor-element-2baa253 .futuristic-dashboard-section { padding: 50px 20px; }
  .elementor-2021401 .elementor-element.elementor-element-2baa253 .dashboard-title { font-size: 28px; }
  .elementor-2021401 .elementor-element.elementor-element-2baa253 .card-content { padding: 25px 20px; }
  .elementor-2021401 .elementor-element.elementor-element-2baa253 .cyber-card-title { font-size: 18px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f6f45f *//* --- VARIABLES ET RESET --- */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .ceilingo-home-premium { 
  --blue: #155CAE; 
  --dark: #111111; 
  font-family: inherit; 
  line-height: 1.5; 
  color: #444; 
}
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .ceilingo-home-premium * { box-sizing: border-box; }

/* --- EN-TÊTE DE SECTION --- */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .section-header { text-align: center; margin-bottom: 40px; padding: 0 20px; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .section-header h2 { font-size: clamp(28px, 4vw, 36px); font-weight: 800; color: var(--dark); margin-bottom: 12px; letter-spacing: -0.5px; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .section-header p { font-size: clamp(16px, 2vw, 18px); color: #666; max-width: 700px; margin: 0 auto; }

/* --- ACCORDÉON FAQ (MÉTHODE PURE CSS) --- */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-section { padding: 80px 5%; background: #ffffff; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-container { max-width: 900px; margin: 0 auto; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-item { border-bottom: 1px solid #eaeaea; position: relative; }

/* ⭐️ On cache la vraie case à cocher ⭐️ */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-checkbox { display: none; }

/* Le bouton devient une étiquette interactive */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-toggle { 
  width: 100%; background: transparent; border: none; padding: 35px 0; 
  display: flex; justify-content: space-between; align-items: center; 
  cursor: pointer; text-align: left; transition: color 0.3s ease; 
  margin: 0;
}
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-toggle:hover .faq-question { color: var(--blue); }

.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-toggle-left { display: flex; align-items: center; gap: 25px; padding-right: 20px; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-number { font-size: 24px; font-weight: 800; color: #ccc; transition: color 0.3s ease; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-question { font-size: 20px; font-weight: 700; color: var(--dark); line-height: 1.4; transition: color 0.3s ease; margin: 0; }

/* L'icône Croix / Moins */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-icon { position: relative; width: 16px; height: 16px; flex-shrink: 0; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-icon::before, .elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-icon::after { 
  content: ''; position: absolute; background-color: var(--dark); 
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.3s ease; 
}
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-icon::before { top: 7px; left: 0; width: 16px; height: 2px; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-icon::after { top: 0; left: 7px; width: 2px; height: 16px; }

/* LE CONTENU CACHÉ (Fermé par défaut) */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-answer { 
  max-height: 0; 
  overflow: hidden; 
  transition: max-height 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); 
}
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-answer-inner { padding: 0 0 35px 55px; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-answer-inner p { font-size: 16px; line-height: 1.7; color: #555; margin: 0; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-answer-inner strong { color: var(--dark); font-weight: 700; }

/* ⭐️ LA MAGIE OPÈRE ICI : Quand la case est cochée, on ouvre le texte ! ⭐️ */
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-checkbox:checked ~ .faq-answer { max-height: 800px; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-checkbox:checked ~ .faq-toggle .faq-number { color: var(--blue); }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-checkbox:checked ~ .faq-toggle .faq-question { color: var(--blue); }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-checkbox:checked ~ .faq-toggle .faq-icon::after { transform: rotate(90deg); opacity: 0; }
.elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-checkbox:checked ~ .faq-toggle .faq-icon::before { transform: rotate(180deg); background-color: var(--blue); }

/* --- RESPONSIVE (MOBILE) --- */
@media (max-width: 768px) {
  .elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-toggle { padding: 25px 0; }
  .elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-toggle-left { gap: 15px; }
  .elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-number { font-size: 18px; }
  .elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-question { font-size: 17px; }
  .elementor-2021401 .elementor-element.elementor-element-3f6f45f .faq-answer-inner { padding: 0 0 25px 35px; }
}/* End custom CSS */