@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#1e241c;--green:#3e5637;--deep:#263526;--cream:#f5f0e6;--sand:#e7ddcb;--white:#fff;--line:#ddd5c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.site-header{height:88px;background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(0,0,0,.07)}.header-inner{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{max-height:58px;width:auto}.brand-mark{width:48px;height:48px;border:1px solid var(--green);display:grid;place-items:center;border-radius:50%;font-family:'Playfair Display';font-weight:700}.brand b{display:block;font-family:'Playfair Display';font-size:21px}.brand small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.main-nav ul{display:flex;list-style:none;gap:28px;padding:0;margin:0}.main-nav a{font-size:14px;font-weight:600}.main-nav a:hover{color:var(--green)}.cart{font-size:13px;font-weight:700}.cart span{background:var(--green);color:white;border-radius:50%;padding:2px 7px}.nav-toggle{display:none;background:none;border:0;font-size:25px}.hero,.page-hero{position:relative;color:white;background:linear-gradient(115deg,#253525,#536849);overflow:hidden}.hero:after,.page-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(255,255,255,.13),transparent 26%),linear-gradient(90deg,rgba(0,0,0,.12),transparent)}.hero{min-height:690px;display:flex;align-items:center}.hero-content,.page-hero .wrap{position:relative;z-index:2}.hero h1,.page-hero h1{font-family:'Playfair Display';font-size:clamp(56px,8vw,104px);line-height:.94;margin:15px 0 25px;letter-spacing:-.04em}.hero .lead{max-width:650px;font-size:18px}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700}.eyebrow.dark{color:var(--green)}.hero-buttons{display:flex;gap:12px;margin-top:35px}.btn{display:inline-flex;padding:15px 22px;background:var(--cream);color:var(--ink);font-weight:700;font-size:13px;border:0;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-light{background:white}.btn.dark{background:var(--deep);color:white}.section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2{font-family:'Playfair Display';font-size:clamp(38px,5vw,62px);line-height:1.04;margin:12px 0 25px;letter-spacing:-.025em}.bigtext{font-size:21px;line-height:1.6}.text-link{display:inline-block;margin-top:15px;font-weight:700;border-bottom:1px solid}.muted{background:var(--cream)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.cards article{background:var(--cream);padding:45px}.cards span,.steps b{font-size:12px;letter-spacing:.15em;color:var(--green)}.cards h3,.steps h3,.market-card h3{font-family:'Playfair Display';font-size:26px}.center{text-align:center}.narrow{max-width:650px;margin:0 auto 28px}.visit{background:var(--deep);color:white;padding:70px 0}.visit-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.visit h2{font-family:'Playfair Display';font-size:46px;line-height:1.05;margin:12px 0}.page-hero{padding:115px 0}.page-hero h1{font-size:clamp(48px,7vw,84px)}.page-hero p:last-child{max-width:650px;font-size:18px}.prose{max-width:980px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.stats div{border-top:1px solid var(--line);padding-top:22px}.stats strong{font-family:'Playfair Display';font-size:45px;display:block;color:var(--green)}.stats span{font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.steps article{background:#fff;padding:32px;min-height:245px}.market-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:45px}.market-card{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:1fr auto;gap:20px}.market-card h3{margin:0}.market-card p{margin:3px 0}.market-card div:last-child{text-align:right}.market-card span{display:block;font-size:13px}#market-map{min-height:620px;background:#eee}.empty-state{background:var(--cream);padding:30px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-info{margin-top:40px;border-top:1px solid var(--line)}.fl-form label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}.fl-form input,.fl-form textarea{width:100%;padding:14px;border:1px solid var(--line);background:#faf9f6;font:inherit}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{padding:15px;margin-bottom:20px}.notice.success{background:#e7f2e4}.notice.error{background:#f8e7e4}.simple-hero,.shop-head{background:var(--cream);padding:75px 0}.simple-hero h1,.shop-head h1{font-family:'Playfair Display';font-size:60px;margin:0}.legal{max-width:850px}.shop-head{background:var(--deep);color:white}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Playfair Display';font-size:21px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--deep)!important;color:#fff!important;border-radius:0!important}.site-footer{background:#171c16;color:#eee;padding-top:70px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid h3{font-family:'Playfair Display';font-size:30px;margin-top:0}.footer-grid h4{font-size:12px;letter-spacing:.15em;text-transform:uppercase}.footer-grid a{display:block;margin:8px 0;color:#d4d8d0}.footer-bottom{border-top:1px solid #343b32;margin-top:50px;padding:20px 0;font-size:12px;color:#aeb5aa}.footer-bottom span{margin:0 8px}@media(max-width:850px){.site-header{height:72px}.brand small{display:none}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:25px}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{padding:9px}.nav-toggle{display:block}.header-actions{display:none}.hero{min-height:600px}.hero h1{font-size:58px}.section{padding:70px 0}.split,.contact-grid,.market-layout{grid-template-columns:1fr;gap:35px}.cards,.steps,.stats{grid-template-columns:1fr}.visit-inner{display:block}.visit .btn{margin-top:20px}#market-map{min-height:420px}.footer-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}

