/* OVIIGI SERVICES PREMIUM — VERSION UNIQUE */
.services {
  padding:68px 3.5% 78px;
}
.services .section-heading {
  margin-bottom:32px;
}
.services-grid {
  max-width:1480px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.service-card {
  min-width:0;
  min-height:126px;
  padding:15px 12px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:center;
  gap:9px;
  border-radius:15px;
  background:linear-gradient(145deg,#173c66,#0b2340);
}
.service-card .service-icon {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  background:transparent;
  font-size:56px;
  color:#309fff;
}
.service-body {
  min-width:0;
}
.service-card h3 {
  margin:0 0 8px;
  font-size:14px;
  line-height:1.2;
  color:#f5f9ff;
}
.service-card p {
  margin:0;
  font-size:10px;
  line-height:1.45;
  color:#b5c6da;
}
.service-card a {
  grid-column:1/-1;
  grid-row:2;
  justify-self:center;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  padding:0;
  margin:0;
  border-radius:50%;
  background:#309fff;
  color:#061629;
  font-size:24px;
  text-decoration:none;
}
.service-card.blue {
  border:1px solid rgba(48,151,255,.8);
  box-shadow:inset 0 0 35px rgba(28,125,255,.12),0 8px 25px rgba(0,0,0,.12);
}
.service-card.orange {
  border:1px solid rgba(255,146,56,.85);
  background:linear-gradient(145deg,#27344a,#112239);
  box-shadow:inset 0 0 38px rgba(255,136,45,.11),0 8px 25px rgba(0,0,0,.12);
}
.service-card.orange .service-icon {
  color:#ff913d;
}
.service-card.orange a {
  background:#ff913d;
}
.service-card.cyan {
  border:1px solid rgba(66,160,255,.8);
  background:linear-gradient(145deg,#163b62,#0b2440);
  box-shadow:inset 0 0 35px rgba(56,156,255,.12),0 8px 25px rgba(0,0,0,.12);
}
.service-card.cyan .service-icon {
  color:#459cff;
}
.service-card.cyan a {
  background:#459cff;
}
.service-card.green {
  border:1px solid rgba(32,209,174,.8);
  background:linear-gradient(145deg,#123c49,#0b2636);
  box-shadow:inset 0 0 35px rgba(20,205,165,.12),0 8px 25px rgba(0,0,0,.12);
}
.service-card.green .service-icon {
  color:#16cba7;
}
.service-card.green a {
  background:#16cba7;
}
@media(max-width:900px) {
  .services-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px) {
  .services {
    padding:55px 20px 65px;
  }
  .services-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
  .service-card {
    min-height:120px;
    padding:17px;
    grid-template-columns:58px minmax(0,1fr) 38px;
    grid-template-rows:auto;
  }
  .service-card .service-icon {
    width:56px;
    height:56px;
    font-size:46px;
  }
  .service-card a {
    grid-column:3;
    grid-row:1;
    width:36px;
    height:36px;
    font-size:20px;
  }
}

/* OVIIGI SERVICE MICROINTERACTIONS V1 */

/* Transitions sans changement de dimensions */
.service-card {
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.service-card > a {
  position:relative;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease;
}

/* Libelle flottant : aucun espace supplementaire */
.service-card > a::after {
  content:attr(data-action);
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  transform:translate(-50%,5px);
  width:max-content;
  max-width:175px;
  padding:6px 9px;
  border:1px solid rgba(127,193,255,.27);
  border-radius:7px;
  background:rgba(5,18,38,.96);
  color:#f4f9ff;
  font-size:10px;
  font-weight:500;
  line-height:1.3;
  text-align:center;
  white-space:normal;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility .2s ease;
}

@media(hover:hover) and (pointer:fine) {
  .service-card:hover {
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(0,0,0,.19);
    filter:brightness(1.045);
  }

  .service-card:hover > a,
  .service-card > a:focus-visible {
    transform:translateY(-2px);
    filter:brightness(1.12);
  }

  .service-card:hover > a::after,
  .service-card > a:focus-visible::after {
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
  }
}

@media(hover:none) {
  .service-card > a::after {
    display:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  .service-card,
  .service-card > a,
  .service-card > a::after {
    transition:none;
  }
}


/* OVIIGI SIX DIVISIONS PREMIUM V50175C */

.oviigi-services-premium {
  padding:52px 3.5% 62px;
}

.oviigi-services-premium .section-heading {
  text-align:center;
  margin-bottom:28px;
}

.oviigi-services-premium .services-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
  max-width:1240px;
  margin:0 auto;
}

.oviigi-services-premium .service-card {
  min-height:176px;
  padding:20px;
  grid-template-columns:54px minmax(0,1fr);
  grid-template-rows:1fr auto;
  border-radius:17px;
}

.oviigi-services-premium .service-icon {
  font-size:39px;
  width:50px;
  height:50px;
}

.oviigi-services-premium .service-card h3 {
  font-size:16px;
  margin-bottom:10px;
}

.oviigi-services-premium .service-card p {
  font-size:12px;
  line-height:1.65;
}

@media(max-width:1050px) {
  .oviigi-services-premium .services-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  .oviigi-services-premium {
    padding:36px 20px 48px;
  }

  .oviigi-services-premium .services-grid {
    grid-template-columns:1fr;
    gap:12px;
  }

  .oviigi-services-premium .service-card {
    min-height:150px;
    grid-template-columns:54px minmax(0,1fr) 38px;
    grid-template-rows:auto;
    padding:16px;
  }

  .oviigi-services-premium .service-card a {
    grid-column:3;
    grid-row:1;
  }
}
