:root{--violet:#7c3aed;--lav:#a78bfa;--gold:#fbbf24;--text:#111;--bg:#fafafa;--radius:18px;--shadow:0 10px 30px rgba(0,0,0,.1);font-family:'Outfit',sans-serif}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;padding-top:60px}h1,h2,h3{margin:0}.container{width:min(1100px,92%);margin:auto}.header{position:fixed;top:0;width:100%;z-index:100;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);padding:.4rem 0;height:60px}.nav{display:flex;justify-content:space-between;align-items:center;padding:.4rem 1rem}.links a{margin:0 .8rem;text-decoration:none;font-weight:600;color:var(--text)}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);z-index:-1}.hero-content{position:relative;z-index:1;max-width:800px;padding:1rem}.title{font-size:3rem;font-weight:800}.grad{background:linear-gradient(90deg,var(--violet),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{max-width:700px;margin:1rem auto;font-size:1.2rem}.cta{margin-top:1.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn{padding:.9rem 1.6rem;border-radius:var(--radius);font-weight:700;text-decoration:none;transition:.3s}.section{padding:6rem 1rem}.h2{text-align:center;font-size:2rem;margin-bottom:1rem}.sub{text-align:center;margin-bottom:2rem;color:#555}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.step{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center}.tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.tab-btn{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(124,58,237,.25);padding:.8rem 1.5rem;border-radius:var(--radius);font-weight:700;color:var(--violet);cursor:pointer;transition:.3s}.tab-btn.active{background:linear-gradient(135deg,var(--violet),var(--lav));color:#fff;box-shadow:0 0 15px rgba(124,58,237,.6)}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .6s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.p-card{background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center;position:relative;transition:.3s;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.p-card:hover{transform:translateY(-6px)}.p-name{font-weight:700;font-size:1.1rem}.p-price{display:block;font-size:1.6rem;font-weight:900;color:var(--violet);margin:.6rem 0}.badge{position:absolute;top:12px;right:12px;background:var(--gold);padding:.3rem .6rem;border-radius:12px;font-size:.75rem;font-weight:700;box-shadow:0 4px 12px rgba(251,191,36,.4)}.highlight{border:2px solid var(--gold)}.halo{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.2),transparent 70%);z-index:-1;animation:pulseHalo 4s infinite ease-in-out}@keyframes pulseHalo{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}.features{list-style:none;padding:0;margin:1rem 0;text-align:left;font-size:.9rem;color:#444}.features li{margin:.3rem 0;padding-left:1.2rem;position:relative}.features li::before{content:"✔";color:var(--violet);font-weight:bold;position:absolute;left:0}.dark{background:#111;color:#fff;text-align:center}.carousel{display:flex;overflow:hidden;gap:2rem;justify-content:center}.t-card{min-width:280px;background:rgba(255,255,255,.1);padding:2rem;border-radius:var(--radius);opacity:.5;transition:.5s}.t-card.active{opacity:1;transform:scale(1.05)}.faq .q{background:#fff;padding:1rem;border-radius:var(--radius);margin-bottom:1rem;box-shadow:var(--shadow)}.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;text-align:center}.c-card{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:var(--text);font-weight:700;transition:.3s}.c-card:hover{transform:scale(1.05)}.footer{background:#000;color:#aaa;text-align:center;padding:2rem;margin-top:2rem}#scrollCircle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;border:4px solid var(--violet);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--violet);background:#fff}.q{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:1rem;overflow:hidden}.q-btn{width:100%;background:none;border:none;text-align:left;font-size:1rem;font-weight:700;padding:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.q-btn::after{content:"+";font-size:1.2rem;transition:transform .3s}.q.open .q-btn::after{content:"−";transform:rotate(180deg)}.answer{max-height:0;overflow:hidden;padding:0 1rem;transition:max-height .4s ease,padding .4s ease}.q.open .answer{max-height:200px;padding:1rem}.section.alt{background:#f3f4f6}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}.why-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem 1.5rem;text-align:center;transition:.3s}.why-card:hover{transform:translateY(-6px);box-shadow:0 12px 25px rgba(0,0,0,.12)}.why-card .icon{font-size:2rem;display:block;margin-bottom:.8rem;color:var(--violet)}.section.dark.alt{background:linear-gradient(135deg,var(--violet),var(--lav));color:#fff;text-align:center}.devices{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2.5rem}.device-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:1.5rem;border-radius:var(--radius);transition:.4s}.device-card img{max-width:100%;border-radius:12px;margin-bottom:1rem}.device-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(0,0,0,.2)}.device-card h3{margin-bottom:.5rem;font-weight:700}.device-card p{font-size:.9rem;opacity:.9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:2rem;text-align:center}.stat-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem 1rem;transition:.3s}.stat-card:hover{transform:translateY(-6px)}.stat-card h3{font-size:2rem;font-weight:800;color:var(--violet);margin-bottom:.5rem}.stat-card p{font-size:.95rem;color:#444}.community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:2rem}.community-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:2rem 1.5rem;transition:.3s}.community-card:hover{transform:translateY(-6px)}.community-card .icon{font-size:2rem;display:block;margin-bottom:.8rem;color:var(--violet)}.community-card h3{margin-bottom:.5rem;font-weight:700}.guarantee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.g-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:2rem 1.5rem;transition:.3s}.g-card:hover{transform:translateY(-6px)}.g-card .icon{font-size:2rem;display:block;margin-bottom:.8rem;color:var(--violet)}.g-card h3{margin-bottom:.5rem;font-weight:700}.c-card{font-weight:700;text-decoration:none;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:.3s;font-size:1.1rem}.c-card.whatsapp{background:#25D366;color:#fff;position:relative}.c-card.whatsapp::after{content:"";position:absolute;inset:0;border-radius:var(--radius);background:radial-gradient(circle,rgba(37,211,102,.4),transparent 70%);z-index:-1;animation:pulse-green 2s infinite ease-in-out}@keyframes pulse-green{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}.c-card.email{background:linear-gradient(135deg,var(--violet),var(--lav));color:#fff}.c-card.email:hover{box-shadow:0 0 20px rgba(124,58,237,.6)}.btn.order{display:inline-block;font-weight:700;padding:1rem 1.8rem;border-radius:var(--radius);transition:.3s;text-decoration:none;font-size:1rem;margin-top:1rem}.btn.order.violet{background:linear-gradient(135deg,var(--violet),var(--lav));color:#fff;box-shadow:0 0 12px rgba(124,58,237,.3)}.btn.order.violet:hover{box-shadow:0 0 22px rgba(124,58,237,.6);transform:translateY(-3px)}.btn.order.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#111;box-shadow:0 0 14px rgba(251,191,36,.5);position:relative}.btn.order.gold:hover{box-shadow:0 0 28px rgba(251,191,36,.8);transform:translateY(-3px)}.btn.order.gold::after{content:"";position:absolute;inset:-5px;border-radius:var(--radius);background:radial-gradient(circle,rgba(251,191,36,.3),transparent 70%);z-index:-1;animation:pulse-gold 2.5s infinite ease-in-out}@keyframes pulse-gold{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}body{background:linear-gradient(135deg,#f9f9ff,#f3e8ff,#ede9fe);background-size:400% 400%;animation:gradientMove 18s ease infinite}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.neo-card{background:rgba(255,255,255,.6);border-radius:var(--radius);box-shadow:0 8px 25px rgba(0,0,0,.1),inset 0 1px rgba(255,255,255,.6);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}.hero-revendeurs{height:auto;padding:7rem 1rem 6rem;text-align:left;position:relative}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem}.hero-revendeurs .title{font-size:2.5rem}.hero-revendeurs .subtitle{font-size:1.1rem;margin:1rem 0 2rem}.hero-illustration img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}@media(max-width:768px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-illustration{order:-1}}.p-card::before{content:attr(data-label);position:absolute;top:0;left:0;background:var(--violet);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .7rem;border-radius:0 0 var(--radius) 0;box-shadow:0 4px 10px rgba(0,0,0,.15);letter-spacing:.5px}.hero-blog{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;text-align:center;padding:6rem 1rem;position:relative}.hero-blog .title{font-size:2.5rem}.hero-blog .subtitle{font-size:1.2rem;margin-top:1rem}.blog-category{margin:3rem 0}.blog-category h3{font-size:1.6rem;margin-bottom:1.5rem;border-left:5px solid var(--violet);padding-left:.8rem}.articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.blog-card{background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .3s,box-shadow .3s}.blog-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.blog-card img{width:100%;height:180px;object-fit:cover}.blog-card .content{padding:1rem}.blog-card h4{font-size:1.1rem;margin-bottom:.5rem}.blog-card p{font-size:.9rem;color:#444}.form-box{max-width:400px;margin:auto;background:rgba(255,255,255,.9);padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);text-align:center}.form input{width:100%;padding:.8rem;margin:.5rem 0;border:1px solid #ddd;border-radius:8px;font-size:1rem}.form button{width:100%;padding:.9rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer}.btn.violet{background:#7c3aed;color:#fff;transition:all .3s ease}.btn.violet:hover{background:#5b21b6}.form-footer{margin-top:1rem;font-size:.9rem}.user-info{background:rgba(255,255,255,.9);padding:1rem 1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 12px rgba(0,0,0,.1)}.orders-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}.orders-table th,.orders-table td{padding:.8rem;text-align:center;border-bottom:1px solid #eee}.orders-table th{background:#7c3aed;color:#fff;font-weight:600}.orders-table tr:hover{background:rgba(124,58,237,.05)}.status.actif{color:green;font-weight:700}.status.expiré{color:red;font-weight:700}.status.en-attente{color:orange;font-weight:700}.btn.small{padding:.4rem .8rem;font-size:.85rem;border-radius:6px}.btn.violet{background:linear-gradient(90deg,#7c3aed,#9333ea);color:#fff;font-weight:600;border:none}.btn.violet:hover{background:linear-gradient(90deg,#5b21b6,#7e22ce)}.btn.ghost{border:1px solid #7c3aed;color:#7c3aed;font-weight:600}.btn.ghost:hover{background:#7c3aed;color:#fff}.nav-toggle{display:none;flex-direction:column;justify-content:space-around;width:28px;height:22px;background:0 0;border:none;cursor:pointer}.nav-toggle span{display:block;height:3px;width:100%;background:#111;border-radius:3px;transition:.3s}@media(max-width:768px){.nav-toggle{display:flex}.links{display:none;flex-direction:column;position:absolute;top:60px;right:20px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.1);padding:1rem;border-radius:12px;z-index:1000}.links a{padding:.8rem;text-align:center;display:block}.links.active{display:flex}}.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.footer-right a{margin-left:1rem;font-size:.9rem;color:#555;text-decoration:none;transition:color .3s}.footer-right a:hover{color:#7c3aed}.flash{padding:12px 16px;margin:15px 0;border-radius:6px;font-weight:500;text-align:center;animation:fadeIn .3s ease-in-out}.flash.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.flash.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.blog-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem}.sidebar{background:rgba(255,255,255,.9);padding:1rem;border-radius:var(--radius,12px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.sidebar h3{margin-bottom:.5rem;font-size:1.2rem}.sidebar button{display:block;width:100%;margin:.3rem 0;padding:.6rem;border:none;border-radius:var(--radius,8px);cursor:pointer;font-weight:600;background:#eee;transition:all .3s ease}.sidebar button:hover,.sidebar button.active{background:#7c3aed;color:#fff}@media(max-width:992px){.blog-layout{grid-template-columns:1fr}.sidebar{margin-top:2rem}}@media(max-width:480px){.articles-grid{grid-template-columns:1fr;gap:1rem}.card{font-size:.9rem;padding:.8rem}}
/* -------- CONTRASTE & ACCESSIBILITÉ -------- */
.section.dark {
  background:#0f1124;
  color:#fff;
}
.section.dark .sub,
.section.dark p { color:#EAEAEA; }
.section.dark a { color:#fff; text-decoration:underline; }
.section.dark a:hover { opacity:.85; }

.footer {
  background:#0B0E1A;
  color:#E6E6E6;
  font-size:0.95rem;
}
.footer a {
  color:#E6E6E6;
  padding:10px 8px;
  display:inline-block;
  min-height:44px; /* cibles tactiles */
}
.footer a:hover { color:#a78bfa; }

/* Liens du menu mobile */
.links a {
  padding:12px 14px;
  min-height:44px;
}

/* Hero LCP optimisation */
.hero-bg {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  fetchpriority:high;
}





.hero .title,
.hero .subtitle {
  will-change: transform;
}
.logo img { width:80px; height:auto; }
img[loading="lazy"] { aspect-ratio:auto; min-height:100px; }
.nav { min-height:60px; }
.section.dark p,
.section.dark .t-card {
  color: #f5f5f5;
}
.t-card span {
  color: #ddd;
}



/* Superposition */
.hero .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 1;
}

/* Contenu du hero */
.hero .hero-content {
  position: relative;
  z-index: 2;
  padding: 1rem;
  max-width: 700px;
}

/* Texte */
.hero .title {
  font-size: 2.6rem;
  font-weight: 800;
}
.hero .subtitle {
  font-size: 1.1rem;
  color: #f2f2f2;
}



  .hero .title {
    font-size: 2.2rem;
  }
  .hero .subtitle {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {

  .hero .title {
    font-size: 1.8rem;
  }
}
/* === HERO PREMIUM VIOLET === */


/* Contenu */
.hero .hero-content {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

/* Titre principal */
.hero .title {
  font-size: 2.8rem;
  font-weight: 800;
  letter-spacing: -0.5px;
  line-height: 1.2;
  color: #ffffff;
}

/* Gradient sur le nom */
.hero .grad {
  background: linear-gradient(90deg, #fbbf24, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Sous-titre */
.hero .subtitle {
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.9);
  margin-top: 1rem;
}

/* CTA */
.hero .cta {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Effet d’éclairage doux */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%, rgba(255,255,255,0.2), transparent 70%);
  z-index: 1;
}

/* Responsive */
@media (max-width: 768px) {
  .hero .title {
    font-size: 2.1rem;
  }
  .hero .subtitle {
    font-size: 1rem;
  }
}

/* Animation lente du dégradé */
@keyframes heroGradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* === HERO ULTRA-PREMIUM C (compact + halo + animation d'apparition) === */
.hero-premium {
  position: relative;
  width: 100%;
  height: 75vh; /* ✅ hauteur réduite */
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 1rem;
  overflow: hidden;
  color: #f9f9ff;

  /* Dégradé violet animé fluide */
  background: linear-gradient(-45deg, #8b5cf6, #a78bfa, #c4b5fd, #e9d5ff);
  background-size: 400% 400%;
  animation: heroGradientMove 20s ease infinite;
}

/* Animation du dégradé */
@keyframes heroGradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Halo lumineux pulsant */
.hero-premium::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1200px;
  height: 1200px;
  background: radial-gradient(circle, rgba(255,255,255,0.18) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: haloPulse 8s ease-in-out infinite;
  z-index: 1;
  pointer-events: none;
}

@keyframes haloPulse {
  0%,100% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.7; }
  50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
}

/* Contenu */
.hero-premium .hero-content {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

/* Texte */
.hero-premium .title {
  font-size: 2.6rem;
  font-weight: 800;
  letter-spacing: -0.5px;
  line-height: 1.2;
  color: #fff;
}
.hero-premium .grad {
  background: linear-gradient(90deg, #fbbf24, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-premium .subtitle {
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.92);
  margin-top: 0.8rem;
}

/* CTA */
.hero-premium .cta {
  margin-top: 1.8rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Animation de fondu + translation */
.fade-up {
  opacity: 0;
  transform: translateY(25px);
  animation: fadeUp 1.2s ease forwards;
}
.fade-up.delay-1 { animation-delay: 0.3s; }
.fade-up.delay-2 { animation-delay: 0.6s; }

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 1024px) {
  .hero-premium { height: 80vh; }
  .hero-premium .title { font-size: 2.3rem; }
}
@media (max-width: 768px) {
  .hero-premium { height: 85vh; }
  .hero-premium .title { font-size: 2rem; }
  .hero-premium .subtitle { font-size: 1rem; }
}
@media (max-width: 480px) {
  .hero-premium { height: 90vh; }
  .hero-premium .title { font-size: 1.8rem; }
}
/* --- Cornerstone Section --- */
.cornerstone {
  background: linear-gradient(135deg, #f8f8ff 0%, #ffffff 100%);
  padding: 3rem 1rem;
  margin-bottom: 3rem;
  border-radius: 24px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.cornerstone-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

.cornerstone-image img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

.cornerstone-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cornerstone-title {
  font-size: 1.8rem;
  font-weight: 800;
  color: #111;
  text-decoration: none;
}

.cornerstone-title:hover {
  color: #5A4BFF;
}

.cornerstone-desc {
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
}

.cornerstone-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.cornerstone .btn.violet {
  background-color: #5A4BFF;
  color: #fff;
  padding: 0.7rem 1.4rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease;
}

.cornerstone .btn.violet:hover {
  background-color: #4a3fe5;
}

.whatsapp-link {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.95rem;
  color: #25D366;
  text-decoration: none;
}

.whatsapp-link:hover {
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 900px) {
  .cornerstone-grid {
    grid-template-columns: 1fr;
  }
  .cornerstone-content {
    text-align: center;
    align-items: center;
  }
  .cornerstone .btn.violet {
    width: 100%;
    text-align: center;
  }
}
/* === Cornerstone Centré (sans WhatsApp) === */
.cornerstone.centered {
  text-align: center;
  background: linear-gradient(180deg, #ffffff 0%, #f9f9ff 100%);
  padding: 4rem 1rem 5rem;
  border-radius: 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  margin: 3rem auto;
  max-width: 1000px;
  position: relative;
}

.cornerstone.centered .cornerstone-image {
  margin-bottom: 2rem;
}
.cornerstone.centered .cornerstone-image img {
  width: 100%;
  max-width: 850px;
  height: auto;
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.08);
}

.cornerstone.centered .cornerstone-title a {
  font-size: 2rem;
  font-weight: 800;
  color: #111;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 1rem;
}
.cornerstone.centered .cornerstone-title a:hover {
  color: #7c3aed;
}

.cornerstone.centered .cornerstone-desc {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #333;
  max-width: 750px;
  margin: 0 auto 1.8rem;
}

.cornerstone.centered .cornerstone-cta {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.cornerstone.centered .btn.violet {
  background: linear-gradient(90deg,#7c3aed,#9333ea);
  color: #fff;
  font-weight: 700;
  padding: 0.9rem 1.6rem;
  border-radius: 10px;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cornerstone.centered .btn.violet:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(124,58,237,.4);
}

/* Responsive */
@media (max-width: 768px) {
  .cornerstone.centered {
    padding: 3rem 1rem 4rem;
  }
  .cornerstone.centered .cornerstone-title a {
    font-size: 1.7rem;
  }
  .cornerstone.centered .cornerstone-desc {
    font-size: 1rem;
  }
}
/* === Popup Offre Spéciale — Flottant Premium avec Halo === */
.promo-popup {
  position: fixed;
  bottom: 25px;
  right: 25px;
  background: rgba(255,255,255,0.97);
  border: 2px solid #7c3aed;
  border-radius: 18px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.25);
  padding: 1.3rem 1.2rem 1.5rem;
  width: 300px;
  max-width: 90%;
  z-index: 3000;
  font-family: 'Outfit', sans-serif;
  display: none;
  animation: popupBounce 0.9s ease forwards;
  transform-origin: bottom right;
  overflow: visible;
}

/* --- Halo lumineux pulsant --- */
.promo-popup::after {
  content: "";
  position: absolute;
  inset: -25%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,0.3) 0%, transparent 70%);
  z-index: -1;
  animation: haloPulse 6s ease-in-out infinite;
}

@keyframes haloPulse {
  0%,100% { transform: scale(0.9); opacity: 0.6; }
  50% { transform: scale(1.1); opacity: 1; }
}

/* --- Contenu interne --- */
.promo-content { text-align: center; color: #111; }
.promo-popup h3 { font-size: 1.25rem; color: #7c3aed; margin-bottom: .5rem; }
.promo-popup p { font-size: 1rem; line-height: 1.5; margin: .4rem 0 1rem; }
.promo-popup .price { color: #f59e0b; font-weight: 700; }

/* Bouton WhatsApp */
.promo-popup .btn.violet {
  display: inline-block;
  background: linear-gradient(90deg,#7c3aed,#9333ea);
  color: #fff;
  font-weight: 700;
  padding: 0.7rem 1.4rem;
  border-radius: 10px;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease;
}
.promo-popup .btn.violet:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(124,58,237,.4);
}

/* Bouton fermer */
.close-btn {
  position: absolute;
  top: 8px;
  right: 10px;
  background: none;
  border: none;
  font-size: 1.3rem;
  cursor: pointer;
  color: #555;
  transition: color .2s;
  min-width: 44px;
  min-height: 44px;
}
.close-btn:hover { color: #000; }

/* Animation d’apparition rebond */
@keyframes popupBounce {
  0%   { opacity: 0; transform: scale(0.6) translateY(40px); }
  60%  { opacity: 1; transform: scale(1.05) translateY(-5px); }
  80%  { transform: scale(0.95) translateY(2px); }
  100% { transform: scale(1) translateY(0); }
}

/* Pulsation douce toutes les 60s */
@keyframes pulseAttention {
  0% { transform: scale(1); }
  10% { transform: scale(1.05); box-shadow: 0 10px 30px rgba(124,58,237,.3); }
  20% { transform: scale(0.97); }
  40%,100% { transform: scale(1); box-shadow: 0 8px 25px rgba(0,0,0,0.25); }
}
.promo-popup.pulsing {
  animation: pulseAttention 1.3s ease-in-out;
}

/* ✅ Même position flottante sur mobile et tablette */
@media (max-width: 600px) {
  .promo-popup {
    bottom: 15px;
    right: 15px;
    width: 260px;
    padding: 1.1rem 1rem;
  }
}
