/* Portraits des villages et communes du Val-de-Travers - édition 2026 */
.village-portrait{--vp-forest:#224637;--vp-ochre:#976c4c;--vp-line:#c5d3c6;--vp-muted:#566e5f;background:#faf9f4;overflow-wrap:anywhere}
.village-portrait h1,.village-portrait h2,.village-portrait h3{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.village-portrait a{text-underline-offset:4px}
.vp-header{background:#e7eee5;padding:38px 0 61px}
.vp-header .breadcrumb{margin-bottom:53px}
.vp-header .section-kicker{color:var(--vp-ochre)}
.vp-header h1{font-size:clamp(51px,7.5vw,102px);line-height:1.03;margin:14px 0 24px;color:#234733}
.vp-tagline{font:400 clamp(21px,2.5vw,29px)/1.42 var(--serif);color:#3b5e47;max-width:830px;margin:0 0 18px}
.vp-status{color:#6b746a;font-size:13px;margin:0}
.vp-header + .ed-photo-banner{margin-top:0;margin-bottom:0}
.vp-photo-missing{padding:22px 0 20px;color:#5c7364;font-size:13px;font-style:italic;border-bottom:1px solid var(--vp-line)}
.vp-section-nav{background:#edf2e9;border-block:1px solid var(--vp-line)}
.vp-section-nav>.wrap{display:flex;align-items:center;gap:clamp(17px,3vw,45px);flex-wrap:wrap}
.vp-section-nav a{display:block;text-decoration:none;padding:19px 0;border-bottom:2px solid transparent;font-size:13px;font-weight:720;color:#335843}
.vp-section-nav a:hover,.vp-section-nav a:focus-visible{border-bottom-color:#39614b}
.vp-content{display:grid;grid-template-columns:minmax(175px,.25fr) minmax(0,.75fr);gap:clamp(40px,7vw,106px);padding-top:70px;padding-bottom:90px}
.vp-side{align-self:start;border-top:2px solid #97af9c;padding-top:18px}
.vp-overline{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:760;color:var(--vp-ochre);margin:0 0 20px}
.vp-side>p:not(.vp-overline){font-size:13px;color:var(--vp-muted);line-height:1.8}
.vp-side>a{display:block;padding:13px 0;border-top:1px solid var(--vp-line);font-size:13px;text-decoration:none;color:#315941;font-weight:650}
.vp-side>a:hover{color:#956548}
.vp-article{max-width:810px}
.vp-section{border-top:1px solid var(--vp-line);padding:33px 0 47px;scroll-margin-top:20px}
.vp-section:first-child{border-top:0;padding-top:0}
.vp-section h2{font-size:clamp(34px,4vw,51px);line-height:1.15;color:#264b39;margin:0 0 25px}
.vp-section p:not(.vp-overline){color:var(--vp-muted);font-size:16px;line-height:1.87;margin:0 0 20px}
.vp-article>.ed-photo-story{margin:4px 0 48px}
.vp-article>.ed-photo-story img{aspect-ratio:1.8/1}
.vp-deeper{display:flex;flex-wrap:wrap;gap:14px 25px;margin-top:28px}
.vp-deeper a{font-size:13px;font-weight:750;color:var(--vp-forest)}
.vp-directory{background:#edf1e8;padding:80px 0 93px}
.vp-directory-top{display:grid;grid-template-columns:1.05fr .6fr;gap:clamp(35px,8vw,110px);align-items:end;margin-bottom:38px}
.vp-directory h2{font-size:clamp(37px,4.2vw,57px);line-height:1.13;color:#284837;margin:10px 0 0}
.vp-directory-top>p{font-size:13px;color:var(--vp-muted);line-height:1.8;margin:0 0 4px}
.vp-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 31px}
.vp-place{display:flex;flex-direction:column;gap:6px;border-top:1px solid #becfbd;padding:20px 20px 24px 0;color:var(--vp-forest);text-decoration:none;position:relative}
.vp-place:hover{background:#e1ebe0}
.vp-place-kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#836f57;font-weight:700}
.vp-place strong{font:400 clamp(22px,2.4vw,30px)/1.3 var(--serif)}
.vp-place-description{font-size:13px;line-height:1.7;color:#5c7061;margin-top:6px}
.vp-place-arrow{position:absolute;right:6px;top:26px;font-size:17px}
.vp-all{margin-top:27px}
.vp-all a{display:inline-block;color:var(--vp-forest);font-size:14px;font-weight:750}
.vp-documents{padding-top:74px;padding-bottom:79px}
.vp-documents h2{font-size:clamp(31px,3.7vw,44px);margin-bottom:22px;color:#315341}
.vp-documents>p:not(.vp-overline){font-size:14px;color:#63766b;max-width:820px;line-height:1.75}
.vp-documents ul{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;list-style:none;margin:26px 0;padding:0}
.vp-documents li{border-top:1px solid var(--vp-line);padding:12px 0;font-size:13px}
.vp-documents li a{color:#2b5943}
.vp-documents .vp-date{font-size:11px}
.vp-more{background:#e5ede2;padding:68px 0 78px}
.vp-more h2{font-size:clamp(35px,4vw,49px);margin-bottom:27px;color:#274835}
.vp-neighbors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 25px}
.vp-neighbors a{border-top:1px solid #b7c9b7;padding:16px 0;color:#2d5540;text-decoration:none;font-size:14px;font-weight:650;display:flex;justify-content:space-between;gap:10px}
.vp-neighbors a:hover{color:var(--vp-ochre)}
.vp-return{display:inline-block;margin-top:28px;font-size:13px;font-weight:750;color:#285139}
.vp-index-intro{padding-top:47px;color:#5d7365;font-size:15px;line-height:1.7;max-width:800px}
.vp-index-section{padding:30px 0 55px}
.vp-index-heading{border-bottom:1px solid var(--vp-line);margin-bottom:24px;padding-bottom:19px}
.vp-index-heading h2{font-size:clamp(36px,4vw,52px);margin:0 0 10px}
.vp-index-heading p{font-size:14px;line-height:1.7;color:#5c7363;margin:0}
.vp-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:33px 25px}
.vp-index-card{display:block;text-decoration:none;border-top:1px solid #bed0c0;padding-top:15px;min-width:0}
.vp-index-card .ed-photo-thumb{margin-bottom:15px}
.vp-index-card .ed-photo-thumb img{aspect-ratio:1.7/1}
.vp-index-card strong{font:400 clamp(24px,2.55vw,32px)/1.16 var(--serif);display:block;letter-spacing:-.03em;color:#2b503b;margin-bottom:6px}
.vp-index-card:hover strong{color:#9b6548}
.vp-index-card>span:last-child{font-size:12px;color:#687b6a}
@media(max-width:850px){.vp-content{gap:32px}.vp-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vp-neighbors{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 .vp-header{padding:30px 0 43px}.vp-header .breadcrumb{margin-bottom:31px}.vp-header h1{font-size:clamp(47px,12vw,73px);margin-bottom:15px}
 .vp-tagline{font-size:20px}.vp-section-nav>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}
 .vp-section-nav a{font-size:12px;padding:14px 0}.vp-content{display:block;padding-top:48px;padding-bottom:46px}
 .vp-side{margin-bottom:45px}.vp-side>a{display:inline-block;margin-right:18px}
 .vp-section{padding:28px 0 36px}.vp-section h2{font-size:37px}.vp-section p:not(.vp-overline){font-size:15px;line-height:1.8}
 .vp-directory{padding:57px 0 65px}.vp-directory-top{display:block}.vp-directory-top>p{margin-top:23px}
 .vp-places{grid-template-columns:1fr}.vp-documents{padding:51px 0}.vp-documents ul{grid-template-columns:1fr}
 .vp-more{padding:45px 0 53px}.vp-neighbors{grid-template-columns:1fr 1fr;gap:4px 17px}
 .vp-index-intro{padding-top:34px}.vp-index-section{padding:22px 0 40px}
 .vp-index-grid{gap:23px 13px}.vp-index-card strong{font-size:24px}.vp-index-card>span:last-child{font-size:11px}
}
@media(max-width:390px){.vp-section-nav>.wrap{grid-template-columns:1fr 1fr}.vp-index-grid,.vp-neighbors{grid-template-columns:1fr}.vp-index-card .ed-photo-thumb img{aspect-ratio:1.95/1}}


/* Portrait du producteur local, distinct de l’illustration géographique */
.vp-producer{border-top:1px solid #bacabc;background:#fffdf7;padding:49px 0 55px}
.vp-producer-layout{display:grid;grid-template-columns:minmax(160px,.25fr) minmax(0,.75fr);gap:clamp(25px,6vw,75px);align-items:center}
.vp-producer-brand{max-width:240px}
.vp-producer-brand>a{display:block;background:#fff;border:1px solid #e5e6df}
.vp-producer-brand img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.vp-producer-brand p{font:400 10px/1.7 system-ui,sans-serif;color:#6c776d;margin:9px 0 0}
.vp-producer-brand p a{color:#41644a}
.vp-producer h2{font:400 clamp(33px,4vw,52px)/1.13 var(--serif);color:#244735;margin:0 0 19px}
.vp-producer p:not(.vp-overline){color:#5a7061;font-size:15px;line-height:1.8}
.vp-producer-address{font-weight:650}
.vp-producer-link{font-size:13px;font-weight:760;color:#315c42;display:inline-block;margin-top:7px}
@media(max-width:700px){.vp-producer{padding:35px 0 45px}.vp-producer-layout{grid-template-columns:1fr;gap:23px}.vp-producer-brand{max-width:165px}.vp-producer h2{font-size:37px}}
