@font-face{
  font-family:"Louis George Cafe";
  src:url("../fonts/LouisGeorgeCafe-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Louis George Cafe";
  src:url("../fonts/LouisGeorgeCafe-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --or:#CAAE84;
  --bleu:#152B46;
  --beige:#E3DBCF;

  --titre:"Asul", serif;
  --sous-titre:"Louis George Cafe", serif;
  --texte:"Poppins", sans-serif;

  --rayon:14px;
}

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

body{
  background: var(--beige);
  color: var(--bleu);
  font-family: var(--texte);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}

a{
  color:inherit;
  text-decoration:none;
}




.entete-projets{
  padding:50px 80px 0;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:320px;
  align-items:end;
}

.titre-page{
  font-family:var(--titre);
  color:var(--or);
  font-size:64px;
  line-height:.95;
  letter-spacing:1px;
}

.texte-filtre{
  font-family:var(--titre);
  color:var(--or);
  font-size:18px;
  margin-bottom:14px;
}

.ligne-filtres{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}


.filtre{
  position:relative;
}

.filtre-bouton{
  border:1px solid var(--or);
  background:transparent;
  color:var(--or);
  border-radius:999px;
  padding:8px 18px;
  font-family:var(--titre);
  font-size:14px;
  cursor:pointer;
  display:flex;
  gap:10px;
  align-items:center;
}

.filtre-bouton.ouvert{
  background:rgba(202,174,132,.18);
}

.filtre-menu{
  position:absolute;
  top:44px;
  left:0;
  min-width:200px;
  background:var(--or);
  border-radius:16px;
  padding:14px;
  display:none;
  box-shadow:0 18px 40px rgba(0,0,0,.15);
  z-index:50;
}

.filtre-menu.ouvert{
  display:block;
}

.option{
  width:100%;
  background:transparent;
  border:0;
  text-align:left;
  color:var(--beige);
  font-family:var(--sous-titre);
  font-size:16px;
  padding:6px 8px;
  border-radius:10px;
  cursor:pointer;
}

.option:hover{
  background:rgba(255,255,255,.15);
}

.btn-reset{
  background:var(--or);
  color:var(--beige);
  border-radius:999px;
  padding:8px 18px;
  font-family:var(--titre);
  font-size:16px;
  cursor:pointer;
  border:none;
}

.chips-actifs{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.chip{
  border:1px solid rgba(202,174,132,.8);
  background:rgba(202,174,132,.12);
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  cursor:pointer;
}


.liste-projets{
  flex: 1;                  
  display: block;
  padding: 0;
  margin-top: 40px;
}

.carte-projet{
  width:100%;
  padding:58px 80px;
  display:grid;
  grid-template-columns:420px 1fr 110px;
  gap:28px;
  align-items:center;
}

.fond-bleu{
  background:var(--bleu);
  color:rgba(227,219,207,.9);
}

.fond-beige{
  background:var(--beige);
  color:var(--bleu);
}

.zone-image{
  display:flex;
  align-items:center;
}

.visuel-projet{
  width:300px;
  height:390px;
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}

.visuel-projet img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.etiquette-verticale{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  background: var(--or);
  color:var(--bleu);
  font-family:var(--sous-titre);
  font-weight:700;
  padding: 39px 12px;
  border-radius:999px;
  letter-spacing:.6px;
  margin-left: -15px;
  font-size: 20px;
}

.titre-projet{
  font-family:var(--titre);
  font-size:28px;
  margin-bottom:8px;
  color: var(--or);
}

.sous-titre-projet{
  font-size:12px;
  letter-spacing:.3px;
  margin-bottom:14px;
  text-transform:uppercase;
}

.resume-projet{
  font-size:15px;
  line-height:1.6;
  max-width:680px;
  margin-bottom:18px;
}

.meta-projet{
  font-size:13px;
  font-weight:600;
  color:var(--or);
  margin-bottom:18px;
  font-family:var(--titre);
}

.btn-projet{
  display:inline-block;
  border:1px solid var(--or);
  padding: 7px 18px;
  border-radius:999px;
  font-size:15px;
  color: var(--or);
  font-family: var(--titre);
  margin-top: 10px;
  margin-left: -3px;
}

.btn-projet:hover{
  background:var(--or);
  color: var(--beige);
}



.zone-outils{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-end;
  justify-content:center;
}

.rond-outil{
  width:67px;
  height:50px;
  border-radius:999px;
  border:2px solid var(--or);
  display: flex;
  align-items: center;
  justify-content: center;
}

.outil-icone{
  width: 30px;
  height: 30px;
  object-fit: contain;
  display: block;
}


.footer-custom{
  background:var(--bleu);
  color:var(--or);
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;

  width: 100%;
  margin-top: auto; 
  box-shadow: 0 -10px 22px rgba(0,0,0,0.22); 
}

.footer-right{
  display:flex;
  gap:16px;
}

.footer-right img{
  width:22px;
  height:22px;
  transition:transform .2s ease;
}

.footer-right a:hover img{
  transform:scale(1.1);
}

.etiquette-verticale{
  white-space: nowrap;
  will-change: transform;
}

@media (max-width: 599px){

  .entete-projets{
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 16px 0;
  }

  .titre-page{
    font-size: 46px;
  }

  .liste-projets{
    margin-top: 16px;
  }

  .carte-projet{
    position: relative;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 28px 16px 96px;
    align-items: start;
  }

  .zone-image{
    position: relative;
    width: min(300px, 78vw);
    margin: 0 auto 38px;  
    overflow: visible;
  }

  .visuel-projet{
    width: 100%;
    height: 250px;
    border-radius: 24px;
    overflow: hidden;
  }

  .etiquette-verticale{
    position: absolute;
    left: 50%;
    bottom: -18px;
    transform: translateX(-50%);

    writing-mode: horizontal-tb;
    background: var(--or);
    color: var(--bleu);

    padding: 10px 18px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: .6px;
    white-space: nowrap;

    font-family: var(--sous-titre);
    font-weight: 700;

    z-index: 10;
    box-shadow: 0 10px 22px rgba(0,0,0,0.18);
  }

  .etiquette-verticale{
  margin-left: 0 !important;
  right: auto !important;
}

  .titre-projet{
    font-size: 22px;
  }

  .resume-projet{
    font-size: 13px;
    line-height: 1.55;
    max-width: 100%;
  }

  .zone-outils{
    position: absolute;
    left: 16px;
    bottom: 16px;

    flex-direction: row;
    gap: 10px;
    align-items: center;
  }

  .rond-outil{
    width: 44px;
    height: 34px;
  }

  .outil-icone{
    width: 18px;
    height: 18px;
  }

  .btn-projet{
    position: absolute;
    right: 16px;
    bottom: 16px;
    margin: 0;
    font-size: 14px;
    padding: 7px 16px;
  }
}

@media (min-width: 600px) and (max-width: 980px){

  .entete-projets{
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 28px 22px 0;
  }

  .titre-page{
    font-size: 56px;
  }

  .liste-projets{
    margin-top: 18px;
  }

  .carte-projet{
    position: relative;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 32px 22px 100px;
    align-items: start;
  }

  .zone-image{
    position: relative;               
    width: min(380px, 70vw);
    margin: 0 auto;
    display: block;
  }

  .visuel-projet{
    width: 100%;
    height: 300px;
    border-radius: 28px;
    overflow: hidden;
  }

  .etiquette-verticale{
    position: absolute;
    top: 50%;
    right: -22px;
    margin: 0;
    white-space: nowrap;

    writing-mode: vertical-rl;
    transform: translateY(-50%) rotate(180deg);

    padding: 22px 12px;
    font-size: 13px;
    border-radius: 999px;
    font-family: var(--sous-titre);
  }

  .zone-outils{
    position: absolute;
    left: 22px;
    bottom: 18px;

    flex-direction: row;
    gap: 12px;
    align-items: center;
  }

  .btn-projet{
    position: absolute;
    right: 22px;
    bottom: 18px;
    margin: 0;
  }
}










