
/* =========================================================
   LES FRESQUES – HERO VERSION MAQUETTE
   ========================================================= */

:root{
  --fresques-brown:#a7845c;
  --fresques-white:#ffffff;
  --fresques-gap:10px;
  --hero-height:90vh;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

/* reset thème */
.content-section.hero-section::before,
.hero-section::before{
  content:none !important;
  background:none !important;
}

.hero-section.content-section{
  padding:0 !important;
}

.hero-section .container-fluid{
  padding-left:0 !important;
  padding-right:0 !important;
}

.my1{
  height:var(--hero-height);
}

.myrow1{
  margin:0 !important;
}

.mycol1{
  padding:0 !important;
}

.content{
  padding-top:0 !important;
}

/* =========================================================
   HERO GLOBAL
   ========================================================= */

.fresques-hero{
  height:var(--hero-height);
  padding:10px;
  background:#fff;
  overflow:hidden;
}

.fresques-layout{
  display:grid;
  grid-template-columns:31.5% 1fr;
  gap:10px;
  height:100%;
  min-height:0;
}

/* =========================================================
   COLONNE GAUCHE
   ========================================================= */

.fresques-left{
  background:var(--fresques-brown);
  color:#fff;
  display:flex;
  min-width:0;
  min-height:0;
}

.fresques-left__inner{
  width:100%;
  padding:clamp(34px,4vw,58px) clamp(26px,3.2vw,48px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.fresques-left__top{
  margin:0;
  margin-top:9vw;
}

.fresques-kicker{
  font-family:"Jost", sans-serif;
  font-size:clamp(14px,1.1vw,18px);
  line-height:1.45;
  font-weight:400;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  margin:0 0 26px 0;
}

.fresques-title{
  font-family:"Playfair Display", serif;
  font-size:clamp(44px,5vw,74px);
  line-height:0.98;
  font-weight:700;
  margin:0 0 18px 0;
  color:#fff;
  text-align:left;
}

.fresques-rule{
  width:40px;
  height:3px;
  background:rgba(255,255,255,.9);
  margin:0 0 28px 0;
}

.fresques-text{
  font-family:"Jost", sans-serif;
  font-size:clamp(16px,1vw,20px);
  line-height:1.45;
  color:#fff;
  margin:0;
  max-width:520px;
}

.fresques-left__bottom{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding-top:30px;
}

.fresques-left__bottom img{
  width:100px;
  height:auto;
  display:block;
}

/* =========================================================
   COLONNE DROITE
   ========================================================= */

.fresques-right{
  background:#fff;
  min-width:0;
  min-height:0;
}

.fresques-grid{
  display:grid;
  grid-template-columns:0.8fr 0.5fr 0.5fr 1.2fr;
  grid-template-rows:1.2fr 0.8fr 1fr 1.2fr;
  gap:10px;
  height:100%;
  min-width:0;
  min-height:0;
}

/* cartes */
.fresques-card{
  position:relative;
  overflow:hidden;
  background:#ddd;
  min-width:0;
  min-height:0;
}

.fresques-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease, filter .6s ease;
}

.fresques-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.06), rgba(0,0,0,0));
  pointer-events:none;
}

.fresques-card:hover img{
  transform:scale(1.03);
  filter:contrast(1.03) saturate(1.03);
}

/* =========================================================
   ZONES
   ========================================================= */

.fresques-fruit{
  grid-column:1;
  grid-row:1 / span 3;
}

.fresques-tech-1{
  grid-column:2 / span 2;
  grid-row:1;
}

.fresques-tech-2{
  grid-column:2 / span 2;
  grid-row:2;
}

.fresques-tech-3{
  grid-column:2 / span 2;
  grid-row:3;
}

.fresques-plate{
  grid-column:4;
  grid-row:1 / span 3;
}

/* =========================================================
   LIGNE DU BAS
   ========================================================= */

.fresques-bottom{
  grid-column:1 / span 4;
  grid-row:4;
  display:grid;
  grid-template-columns:45.5% 53.7%;
  gap:10px;
  min-width:0;
  min-height:0;
}

.fresques-chefs{
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:0;
}

.fresques-chefs img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center -1%;
  display:block;
}

.fresques-signature{
  background:var(--fresques-brown);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:38px 44px;
  min-width:0;
  min-height:0;
}

.fresques-signature__text{
  max-width:350px;
  text-align:center;
  margin:0 auto;
}

/* =========================================================
   CITATION – APPARITION AU CHARGEMENT
   ========================================================= */

.fresques-signature__text blockquote{
  margin:0;
  padding:0;
  position:relative;
  font-family:"Playfair Display", serif;
  font-style:italic;
 font-size: clamp(20px, 1.4vw, 28px);
  line-height:1.5;
  color:#fff;
  text-align:center;
  border:none;
  text-decoration:none;
}

