/* Parcours du Vallon — prototype isole, 2026-10-14 */
.parcours-page{overflow:hidden}
.parcours-hero{background:#e5ebe1;border-bottom:1px solid #cfdbd0;padding:42px 0 24px}
.parcours-hero .breadcrumb{margin-bottom:42px}
.parcours-hero-main{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:60px;align-items:center}
.parcours-hero h1{font:400 clamp(48px,6.3vw,88px)/1.035 var(--serif);letter-spacing:-.056em;margin:16px 0 26px;max-width:1000px}
.parcours-hero h1 em,.parcours-branch-intro h2 em,.parcours-bottom h2 em{color:var(--copper);font-style:italic}
.parcours-hero-main p{font-size:17px;color:#526c5d;max-width:730px;line-height:1.78;margin:0 0 42px}
.parcours-hero-footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #becfc0;padding-top:19px;color:#667c6e;font-size:12px}
.parcours-hero-footer strong{font:400 24px var(--serif);color:#254b39;margin-right:5px}
.parcours-hero-mark{height:160px;width:160px;position:relative;opacity:.8}
.parcours-mark-route{position:absolute;top:73px;left:4px;right:9px;height:3px;border-radius:2px;background:#47745b;transform:rotate(-22deg)}
.parcours-mark-dot{position:absolute;width:14px;height:14px;border:3px solid #47745b;background:#e5ebe1;border-radius:50%}
.parcours-mark-dot.a{top:91px;left:12px}.parcours-mark-dot.b{top:67px;left:70px}.parcours-mark-dot.c{top:44px;left:130px}
.parcours-mark-spur{position:absolute;width:3px;height:62px;background:#b28e70;top:76px;left:77px;transform:rotate(-24deg);transform-origin:top}
.parcours-mark-dot.d{top:131px;left:90px;border-color:#b28e70}
.parcours-main-section{padding-top:76px;padding-bottom:60px}
.parcours-section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}
.parcours-section-heading h2{font:400 clamp(37px,4.1vw,53px)/1.13 var(--serif);letter-spacing:-.045em;margin:10px 0 16px}
.parcours-section-heading p{max-width:625px;color:#5b7164;font-size:15px;line-height:1.72;margin:0}
.parcours-filter{display:flex;flex-wrap:wrap;gap:5px;background:#ebefe7;padding:5px;border:1px solid #d4dfd2;align-self:end;flex:0 0 auto}
.parcours-filter button{font:600 12px/1.3 var(--sans);color:#476251;border:0;background:transparent;padding:11px 13px;cursor:pointer;border-radius:2px}
.parcours-filter button[aria-pressed="true"]{background:#244f3b;color:#fff}
.parcours-filter button:focus-visible,.parcours-axis-scroll:focus-visible,.parcours-page a:focus-visible{outline:3px solid #b77d4f;outline-offset:3px}
.parcours-scroll-notice{font-size:11px;letter-spacing:.025em;color:#607365;margin-bottom:14px;text-align:right}
.parcours-scroll-notice span{font-size:21px;margin-left:7px}
.parcours-axis-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#8ba995 #edf0e8;scrollbar-width:thin;padding:0 0 24px}
.parcours-axis-grid{display:grid;grid-template-columns:repeat(5,minmax(205px,1fr));column-gap:14px;position:relative;min-width:1120px;padding:0 5px}
.parcours-axis-grid:before{content:"";position:absolute;top:284px;left:5px;right:5px;height:3px;background:linear-gradient(90deg,#67947a,#2d654c);z-index:0}
.parcours-stop{min-width:0}
.parcours-stop-services{height:266px;min-width:0;display:flex;flex-direction:column;gap:7px}
.parcours-service-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid #d7dfd6;padding:0 0 12px;margin-bottom:3px}
.parcours-service-head>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#53715d;font-weight:730}
.parcours-service-head small{font-size:11px;color:#788b7c;white-space:nowrap}
.parcours-samples{display:flex;flex-direction:column;gap:7px}
.parcours-business{position:relative;text-decoration:none;display:flex;flex-direction:column;gap:4px;min-height:64px;padding:10px 24px 9px 12px;background:#eef1e9;border:1px solid #d9e3d7;border-left:3px solid #83aa91;transition:background .16s,border-color .16s}
.parcours-business:hover{background:#fff;border-color:#91b59b}
.parcours-business-kind{font-size:10px;line-height:1.1;color:#6f8175;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.parcours-business strong{font:600 13px/1.32 var(--sans);color:#274d3a;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.parcours-business-arrow{position:absolute;right:9px;top:25px;color:#a06f4a}
.parcours-no-sample,.parcours-filter-empty{font-size:12px;color:#77877a;line-height:1.5}
.parcours-stop-node{position:relative;margin-top:0;padding:42px 8px 0 2px;min-height:129px}
.parcours-stop-circle{position:absolute;top:11px;left:10px;height:18px;width:18px;border:4px solid #2b674a;background:#f7f5ef;border-radius:50%;z-index:1;box-shadow:0 0 0 4px #f7f5ef}
.parcours-stop-name{font:400 clamp(24px,2.5vw,33px)/1.12 var(--serif);letter-spacing:-.04em;text-decoration:none;display:block;color:#1d4934;margin-bottom:9px}
.parcours-stop-name:hover{text-decoration:underline;text-underline-offset:5px}
.parcours-stop-total{display:block;color:#778a7b;font-size:12px;margin-bottom:9px}
.parcours-all{font-size:12px;color:#355e47;text-underline-offset:4px;font-weight:700}
.parcours-axis-footnote{font-size:12px;color:#77877a;line-height:1.75;margin:17px 0 0;max-width:920px}
.parcours-branches-section{background:#e9ede5;padding:84px 0 96px;border-top:1px solid #d6dfd4;border-bottom:1px solid #d6dfd4}
.parcours-branch-intro{max-width:780px;margin-bottom:47px}
.parcours-branch-intro h2{font:400 clamp(42px,5vw,64px)/1.1 var(--serif);letter-spacing:-.05em;margin:15px 0 23px}
.parcours-branch-intro p{font-size:15px;line-height:1.8;color:#597363;max-width:760px}
.parcours-branch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.parcours-branch{position:relative;border-top:3px solid #759581;padding:0 0 15px;min-width:0}
.parcours-branch-cap{padding:28px 0 22px;position:relative;min-height:122px}
.parcours-branch-connector{position:absolute;top:-14px;left:19px;width:2px;height:29px;background:#759581}
.parcours-branch-connector:after{position:absolute;content:"";height:9px;width:9px;border-radius:50%;background:#476d54;left:-4px;bottom:-3px}
.parcours-branch-cap h3{font:400 28px/1.2 var(--serif);letter-spacing:-.035em;margin:0 0 9px}
.parcours-branch-cap p{font-size:12px;line-height:1.5;color:#728778;margin:0}
.parcours-branch-towns{display:flex;flex-direction:column;gap:10px}
.parcours-branch-town{background:#f8f8f3;border:1px solid #d7e0d6;padding:15px 15px 13px}
.parcours-branch-town-top{display:flex;justify-content:space-between;align-items:baseline;gap:7px;border-bottom:1px solid #e1e8df;padding-bottom:10px;margin-bottom:10px}
.parcours-branch-town-top a{font:400 19px/1.25 var(--serif);color:#264d37;text-decoration:none}
.parcours-branch-town-top a:hover{text-decoration:underline}
.parcours-branch-town-top a span{font:14px var(--sans);color:#a4734d}
.parcours-branch-town-top>span{white-space:nowrap;font-size:10px;color:#789080}
.parcours-branch-businesses{display:flex;flex-direction:column;gap:10px}
.parcours-business-mini{text-decoration:none;color:#3d5d49;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #e8ede6;padding-bottom:8px}
.parcours-business-mini:hover strong{text-decoration:underline;text-underline-offset:3px}
.parcours-business-mini strong{font-size:12px;line-height:1.3}
.parcours-business-mini small{font-size:10px;color:#819186}
.parcours-empty-town{font-size:11px;color:#819186}
.parcours-bottom{display:grid;grid-template-columns:1.1fr .7fr;gap:85px;padding-top:92px;padding-bottom:110px}
.parcours-bottom h2{font:400 clamp(37px,4.5vw,57px)/1.12 var(--serif);letter-spacing:-.045em;margin:15px 0}
.parcours-bottom p{font-size:15px;line-height:1.8;color:#597263;margin:0 0 26px}
.parcours-bottom .button-dark{max-width:280px}
.parcours-page [hidden]{display:none!important}
@media(max-width:1050px){.parcours-section-heading{display:block}.parcours-filter{display:inline-flex;margin-top:20px}.parcours-branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parcours-bottom{gap:35px}}
@media(max-width:680px){
 .parcours-hero{padding:26px 0 21px}.parcours-hero .breadcrumb{margin-bottom:25px}.parcours-hero-main{display:block}.parcours-hero h1{font-size:clamp(45px,11vw,62px)}.parcours-hero-main p{font-size:15px;margin-bottom:27px}.parcours-hero-mark{display:none}.parcours-hero-footer{display:block}.parcours-hero-footer span{display:block;margin:5px 0}.parcours-main-section{padding-top:47px;padding-bottom:42px}.parcours-section-heading{margin-bottom:33px}.parcours-section-heading h2{font-size:39px}.parcours-filter{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:3px}.parcours-filter button{padding:12px 5px}.parcours-filter button:first-child{grid-column:1/-1}.parcours-scroll-notice{display:none}
 .parcours-axis-scroll{overflow:visible;outline:0;padding:0}.parcours-axis-grid{display:block;min-width:0;padding:0 0 0 2px}.parcours-axis-grid:before{left:19px;top:0;bottom:12px;width:3px;height:auto;right:auto}.parcours-stop{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;position:relative;margin-bottom:24px}.parcours-stop-services{grid-column:2;grid-row:1;height:auto;min-height:0;padding-top:4px}.parcours-stop-node{grid-column:1;grid-row:1;margin:0;padding:43px 3px 0 3px;min-height:0}.parcours-stop-circle{top:6px;left:10px}.parcours-stop-name{font-size:22px;overflow-wrap:anywhere}.parcours-stop-total{font-size:11px}.parcours-all{font-size:11px}.parcours-business{min-height:65px}.parcours-service-head{display:block}.parcours-service-head small{display:block;margin-top:5px}.parcours-axis-footnote{margin-top:0}
 .parcours-branches-section{padding:55px 0 66px}.parcours-branch-intro h2{font-size:44px}.parcours-branch-grid{grid-template-columns:1fr;gap:25px}.parcours-branch-cap{min-height:0;padding:26px 0 18px}.parcours-branch-towns{gap:8px}.parcours-bottom{grid-template-columns:1fr;padding-top:62px;padding-bottom:73px}.parcours-bottom h2{font-size:43px}
}
@media(prefers-reduced-motion:reduce){.parcours-business{transition:none}}

/* Ajustement QA mobile : les noms sont a droite du fil, jamais traverses. */
@media(max-width:680px){
  .parcours-axis-grid:before{left:13px;top:6px;bottom:15px}
  .parcours-stop{display:flex;flex-direction:column;gap:0;padding-left:44px;margin-bottom:34px}
  .parcours-stop-node{order:0;display:block;padding:0 0 14px;min-height:0;margin:0}
  .parcours-stop-circle{top:7px;left:-39px}
  .parcours-stop-name{font-size:26px;overflow-wrap:normal;margin-bottom:3px}
  .parcours-stop-total{display:inline;font-size:11px;margin-right:12px}
  .parcours-all{display:inline;font-size:11px}
  .parcours-stop-services{order:1;display:flex;min-height:0;height:auto;padding:0}
  .parcours-service-head{display:flex;align-items:baseline;flex-wrap:wrap}
  .parcours-service-head small{display:inline;margin:0}
}

/* Parcours V2 : bifurcations rattachees aux etapes du fil principal. */
.parcours-filter-panel{display:flex;flex-direction:column;gap:7px}
.parcours-branch-businesses .parcours-filter-panel{gap:10px}
.parcours-stop-spurs{position:relative;border-left:2px solid #b28e70;margin:12px 0 0 11px;padding:8px 3px 15px 15px;min-height:64px}
.parcours-stop-spurs:before{content:"";position:absolute;top:0;left:-2px;width:14px;height:2px;background:#b28e70}
.parcours-spur-heading{display:block;font-size:10px;line-height:1.3;letter-spacing:.1em;font-weight:750;color:#9e7659;text-transform:uppercase;margin:2px 0 10px}
.parcours-spur-link{display:block;color:#365946;font-size:12px;line-height:1.4;margin:9px 0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b8c7b8}
.parcours-spur-link small{font-size:10px;color:#8e7969}
.parcours-spur-link span{color:#a97959}
.parcours-spur-link:hover{color:#a36c50}
.parcours-branch{scroll-margin-top:30px}
.parcours-branch:target{outline:2px solid #a47755;outline-offset:12px}
.parcours-branch-origin{font-size:10px;color:#8d7968;letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block;margin:0 0 9px}
.parcours-branch-cap{min-height:137px}
@media(max-width:680px){
 .parcours-stop-spurs{order:2;margin:7px 0 0 -31px;padding:10px 0 0 43px;min-height:0;border-left:2px solid #ad947a}
 .parcours-stop-spurs:before{width:31px}
 .parcours-spur-heading{margin-bottom:8px}
 .parcours-spur-link{margin:7px 0}
 .parcours-branch-cap{min-height:0}
}

/* Sous-navigation contextuelle : aucune entree supplementaire en en-tete. */
.parcours-local-nav{border-bottom:1px solid #d1dcd0;background:#f6f5ef}
.parcours-local-nav-inner{display:flex;align-items:center;gap:12px 32px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.parcours-local-nav a{font-size:12px;color:#385f49;text-decoration:none;text-underline-offset:4px;font-weight:700}
.parcours-local-nav a:hover{text-decoration:underline}
.parcours-village-profile{display:block;margin-top:9px;font-size:11px;color:#597761;text-decoration:underline;text-underline-offset:3px}
.parcours-community{margin-top:15px;border-top:1px solid #d6e0d3;padding:12px 3px 8px}
.parcours-community summary{cursor:pointer;font-size:12px;line-height:1.4;color:#345b44;font-weight:700}
.parcours-community summary small{color:#7b8b7a;font-size:10px;font-weight:400;margin-left:5px}
.parcours-community[open] summary{margin-bottom:12px}
.parcours-community-body{padding-left:6px}
.parcours-community-body>p{font-size:11px;line-height:1.55;color:#697d6c;margin:0 0 10px}
.parcours-community-entry{display:block;text-decoration:none;margin:0 0 11px;padding-bottom:9px;border-bottom:1px solid #dee6db}
.parcours-community-entry strong{display:block;font-size:11px;color:#315940;line-height:1.4}
.parcours-community-entry small{display:block;font-size:10px;color:#778c7b;margin-top:3px}
.parcours-community-all{display:block;font-size:11px;line-height:1.4;color:#365f49;font-weight:700;text-underline-offset:3px}
.parcours-branch-extras{padding:4px 0 0}
.parcours-branch-extras .parcours-community{border-color:#e5e9e0;margin-top:11px}
.parcours-branch-extras .parcours-village-profile{margin-top:2px}
@media(max-width:680px){
 .parcours-local-nav-inner{display:grid;grid-template-columns:1fr 1fr;gap:14px 11px;padding-top:16px;padding-bottom:16px}
 .parcours-local-nav a{font-size:11px}
 .parcours-stop>.parcours-community{order:3;margin-top:8px}
 .parcours-village-profile{margin-top:8px}
 .parcours-community summary{min-height:34px}
}
