.elementor-10 .elementor-element.elementor-element-e7793cd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;}.elementor-10 .elementor-element.elementor-element-e7793cd::before, .elementor-10 .elementor-element.elementor-element-e7793cd > .elementor-background-video-container::before, .elementor-10 .elementor-element.elementor-element-e7793cd > .e-con-inner > .elementor-background-video-container::before, .elementor-10 .elementor-element.elementor-element-e7793cd > .elementor-background-slideshow::before, .elementor-10 .elementor-element.elementor-element-e7793cd > .e-con-inner > .elementor-background-slideshow::before, .elementor-10 .elementor-element.elementor-element-e7793cd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-10 .elementor-element.elementor-element-55b6fe9{--display:flex;}.elementor-10 .elementor-element.elementor-element-4023c32{--display:flex;}.elementor-10 .elementor-element.elementor-element-e89d05a{--display:flex;}/* Start custom CSS for html, class: .elementor-element-640cf7a */.services {
  padding: 80px 20px;
  background: #0b0f14;
  text-align: center;
  color: #fff;
}

.section-title {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 10px;
  color: #ffffff;
  text-shadow: 2px 2px 10px rgba(40,193,255,0.6);
}

.section-subtitle {
  font-size: 18px;
  color: #96a2b1;
  max-width: 700px;
  margin: 0 auto 50px auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 30px;
}

.service-card {
  background: rgba(14,20,27,0.8);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 30px 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.service-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 15px 45px rgba(40,193,255,0.4);
}

.service-card .icon {
  font-size: 40px;
  margin-bottom: 20px;
  color: #28c1ff;
  text-shadow: 0 0 20px rgba(40,193,255,0.7);
}

.service-card h3 {
  font-size: 22px;
  margin-bottom: 12px;
  color: #fff;
}

.service-card p {
  font-size: 16px;
  color: #c7d0da;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-91bd0d1 */.portfolio {
  padding: 80px 20px;
  background: #0b0f14;
  text-align: center;
}

.section-title {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 10px;
  color: #ffffff;
  text-shadow: 2px 2px 10px rgba(40,193,255,0.6);
}

.section-subtitle {
  font-size: 18px;
  color: #c7d0da;
  max-width: 700px;
  margin: 0 auto 50px auto;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 25px;
}

.portfolio-item {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  cursor: pointer;
}

.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.portfolio-item:hover img {
  transform: scale(1.08);
}

.overlay {
  position: absolute;
  inset: 0;
  background: rgba(11,15,20,0.85);
  color: #fff;
  opacity: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity 0.4s ease;
  padding: 20px;
  text-align: center;
}

.portfolio-item:hover .overlay {
  opacity: 1;
}

.overlay h3 {
  font-size: 22px;
  margin-bottom: 12px;
  color: #28c1ff;
}

.overlay p {
  font-size: 16px;
  color: #e6edf3;
  line-height: 1.5;
}

/* CTA sous la galerie */
.portfolio-cta {
  margin-top: 40px;
}

.btn {
  --pad: 14px 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 14px;
  border: 1px solid transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary {
  background: radial-gradient(120% 140% at 10% 10%, rgba(40,193,255,.25), rgba(40,193,255,.18)) , #0b1822;
  color: #ffffff;
  padding: var(--pad);
  border-color: rgba(40,193,255,.35);
  box-shadow: 0 12px 40px -12px rgba(40,193,255,.35);
}

.btn-primary:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 18px 60px -18px rgba(40,193,255,.6);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-302715f */.shop {
  padding: 80px 20px;
  background: #0b0f14;
  text-align: center;
}

.section-title {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 10px;
  color: #ffffff;
  text-shadow: 2px 2px 10px rgba(40,193,255,0.6);
}

.section-subtitle {
  font-size: 18px;
  color: #c7d0da;
  max-width: 700px;
  margin: 0 auto 50px auto;
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.product-card {
  background: rgba(14,20,27,0.85);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 25px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  color: #fff;
  text-align: center;
}

.product-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 45px rgba(40,193,255,0.4);
}

.product-card img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 20px;
}

.product-card h3 {
  font-size: 22px;
  margin-bottom: 15px;
  color: #ffffff;
}

.specs {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  color: #e6edf3;
  font-size: 15px;
}

.specs li {
  margin-bottom: 6px;
}

.price {
  font-size: 20px;
  font-weight: 700;
  color: #28c1ff;
  margin-bottom: 20px;
}

.btn {
  --pad: 12px 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary {
  background: radial-gradient(120% 140% at 10% 10%, rgba(40,193,255,.25), rgba(40,193,255,.18)) , #0b1822;
  color: #ffffff;
  padding: var(--pad);
  border-color: rgba(40,193,255,.35);
  box-shadow: 0 12px 40px -12px rgba(40,193,255,.35);
}

.btn-primary:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 18px 60px -18px rgba(40,193,255,.6);
}
/* CTA global sous la section */
.shop-cta {
  margin-top: 60px;
  text-align: center;
}

.btn.big-cta {
  --pad: 18px 40px;
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: linear-gradient(135deg, #28c1ff, #0077ff);
  border: 1px solid rgba(40,193,255,.6);
  box-shadow: 0 6px 25px rgba(40,193,255,.5),
              inset 0 0 12px rgba(40,193,255,.4);
  animation: pulse 2s infinite;
}

.btn.big-cta:hover {
  transform: translateY(-4px) scale(1.07);
  box-shadow: 0 10px 35px rgba(40,193,255,.8),
              inset 0 0 15px rgba(40,193,255,.7);
}
 /* --- FOOTER --- */
    footer {
      background: #0a0d11;
      padding: 60px 20px 30px 20px;
      text-align: center;
      border-top: 1px solid rgba(255,255,255,0.1);
    }

    .footer-logo {
      font-size: 24px;
      font-weight: 800;
      color: #28c1ff;
      margin-bottom: 20px;
      text-shadow: 0 0 10px rgba(40,193,255,0.8);
    }

    .footer-links {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      margin-bottom: 25px;
    }

    .footer-links a {
      color: #e6edf3;
      text-decoration: none;
      font-weight: 500;
      transition: color 0.3s;
    }

    .footer-links a:hover {
      color: #28c1ff;
    }

    .social-links {
      display: flex;
      justify-content: center;
      gap: 15px;
      margin-bottom: 25px;
    }

    .social-links a {
      font-size: 20px;
      color: #e6edf3;
      transition: color 0.3s, transform 0.3s;
    }

    .social-links a:hover {
      color: #28c1ff;
      transform: translateY(-3px);
    }

    .footer-bottom {
      font-size: 14px;
      color: #96a2b1;
    }/* End custom CSS */