/* ============================================================
   ML SERVICE — Surcouche de modernisation (mlservice-modern.css)
   À charger APRÈS le CSS principal (onicx) dans header-common.php
   Conserve la palette Onicx : violet #6c43e3 / orange #ed8a33
   ============================================================ */

:root {
  --mls-glass: rgba(255, 255, 255, 0.65);
  --mls-shadow-soft: 0 18px 50px -18px rgba(108, 67, 227, 0.30);
  --mls-shadow-card: 0 12px 40px -12px rgba(27, 21, 44, 0.18);
  --mls-radius-lg: 24px;
}

/* ============================================================
   SECTION 1 — ABOUT (about-section-two)
   ============================================================ */

/* --- Espacement + fond doux --- */
.about-section-two {
  background:
    radial-gradient(circle at 12% 18%, rgba(108, 67, 227, 0.06), transparent 38%),
    radial-gradient(circle at 88% 82%, rgba(237, 138, 51, 0.06), transparent 38%);
}

/* --- Sous-titre : petite pastille moderne --- */
.about-section-two .sec-title .sub-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 18px 7px 16px;
  border-radius: 100px;
  background: rgba(108, 67, 227, 0.08);
  color: var(--theme-color1);
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}
.about-section-two .sec-title .sub-title::before {
  position: relative;
  top: 0;
  width: 7px;
  height: 7px;
}

/* --- Titre : meilleure respiration --- */
.about-section-two .sec-title h3 {
  letter-spacing: -0.02em;
  line-height: 1.18;
}

/* --- Texte d'intro plus lisible --- */
.about-section-two .content-column .inner-column .text {
  font-size: 17px;
  line-height: 1.8;
  border-left: 3px solid var(--theme-color2);
  padding-left: 22px;
}

