/* =========================================================
   LE VERGER DES DOUCEURS — Site one-page provisoire
   Palette et typographies reprises de la maquette homepage
   ========================================================= */

:root{
  --bg: #FBF9F1;
  --bg-alt: #F2EEDD;
  --green: #5AB144;
  --green-dark: #3C7A2F;
  --green-deep: #26402A;
  --green-soft: #E7F0E0;
  --yellow: #FBD25F;
  --yellow-soft: #FEF2CE;
  --ink: #2B2A22;
  --ink-soft: #6C6A58;
  --radius-lg: 28px;
  --radius-md: 18px;
  --shadow: 0 18px 40px -18px rgba(38,64,42,0.25);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Work Sans', sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--green-deep);
  line-height:1.15;
  letter-spacing:-0.01em;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

.eyebrow{
  font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--green-dark); display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--yellow); display:inline-block; border-radius:2px;}
.eyebrow.on-dark{color:var(--yellow);}

/* --- Cadres photo (remplacer les IMG_XX.jpg par vos photos) --- */
.photo-frame{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow); background:var(--green-soft);
}
.photo-frame img{width:100%; height:100%; object-fit:cover; display:block;}

/* --- Boutons --- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; border-radius:999px; font-weight:600; font-size:14.5px;
  transition:transform .15s ease; white-space:nowrap;
}
.btn-primary{background:var(--green); color:#fff; box-shadow:0 10px 24px -10px rgba(90,177,68,.55);}
.btn-primary:hover{transform:translateY(-2px);}
.btn-outline{border:1.5px solid var(--green-deep); color:var(--green-deep);}
.btn-outline:hover{background:var(--green-deep); color:#fff;}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.7); color:#fff;}
.btn-outline-light:hover{background:#fff; color:var(--green-deep);}

/* --- Header --- */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(251,249,241,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(38,64,42,.08);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1180px; margin:0 auto;}
.logo{font-family:'Fraunces', serif; font-weight:600; font-size:22px; color:var(--green-deep); display:flex; align-items:center; gap:8px;}
.logo svg{width:26px; height:26px; color:var(--green);}
.nav-links{display:flex; align-items:center; gap:30px; font-size:14.5px; font-weight:500;}
.nav-links a:hover{color:var(--green-dark);}

/* --- Bandeau "site provisoire" --- */
.notice-bar{
  background:var(--green-deep); color:var(--yellow-soft);
  text-align:center; font-size:13.5px; padding:9px 16px;
}

