/* assets/css/style.css — Glassmorphism theme (style 3) */
/* Palette: bleu nuit, blancs semi-transparents, accents cyan */
:root{
  --bg:#071124;
  --card-bg: rgba(255,255,255,0.06);
  --glass-border: rgba(255,255,255,0.08);
  --accent: #49d6ff;
  --muted: rgba(255,255,255,0.65);
  --glass-shadow: 0 10px 30px rgba(2,6,23,0.6);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
}


/* CORRECTION ICI : Utilisation d'un chemin relatif pour l'image */
/* Assurez-vous que l'image est à un niveau au-dessus du dossier css, puis dans un dossier img (par exemple: ../img/votre_image.webp) */
.about-bg {
  position: relative;
  background: url('../img/banner_informatique_bureau_1_0-min.webp') center/cover no-repeat; 
  background-attachment: fixed;
}

.about-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45); /* assombrit l'image */
}

.about-bg .container {
  position: relative;
  z-index: 2;
}


/* GLOBAL */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: linear-gradient(180deg,#041022 0%, #071124 60%);
  color: #e6f0fb;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  padding-bottom:60px;
}

/* CONTAINER */
.container{
  width: min(1150px, 94%);
  margin: 0 auto;
}

/* NAV */
.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:700;
  letter-spacing:0.3px;
  color:var(--accent);
}
.brand img{height:44px; border-radius:8px; box-shadow: 0 6px 20px rgba(0,0,0,0.45);}

/* Glass header hero */
.hero{
  margin-top:18px;
  padding:36px;
  border-radius:16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(8px) saturate(120%);
  display:flex;
  gap:30px;
  align-items:center;
}
.hero-left{flex:1}
.hero-right{flex:1; display:flex; justify-content:center; align-items:center}

/* Hero title */
h1.hero-title{
  font-size:38px;
  margin:0 0 14px 0;
  color: #f8fdff;
  text-shadow: 0 6px 30px rgba(0,0,0,0.6);
}
p.lead{
  margin:0 0 18px 0;
  color:var(--muted);
  font-size:15px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background: linear-gradient(90deg,var(--accent), #7ef0ff);
  color:#00121a;
  padding:12px 18px;
  border-radius:12px;
  font-weight:600;
  border:none;
  cursor:pointer;
  transform: translateZ(0);
  transition: transform .25s cubic-bezier(.2,.9,.3,1), box-shadow .2s;
  box-shadow: 0 6px 18px rgba(73,214,255,0.12);
}
.btn:hover{ transform: translateY(-6px) scale(1.01); box-shadow: 0 18px 40px rgba(73,214,255,0.12) }

/* Card styles (glass) */
.section{
  margin-top:28px;
}
.card-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:18px;
}
.card{
  border-radius:14px;
  padding:16px;
  background: var(--card-bg);
  border: 1px solid var(--glass-border);
  box-shadow: 0 8px 30px rgba(2,6,23,0.5);
  transition: transform .35s cubic-bezier(.2,.9,.3,1), box-shadow .35s;
  transform-origin: center;
  overflow:hidden;
  position:relative;
  min-height:160px;
}
.card:hover{
  transform: translateY(-10px) rotateX(2deg) scale(1.02);
  box-shadow: 0 30px 60px rgba(2,6,23,0.6);
}
.card .card-img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:12px;
  filter: saturate(110%) contrast(1.02);
  transition: transform .6s;
}
.card:hover .card-img{ transform: scale(1.04) translateY(-6px) }

/* subtle 3D tilt on hover via transform from JS — fallback smoothness */
.tilt {
  will-change: transform;
  transition: transform .3s ease-out;
}

/* Services list */
.services-list{display:flex; gap:12px; flex-wrap:wrap}
.service-badge{
  padding:10px 14px;
  border-radius:10px;
  background: rgba(255,255,255,0.03);
  color:var(--muted);
  font-size:14px;
  border:1px solid rgba(255,255,255,0.03);
}

/* FOOTER */
.footer{
  margin-top:40px;
  padding:20px 0;
  color:var(--muted);
  text-align:center;
  opacity:0.95;
}

/* RESPONSIVE */
@media (max-width:1000px){
  .card-grid{ grid-template-columns: repeat(2,1fr) }
  h1.hero-title{ font-size:30px }
}
@media (max-width:700px){
  .hero{flex-direction:column; padding:22px}
  .card-grid{ grid-template-columns: 1fr }
  .brand img{height:40px}
  .btn{width:100%}
}

/* small animations */
.fade-up{ opacity:0; transform: translateY(12px); transition: opacity .6s, transform .6s }
.fade-up.in { opacity:1; transform: translateY(0) }