/* --- Liste d'atouts : passage en "chips" cartes modernes --- */
.about-section-two .list-box.style-two {
  margin: 28px 0 34px;
}
.about-section-two .list-box.style-two .list-style-two.two-column {
  gap: 14px 18px;
}
.about-section-two .list-box.style-two .list-style-two.two-column li {
  margin-bottom: 0;
  align-items: center;
  padding: 16px 20px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(108, 67, 227, 0.12);
  box-shadow: var(--mls-shadow-card);
  font-weight: 600;
  color: var(--theme-color3);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.about-section-two .list-box.style-two .list-style-two.two-column li:hover {
  transform: translateY(-4px);
  border-color: rgba(108, 67, 227, 0.4);
  box-shadow: var(--mls-shadow-soft);
}
.about-section-two .list-box.style-two .list-style-two li i {
  top: 0;
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  border-radius: 50%;
  font-size: 14px;
  color: #fff;
  background: var(--gradient-1);
}

/* --- Barre de compétence : plus fine et lumineuse --- */
.about-section-two .skills.style-two .skill-item .skill-bar .bar-inner {
  border-radius: 100px;
  border-color: rgba(108, 67, 227, 0.18);
}
.about-section-two .skills.style-two .skill-item .skill-bar .bar-inner .bar {
  background: var(--gradient-1);
  border-radius: 100px;
}
.about-section-two .skills.style-two .skill-item .skill-bar .bar-inner .bar:before {
  border-color: var(--theme-color1);
  box-shadow: 0 0 0 4px rgba(108, 67, 227, 0.15);
}
.about-section-two .skills .skill-item .skill-header .skill-title {
  font-size: 15px;
  letter-spacing: 0.02em;
}

/* --- Image principale : ombre profonde + survol --- */
.about-section-two .image-column .inner-column .image {
  box-shadow: var(--mls-shadow-soft);
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.about-section-two .image-column .inner-column .image:hover {
  transform: scale(1.02);
}
.about-section-two .image-column .inner-column .image img {
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.about-section-two .image-column .inner-column .image:hover img {
  transform: scale(1.06);
}

/* --- Vignette secondaire : bord plus net --- */
.about-section-two .image-column .inner-column .image-two {
  border-width: 6px;
  box-shadow: var(--mls-shadow-card);
}

/* --- Badge "Satisfaction Garantie" : halo --- */
.about-section-two .image-column .inner-column .btn-box {
  box-shadow: 0 10px 30px -8px rgba(237, 138, 51, 0.6);
}

/* --- Bouton CTA principal : léger lift au survol --- */
.about-section-two .btn-box .theme-btn-main {
  transition: transform .3s ease;
}
.about-section-two .btn-box .theme-btn-main:hover {
  transform: translateY(-2px);
}

/* --- Responsive : aération sur mobile --- */
@media (max-width: 767.98px) {
  .about-section-two .content-column .inner-column .text {
    font-size: 16px;
    padding-left: 16px;
  }
  .about-section-two .list-box.style-two .list-style-two.two-column li {
    padding: 13px 16px;
  }
}

/* ============================================================
   SECTION 2 — BANNER / HERO (banner-section-two)
   ============================================================ */

/* --- Halo dégradé subtil derrière le slide --- */
.banner-section-two .banner-slide .icon-30,
.banner-section-two .banner-slide .icon-31 {
  opacity: 0.9;
}

/* --- Titre : meilleure typo + mot accent lisible --- */
.banner-section-two .banner-slide .content-column .inner-column .title {
  letter-spacing: -0.02em;
}
.banner-section-two .banner-slide .content-column .inner-column .title .bold {
  display: inline-block;
  margin-left: 14px;
  font-weight: 800;
  background: linear-gradient(100deg, #b07bff 0%, #ed8a33 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* --- Texte d'accroche plus lisible --- */
.banner-section-two .banner-slide .content-column .inner-column .text {
  font-size: 18px;
  line-height: 1.75;
  color: #b6aecb;
}

/* --- Image hero : ombre + zoom doux au survol --- */
.banner-section-two .banner-slide .image-column .inner-column .image {
  box-shadow: var(--mls-shadow-soft);
}
.banner-section-two .banner-slide .image-column .inner-column .image img {
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.banner-section-two .banner-slide .image-column .inner-column .image:hover img {
  transform: scale(1.05);
}

/* --- Bouton "Découvrir" : léger lift --- */
.banner-section-two .btn-box .theme-btn-main {
  transition: transform .3s ease;
}
.banner-section-two .btn-box .theme-btn-main:hover {
  transform: translateY(-2px);
}

/* --- Responsive hero --- */
@media (max-width: 767.98px) {
  .banner-section-two .banner-slide .content-column .inner-column .text {
    font-size: 16px;
  }
  .banner-section-two .banner-slide .content-column .inner-column .title .bold {
    margin-left: 0;
  }
}

/* ============================================================
   SECTION 3 — SERVICES (service-section-two)
   ============================================================ */

/* --- Sous-titre en pastille moderne (cohérent avec l'About) --- */
.service-section-two .sec-title .sub-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 18px 7px 16px;
  border-radius: 100px;
  background: rgba(108, 67, 227, 0.08);
  color: var(--theme-color1);
  font-weight: 600;
  letter-spacing: 0.08em;
}
.service-section-two .sec-title .sub-title::before {
  position: relative;
  top: 0;
  width: 7px;
  height: 7px;
}

/* --- Titre : meilleure respiration --- */
.service-section-two .sec-title h2 {
  letter-spacing: -0.02em;
}

/* --- Numéro de bloc : dégradé violet→orange au survol --- */
.service-block-two .inner-box .content-box .count {
  transition: all .3s ease;
}

/* --- Catégorie (Websites, Intégration...) : pastille discrète --- */
.service-block-two .inner-box .content-box .cat {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--theme-color1);
}

/* --- Titre du service : typo resserrée + césure propre --- */
.service-block-two .inner-box .content-box .title {
  letter-spacing: -0.01em;
  max-width: 240px;
  margin-left: auto;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

/* --- Icône ronde : halo léger --- */
.service-block-two .inner-box .content-box .icon-box {
  box-shadow: 0 10px 26px -8px rgba(108, 67, 227, 0.5);
}

/* --- Bouton "readmore" rond sur l'image : halo orange --- */
.service-block-two .inner-box .image-box .readmore {
  box-shadow: 0 8px 20px -6px rgba(237, 138, 51, 0.6);
}

/* --- Carte : ombre plus douce et moderne au repos --- */
.service-block-two .inner-box {
  box-shadow: 0 14px 40px -16px rgba(27, 21, 44, 0.22);
  transition: transform .35s ease, box-shadow .35s ease;
}
.service-block-two .inner-box:hover {
  transform: translateY(-6px);
}

/* --- Responsive services --- */
@media (max-width: 767.98px) {
  .service-section-two .sec-title .sub-title {
    padding: 6px 14px 6px 13px;
  }
}

/* ============================================================
   SECTION 4 — PROJETS (project-section-two)
   ============================================================ */

/* --- Sous-titre clair en pastille (sur fond sombre) --- */
.project-section-two .sec-title .sub-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 18px 7px 16px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.project-section-two .sec-title .sub-title::before {
  position: relative;
  top: 0;
  width: 7px;
  height: 7px;
}

/* --- Titre clair : meilleure respiration --- */
.project-section-two .sec-title h2 {
  letter-spacing: -0.02em;
}

/* --- Carte projet : coins et ombre plus modernes --- */
.project-block-two .inner-box {
  box-shadow: 0 18px 44px -20px rgba(0, 0, 0, 0.55);
}

/* --- Titre du projet (visible au survol) : typo resserrée --- */
.project-block-two .inner-box .content-box .title {
  letter-spacing: -0.01em;
}

/* --- Bouton rond "readmore" au survol : halo --- */
.project-block-two .inner-box .content-box .btn-box .readmore {
  box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.5);
}

/* --- Flèches de navigation du carrousel : halo violet au survol --- */
.project-section-two .outer-box .nav-box .swiper-button-prev:hover,
.project-section-two .outer-box .nav-box .swiper-button-next:hover {
  box-shadow: 0 8px 22px -6px rgba(108, 67, 227, 0.7);
}

/* --- Images de projet : MÊME taille pour toutes --- */
/* Ce sont des captures d'interface : on veut les voir EN ENTIER,
   non déformées. object-fit: contain garde l'image complète et
   non étirée ; le fond remplit proprement l'espace autour. */
.project-block-two .inner-box .image-box,
.project-block-two .inner-box figure.image,
.project-block-two .inner-box .image {
  height: 420px;
  overflow: hidden;
  border-radius: var(--mls-radius-lg, 22px);
  background: #f4f2fb;
}
.project-block-two .inner-box .image-box img,
.project-block-two .inner-box figure.image img,
.project-block-two .inner-box .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 991.98px) {
  .project-block-two .inner-box .image-box,
  .project-block-two .inner-box figure.image,
  .project-block-two .inner-box .image {
    height: 340px;
  }
}