.fresques-signature__text blockquote.quote-hidden{
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
}

.fresques-signature__text blockquote.quote-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:
    opacity 2.4s ease,
    transform 2.4s ease;
}
.fresques-signature__text blockquote::before{
  content:"“";
  position:absolute;
  left:-26px;
  top:-18px;
  font-size:52px;
  line-height:1;
  opacity:.18;
}

.fresques-signature__text blockquote::after{
  content:"”";
  position:absolute;
  right:-26px;
  bottom:-26px;
  font-size:52px;
  line-height:1;
  opacity:.18;
}

/* =========================================================
   EFFETS LÉGERS
   ========================================================= */

.fresques-grid:hover .fresques-card{
  opacity:.8;
  transition:opacity .4s ease;
}

.fresques-grid .fresques-card:hover{
  opacity:1;
}

.fresques-fruit{ filter:brightness(1.05); }
.fresques-tech-1,
.fresques-tech-2,
.fresques-tech-3{ filter:contrast(1.05); }
.fresques-plate{ filter:contrast(1.1); }

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* <= 1390px */
@media (max-width:1390px){
  :root{
    --hero-height: 80vh;
  }

  .fresques-layout{
    grid-template-columns:33% 1fr;
    gap:10px;
  }

  .fresques-grid{
    grid-template-columns:1.05fr 0.95fr 0.7fr 1.05fr;
    grid-template-rows:1fr 1fr 1fr 0.88fr;
  }

  .fresques-bottom{
    grid-template-columns:43% 57%;
  }

  .fresques-signature{
    padding:34px 38px;
  }
}

/* <= 1100px */
@media (max-width:1100px){
  :root{
    --hero-height:auto;
  }

  .my1{
    height:auto;
  }

  .fresques-hero{
    height:auto;
  }

  .fresques-layout{
    grid-template-columns:1fr;
    height:auto;
    gap:10px;
  }

  /* colonne gauche centrée */
  .fresques-left{
    justify-content:center;
    text-align:center;
  }

  .fresques-left__inner{
    align-items:center;
  }

  .fresques-left__top{
    margin-top:0;
  }

  .fresques-title,
  .fresques-kicker,
  .fresques-text{
    text-align:center;
  }

  .fresques-text{
    margin-left:auto;
    margin-right:auto;
  }

  .fresques-rule{
    margin-left:auto;
    margin-right:auto;
  }

  /* grille droite simplifiée */
  .fresques-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 260px 320px 220px;
    gap:10px;
    height:auto;
  }

  .fresques-fruit{
    grid-column:1;
    grid-row:1 / span 2;
  }

  .fresques-tech-1{
    grid-column:2;
    grid-row:1;
  }

  .fresques-tech-2{
    grid-column:2;
    grid-row:2;
  }

  .fresques-tech-3{
    display:none;
  }

  .fresques-plate{
    grid-column:1 / span 2;
    grid-row:3;
  }

  .fresques-bottom{
    grid-column:1 / span 2;
    grid-row:4;
    grid-template-columns:40% 60%;
    min-height:220px;
  }
}

@media (max-width:700px){
  .my1{
    height:auto;
  }

  .fresques-hero{
    height:auto;
  }

  .fresques-layout{
    grid-template-columns:1fr;
    height:auto;
    gap:10px;
  }

  .fresques-left{
    justify-content:center;
    text-align:center;
  }

  .fresques-left__inner{
    align-items:center;
  }

  .fresques-left__top{
    margin-top:0;
  }

  .fresques-title,
  .fresques-kicker,
  .fresques-text{
    text-align:center;
  }

  .fresques-text{
    margin-left:auto;
    margin-right:auto;
  }

  .fresques-rule{
    margin-left:auto;
    margin-right:auto;
  }

  /* on garde la logique tablette */
  .fresques-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:220px 220px 260px 180px;
    gap:10px;
    height:auto;
  }

  .fresques-fruit{
    grid-column:1;
    grid-row:1 / span 2;
  }

  .fresques-tech-1{
    grid-column:2;
    grid-row:1;
  }

  .fresques-tech-2{
    grid-column:2;
    grid-row:2;
  }

  .fresques-tech-3{
    display:none;
  }

  .fresques-plate{
    grid-column:1 / span 2;
    grid-row:3;
  }

  .fresques-bottom{
    grid-column:1 / span 2;
    grid-row:4;
    grid-template-columns:38% 62%;
    min-height:180px;
  }

  .fresques-chefs{
    height:auto;
  }

  .fresques-signature{
    padding:26px 20px;
    min-height:180px;
  }

  .fresques-signature__text{
    max-width:none;
  }

  .fresques-signature__text blockquote{
    font-size: clamp(18px, 4vw, 22px);
  }
}


.mywheight {font-weight: 600;}

.nav-holder-wrap {
  background: #a7845c !important;

}