/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', sans-serif;
  background: radial-gradient(circle at 20% 30%, rgba(60, 100, 60, 0.1) 0%, transparent 70%),
  linear-gradient(120deg, #f9f6ef 0%, #f2e8da 100%);
  background-blend-mode: multiply;
  color: #2f402f;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: absolute;
  top: -30%;
  left: -30%;
  width: 160%;
  height: 160%;
  background:
    radial-gradient(circle at 50% 50%, rgba(180, 60, 90, 0.15) 0%, transparent 40%),
    radial-gradient(circle at 30% 30%, rgba(30, 60, 30, 0.25) 0%, transparent 75%);
  z-index: 0;
  pointer-events: none;
}



/* HEADER */
header {
  position: sticky;
  top: 0;
  z-index: 10;
  background:
    radial-gradient(circle at 20% 40%, rgba(90, 120, 90, 0.75) 0%, transparent 60%),
    radial-gradient(circle at 60% 50%, rgba(210, 160, 180, 0.6) 0%, transparent 70%),
    radial-gradient(circle at 80% 20%, rgba(120, 150, 120, 0.6) 0%, transparent 60%),
    radial-gradient(circle at 30% 80%, rgba(230, 180, 200, 0.4) 0%, transparent 65%);

  color: #2f402f; /* Texte vert olive foncé */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(7px); /* Pour un effet légèrement vaporeux */

  padding: 1.2rem 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* NOM / LOGO */
.logo a {
  text-decoration: none;
  color: #2f402f; /* Vert foncé */
  font-size: 2.8rem;
  font-weight: 800;
  letter-spacing: -1px;
  transition: color 0.3s ease;
}




.nav a.apropos {
  background-image: url('images/kraft.jpg');
  background-color: rgba(90,120,90, 0.6); /* vert foncé transparent pour lisibilité */
  color: rgba(30, 60, 30, 0.85);;
}

.nav a.realisations {
  background-image: url('images/kraft.jpg');
  background-color: rgba(210,160,180, 0.5); /* rose transparent */
  color: rgba(30, 60, 30, 0.85);;
}

.nav a.contact {
  background-image: url('images/kraft.jpg');
  background-color: rgba(80,100,80, 0.6);
  color: rgba(30, 60, 30, 0.85);;
}

.nav a.cv-button {
  background-image: url('images/kraft.jpg');
  background-color: rgba(180,60,90, 0.6);
  color: rgba(30, 60, 30, 0.85);;
}

/* Survol — un peu plus lumineux, ou autre effet */
.nav a:hover {

  color: rgba(180, 60, 90, 0.6);

  transform: scale(1.15); /* zoom 15% */
  opacity: 0.8;
}

/* MAIN STYLE */
main {
  position: relative;
  z-index: 1;
  padding: 5rem 2rem;
  max-width: 1100px;
  margin: 0 auto;

}

/* TYPO GÉNÉRALE */
h1, h2 {
  color: #2f402f;
  font-weight: 700;
  margin-bottom: 1rem;
}

p {
  font-size: 1.2rem;
  line-height: 1.6;
}
/* INTRO */
.real-intro {
  font-size: 22px;
  text-align: center;
  margin-bottom: 30px;
  color: #2d805f;
}

/* CATEGORIES */
.real-categories {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}

.real-categories button {
  padding: 12px 20px;
  border: none;
  background-color: #fff;
  border-radius: 25px;
  color: #2d805f;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.real-categories button:hover {
  background-color: #e84e89;
  color: white;
}

/* GRID */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
  padding: 0 20px;
}

/* CARDS */
.carre {
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.carre:hover {
  transform: translateY(-8px);
}

.carre img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.carre h3 {
  background: white;
  color: #2d805f;
  text-align: center;
  font-size: 18px;
  padding: 15px 10px;
  width: 100%;
  transition: background 0.3s, color 0.3s;
}

.carre:hover h3 {

  color: rgba(180, 60, 90, 0.6);;
}

/* MORE / LESS BUTTONS */
.more-arrow {
  text-align: center;
  font-size: 20px;
  color: #2d805f;
  margin: 40px auto;
  cursor: pointer;
  transition: color 0.3s;
}

.more-arrow:hover {
  color: #e84e89;
}

/* FADE IN ANIMATION */
.fade-in {
  animation: fadeIn 0.6s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

/* GRID ALIGN IF FEW ITEMS */
.grid.few-items {
  justify-content: center;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

footer {
  background-color: rgba(30, 60, 30, 0.85);
  color: white;
  text-align: center;
  padding: 10px 0;
  margin-top: 250px;
  width: 100%;

  font-size: 0.9rem;
}