/* --- Hero plein largeur --- */
.hero{position:relative; min-height:80vh; display:flex; align-items:flex-end; overflow:hidden; color:#fff;}
.hero-bg{position:absolute; inset:0; background-image:url('IMG_01.jpg'); background-size:cover; background-position:center; background-color:var(--green-deep);}
.hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,26,17,.05) 0%, rgba(15,26,17,.22) 45%, rgba(11,20,13,.82) 100%);}
.hero-content{position:relative; z-index:2; max-width:1180px; margin:0 auto; width:100%; padding:0 32px 80px;}
.badge-cap{display:inline-flex; align-items:center; gap:8px; background:var(--yellow-soft); color:var(--green-deep); border-radius:999px; padding:8px 16px; font-size:13.5px; font-weight:600; margin-bottom:22px;}
.badge-cap svg{width:16px; height:16px;}
.hero h1{font-size:clamp(32px,4.6vw,54px); margin-bottom:18px; color:#fff;}
.hero p.lead{font-size:17.5px; color:#E6E9DA; max-width:520px; margin-bottom:30px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

/* --- Ligne de crête (séparateur signature) --- */
.ridge-wrap{line-height:0; margin-top:-1px;}
.ridge{display:block; width:100%;}

/* --- Sections génériques --- */
section{padding:88px 0;}
.section-alt{background:var(--bg-alt);}
.center-head{text-align:center; max-width:620px; margin:0 auto 46px;}
.center-head .eyebrow{justify-content:center;}

.two-col{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.two-col.reverse .col-text{order:2;} .two-col.reverse .col-media{order:1;}
.col-text h2{font-size:clamp(26px,3vw,36px); margin-bottom:16px;}
.col-text p{color:var(--ink-soft); font-size:16px; margin-bottom:18px; max-width:500px;}

.facts{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:26px 0 8px;}
.fact{display:flex; gap:12px; background:var(--green-soft); border-radius:var(--radius-md); padding:16px 18px;}
.fact svg{width:22px; height:22px; color:var(--green-dark); flex-shrink:0; margin-top:2px;}
.fact strong{display:block; font-size:14.5px; color:var(--green-deep);}
.fact span{font-size:13px; color:var(--ink-soft);}

/* --- Section sombre (Qui sommes-nous) --- */
.section-dark{background:var(--green-deep); color:#F3EFDD;}
.section-dark h2{color:#fff;}
.section-dark p{color:#D9E3D2;}
.section-dark .photo-frame{background:#213A27;}
.quote-mark{font-family:'Fraunces', serif; font-size:58px; line-height:1; color:var(--yellow); opacity:.7; display:block; margin-bottom:4px;}
.signature{font-family:'Fraunces', serif; font-style:italic; font-size:15.5px; color:var(--yellow); margin-top:16px;}

/* --- Cartes Groupes --- */
.cards2{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:8px;}
.card{background:#fff; border-radius:var(--radius-lg); padding:34px 30px; box-shadow:var(--shadow); border:1px solid rgba(38,64,42,.06);}
.card.accent{background:var(--yellow-soft); border-color:transparent;}
.card .icon-wrap{width:50px; height:50px; border-radius:14px; background:var(--green-soft); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.card.accent .icon-wrap{background:#fff;}
.card .icon-wrap svg{width:24px; height:24px; color:var(--green-dark);}
.card h3{font-size:20px; margin-bottom:10px;}
.card p{color:var(--ink-soft); font-size:15px; margin-bottom:6px;}
.card ul{margin:10px 0 0 18px; color:var(--ink-soft); font-size:14.5px;}
.card ul li{margin-bottom:5px;}

/* --- Tourisme --- */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.tour-card .photo-frame{min-height:180px; margin-bottom:16px;}
.tour-card h4{font-size:18px; margin-bottom:6px;}
.tour-card p{font-size:14.5px; color:var(--ink-soft);}

/* --- Infos pratiques --- */
.infos-list{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px;}
.info-item{text-align:center; padding:16px 10px;}
.info-item svg{width:28px; height:28px; color:var(--green-dark); margin-bottom:10px;}
.info-item strong{display:block; font-size:14.5px; margin-bottom:4px;}
.info-item span{font-size:13px; color:var(--ink-soft);}

/* --- Contact --- */
.final-cta{background:var(--green-deep); color:#fff; border-radius:var(--radius-lg); padding:60px 52px; text-align:center;}
.final-cta h2{color:#fff; font-size:clamp(24px,3.2vw,34px); margin-bottom:12px;}
.final-cta p{color:#D9E3D2; max-width:520px; margin:0 auto 30px;}
.contact-details{display:flex; gap:34px; justify-content:center; flex-wrap:wrap; margin-bottom:30px;}
.contact-item{display:flex; align-items:center; gap:10px; font-size:15px; color:#F3EFDD;}
.contact-item svg{width:19px; height:19px; color:var(--yellow); flex-shrink:0;}

/* --- Footer --- */
footer{background:#1E3123; color:#B9C4AF; padding:50px 0 26px; font-size:13.5px;}
.foot-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; flex-wrap:wrap; gap:16px;}
.foot-logo{font-family:'Fraunces', serif; font-weight:600; font-size:19px; color:#fff;}
.foot-nav{display:flex; gap:22px; flex-wrap:wrap;}
.foot-nav a:hover{color:var(--yellow);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1); padding-top:20px; display:flex; justify-content:space-between; font-size:12px; color:#8A967F; flex-wrap:wrap; gap:10px;}

/* --- Responsive --- */
@media(max-width:900px){
  .nav-links{display:none;}
  .two-col{grid-template-columns:1fr; gap:32px;}
  .two-col.reverse .col-text{order:1;} .two-col.reverse .col-media{order:2;}
  .cards2{grid-template-columns:1fr;}
  .grid3{grid-template-columns:1fr;}
  .infos-list{grid-template-columns:repeat(2,1fr);}
  .final-cta{padding:44px 22px;}
  .foot-top{flex-direction:column; align-items:flex-start;}
}