/* V2 - identité Ferme Lafenêtre + photographies d'ambiance */
.brand .default-logo{max-height:64px;width:auto;object-fit:contain}.brand-copy{display:none}
.hero{background-image:linear-gradient(90deg,rgba(16,27,17,.78),rgba(16,27,17,.26)),url('https://images.unsplash.com/photo-1754231984355-7c0e51f9abf0?auto=format&fit=crop&q=86&w=2200');background-size:cover;background-position:center}
.hero:after{background:linear-gradient(90deg,rgba(0,0,0,.20),transparent 70%)}
.photo-story{padding:90px 0;background:#fff}.photo-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px}.photo-main{margin:0;height:560px;overflow:hidden}.photo-main img{width:100%;height:100%;object-fit:cover;display:block}.photo-copy h2{font-family:'Playfair Display';font-size:52px;line-height:1.05;margin:12px 0 25px}.photo-copy p:last-child{font-size:18px}
.market-visual,.markets-photo{height:390px;background-image:linear-gradient(rgba(25,35,24,.18),rgba(25,35,24,.18)),url('https://images.unsplash.com/photo-1775328024007-6f29f8b41a61?auto=format&fit=crop&q=82&w=2000');background-size:cover;background-position:center}
.farm-photo-band{padding:70px 0 0}.farm-photo-band img{width:100%;height:520px;object-fit:cover;display:block}.photo-note{font-size:11px;color:#777;margin-top:8px}.page-hero{background-image:linear-gradient(90deg,rgba(24,39,25,.84),rgba(24,39,25,.48)),url('https://images.unsplash.com/photo-1754231984355-7c0e51f9abf0?auto=format&fit=crop&q=78&w=2000');background-size:cover;background-position:center}
@media(max-width:850px){.brand .default-logo{max-height:52px}.photo-grid{grid-template-columns:1fr;gap:30px}.photo-main{height:380px}.photo-copy h2{font-size:40px}.market-visual,.markets-photo{height:270px}.farm-photo-band img{height:330px}}


/* V2.1 - Contact Form 7 */
.wpcf7-form label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form textarea{width:100%;margin-top:6px;padding:14px;border:1px solid var(--line);background:#faf9f6;font:inherit}.fl-cf7-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wpcf7-form input[type=submit]{display:inline-flex;padding:15px 24px;border:0;border-radius:0;background:var(--deep);color:#fff;font-weight:700;cursor:pointer}.fl-rgpd{font-size:12px}.fl-rgpd a{text-decoration:underline}.fl-plugin-required{padding:20px;background:var(--cream);border-left:4px solid var(--green)}
/* Consentement cookies */
.fl-cookie{position:fixed;inset:0;z-index:999999;background:rgba(12,16,12,.52);display:flex;align-items:flex-end;justify-content:center;padding:24px}.fl-cookie[hidden]{display:none}.fl-cookie-box{width:min(760px,100%);background:#fff;padding:28px;box-shadow:0 18px 70px rgba(0,0,0,.28)}.fl-cookie h2{font-family:'Playfair Display';font-size:28px;margin:0 0 10px}.fl-cookie p{margin:0 0 22px}.fl-cookie-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.fl-cookie button{padding:12px 16px;border:1px solid var(--deep);background:#fff;color:var(--deep);font-weight:700;cursor:pointer}.fl-cookie button.primary{background:var(--deep);color:#fff}.fl-cookie button.secondary{background:var(--cream)}.fl-cookie-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0}.fl-cookie-row strong,.fl-cookie-row small{display:block}.fl-cookie-row small{font-size:12px;color:#666;margin-top:3px}.fl-cookie-row input{width:20px;height:20px}.fl-map-consent{min-height:360px;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:8px}.fl-map-consent button{margin-top:8px;padding:10px 14px;background:var(--deep);color:#fff;border:0;cursor:pointer}#fl-manage-cookies{cursor:pointer}@media(max-width:650px){.fl-cf7-grid{grid-template-columns:1fr}.fl-cookie{padding:12px}.fl-cookie-box{padding:20px}.fl-cookie-actions{justify-content:stretch}.fl-cookie-actions button{flex:1 1 100%}}
