
.ph-repere { position: relative; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 10px 16px; flex-wrap: wrap;
  padding: 14px 24px; background: #F9F7F2; border-top: 1px solid #141312; font: 500 13px/1.35 "Neue Montreal", Inter, system-ui, sans-serif; color: #8A857C;
  scroll-margin-top: var(--barre, 72px); }
.ph-repere > span { max-width: 78em; }
.ph-repere b { color: #141312; font-weight: 600; }
.ph-repere nav { display: flex; gap: 6px 14px; flex-wrap: wrap; }
.ph-repere a { color: #8A857C; text-decoration: underline; text-underline-offset: 3px; }
.ph-repere a:hover, .ph-repere a[aria-current] { color: #FF4107; }
main > .ph-repere:first-child { margin-top: var(--barre, 72px); border-top: 0; }
@media (max-width: 767px) { .ph-repere { padding: 12px var(--gout, 20px); font-size: 12px; } }

.pac-avant { height: 300px; background: var(--fond); }
.pac-avant-note { margin: 0; padding: 26px var(--gout) 0; font: 500 13px/1.35 var(--texte); color: var(--gris); text-align: center; }
.pac-apres { height: 40vh; background: var(--fond); }

.pac-lien { display: inline-block; padding: 14px 0; font-family: var(--texte); font-size: 18px; font-weight: 500; line-height: 1; text-transform: uppercase;
  letter-spacing: 0; color: inherit; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 2px;
  text-underline-offset: 7px; transition: color .25s var(--ease); }
.pac-lien:hover, .pac-lien:focus-visible { color: var(--orange); }

.pac-wf { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--texte); font-size: clamp(14px, 1.05vw, 16px); line-height: 1.5; opacity: .78; }
.pac-wf-w { flex: none; width: 26px; height: 18px; fill: currentColor; }

.pac-alsace { --pac-rouge: #E32119; }
.pac-nw { white-space: nowrap; }
.pac-als { transition: color .7s var(--ease); }
.pac-bz { display: inline-block; width: 0; height: .5em; margin-left: 0; vertical-align: .1em; overflow: visible; }
.pac-bz svg { display: block; width: auto; height: 100%; aspect-ratio: 1445 / 1162; fill: var(--pac-rouge, #E32119); opacity: 0; scale: 0; rotate: -14deg; transform-origin: 30% 70%; }
html.v2-alsace .pac-als { color: var(--pac-rouge, #E32119); }
html.v2-alsace .pac-bz { width: .62em; margin-left: .08em; transition: width .8s cubic-bezier(.7, 0, .2, 1), margin .8s cubic-bezier(.7, 0, .2, 1); }
html.v2-alsace .pac-bz svg { opacity: 1; scale: 1; rotate: -8deg; transition: opacity .4s var(--ease) .25s, scale .9s cubic-bezier(.34, 1.56, .64, 1) .25s, rotate 1.1s cubic-bezier(.34, 1.56, .64, 1) .25s; }

html.js.v2-alsace:not(.v2-final) .pac-alsace:not(.est-vu):not(.est-bz) .pac-bz svg { opacity: 0; scale: 0; rotate: -40deg; }
html.js.v2-alsace:not(.v2-final) .pac-alsace.est-vu .pac-bz svg { transition-delay: .8s; }
html.js.v2-alsace:not(.v2-final) .pac-alsace.est-bz .pac-bz svg { transition-delay: .1s; }

[data-pac-cycle] { position: relative; display: block; }
[data-pac-cycle] > .pac-c { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.pac-cherche { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
.pac-barre { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px; border-radius: 999px; background: #FFFFFF;
  font: 500 16px/1 var(--texte); color: var(--encre); white-space: nowrap; overflow: hidden; box-shadow: 0 10px 30px -14px rgba(20, 19, 18, .35); }
.pac-loupe { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--orange); stroke-width: 2.4; stroke-linecap: round; }
.pac-q { overflow: hidden; text-overflow: clip; }
.pac-car { flex: none; width: 2px; height: 1.1em; margin-left: -6px; background: var(--orange); animation: pac-car 1s steps(1) infinite; }
@keyframes pac-car { 50% { opacity: 0; } }
.pac-res { position: relative; display: block; flex: 1 1 auto; min-height: 0; }
.pac-r { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 8px; opacity: 0; translate: 0 24px; transition: opacity .5s var(--ease), translate .8s var(--ease); }
.pac-r.is-on { opacity: 1; translate: 0 0; }
.pac-r img { display: block; width: 100%; aspect-ratio: 1040 / 650; height: auto; object-fit: cover; border-radius: 12px; box-shadow: 0 18px 40px -22px rgba(20, 19, 18, .55); }
.pac-r b { font: 500 13px/1.3 var(--texte); color: var(--gris); }

.pac-cherche.tape .pac-r.is-on { opacity: .35; translate: 0 6px; }

.pac-fiche { position: absolute; inset: 0; display: block; overflow: hidden; color: var(--encre); }
.pac-plan { position: absolute; inset: 0 0 34% 0; width: 100%; height: 66%; }
.pac-plan-ilot { fill: #EDE8DC; }
.pac-plan-place { fill: rgba(255, 65, 7, .14); }
.pac-plan-rue { fill: none; stroke: #CFC7B6; stroke-width: 7; stroke-linecap: round; }
.js:not(.v2-final) .pac-fiche .pac-plan-rue { stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--ease); }
.js:not(.v2-final) .pac-fiche.joue .pac-plan-rue, .js:not(.v2-final) .pac-fiche.a-joue .pac-plan-rue { stroke-dashoffset: 0; }
.pac-pin { position: absolute; left: 54%; top: 30%; display: flex; flex-direction: column; align-items: center; translate: -50% -100%; }
.pac-pin svg { width: 30px; height: 40px; fill: var(--orange); }
.pac-pin svg circle { fill: #FFFFFF; }
.pac-pin b { margin-top: 4px; padding: 4px 9px; border-radius: 999px; background: var(--encre); font: 600 12px/1 var(--texte); color: var(--fond); }
.js:not(.v2-final) .pac-fiche .pac-pin { opacity: 0; translate: -50% -160%; transition: opacity .3s var(--ease) .5s, translate .9s cubic-bezier(.34, 1.56, .64, 1) .5s; }
.js:not(.v2-final) .pac-fiche.a-joue .pac-pin { opacity: 1; translate: -50% -100%; }
.pac-fiche.joue .pac-pin svg { animation: pac-pin 2.4s var(--ease) 1.4s infinite; transform-origin: 50% 100%; }
@keyframes pac-pin { 0%, 60%, 100% { transform: none; } 20% { transform: translateY(-7px); } 40% { transform: translateY(0) scaleY(.94); } }
.pac-ex { position: absolute; top: 18%; left: 50%; translate: -50% 0; padding: 5px 10px; border-radius: 999px; background: var(--encre); font: 600 11px/1 var(--texte); letter-spacing: .06em;
  text-transform: uppercase; color: var(--fond); }
.pac-fiche-carte { position: absolute; left: 7%; right: 7%; bottom: 6%; display: flex; flex-direction: column; gap: 5px; padding: 16px 16px 14px; border-radius: 16px;
  background: #FFFFFF; box-shadow: 0 20px 40px -24px rgba(20, 19, 18, .5); }
.js:not(.v2-final) .pac-fiche .pac-fiche-carte { translate: 0 30%; opacity: 0; transition: translate 1s var(--ease) .9s, opacity .6s var(--ease) .9s; }
.js:not(.v2-final) .pac-fiche.a-joue .pac-fiche-carte { translate: 0 0; opacity: 1; }
.pac-fiche-nom { font: 900 22px/1 var(--display); text-transform: uppercase; }
.pac-fiche-info { font: 400 13px/1.35 var(--texte); color: #5A564F; }
.pac-ouvert { font-style: normal; font-weight: 600; color: var(--encre); }
.pac-fiche-photos { position: relative; height: 64px; margin-top: 6px; display: block; }

.pac-fiche-photos > .pac-c { position: absolute; inset: auto; top: 0; width: calc((100% - 12px) / 3); height: 64px; border-radius: 9px; transition: scale .6s var(--ease), filter .6s var(--ease); filter: saturate(.75); }
.pac-fiche-photos > .pac-c:nth-child(1) { left: 0; }
.pac-fiche-photos > .pac-c:nth-child(2) { left: calc((100% - 12px) / 3 + 6px); }
.pac-fiche-photos > .pac-c:nth-child(3) { left: calc(2 * (100% - 12px) / 3 + 12px); }
.pac-fiche-photos > .pac-c.is-on { scale: 1.06; filter: none; }
.pac-fiche-act { display: flex; gap: 8px; margin-top: 6px; }
.pac-fiche-act span { padding: 7px 12px; border-radius: 999px; border: 1px solid #D9D2C3; font: 500 12px/1 var(--texte); color: var(--encre); }
.pac-fiche-act span:first-child { border-color: var(--orange); background: var(--orange); color: #FFFFFF; }

@media (prefers-reduced-motion: reduce) { .pac-car, .pac-fiche.joue .pac-pin svg { animation: none; } }
