/* Visite photo (wal-photo-tour) : bloc « Où vous dormirez » de la fiche + page /visite-photo/ */

/* Fiche maison : Où vous dormirez */
.sleep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1rem 0 1.25rem}
.sleep-card{display:block;text-decoration:none;color:inherit}
.sleep-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sable)}
.sleep-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.sleep-card:hover .sleep-img img,.sleep-card:focus-visible .sleep-img img{transform:scale(1.04)}
.sleep-title{display:block;margin-top:.65rem;font-family:var(--serif);font-size:1.1rem;font-weight:500;color:var(--cedre)}
.sleep-beds{display:block;margin-top:.15rem;color:var(--gris);font-size:.92rem}
.sleep-tour{display:inline-block}

/* Page Visite photo */
html:has(.tour){scroll-behavior:smooth}
.tour-bar{position:sticky;top:var(--h);z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.tour-bar-in{display:flex;align-items:center;gap:1rem;height:60px}
.tour-back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--cedre);background:#fff;flex:none;transition:background .15s}
.tour-back:hover,.tour-back:focus-visible{background:var(--sable)}
.tour-house{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tour-wrap{padding-top:2rem;padding-bottom:4rem}
.tour-title{margin:0 0 1.5rem;font-size:clamp(1.6rem,3vw,2.1rem)}

.tour-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.25rem 1rem;margin-bottom:1rem}
.tour-index a{display:block;text-decoration:none;color:inherit}
.ti-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sable)}
.ti-img img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}
.tour-index a:hover .ti-img img{opacity:.85}
.ti-label{display:block;margin-top:.45rem;font-size:.92rem}

.tour-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2.5rem;padding-top:3rem;margin-top:3rem;border-top:1px solid var(--line);scroll-margin-top:calc(var(--h) + 72px)}
.tz-info{position:sticky;top:calc(var(--h) + 84px);align-self:start}
.tz-info h2{margin:0 0 .4rem;font-size:1.5rem}
.tz-beds{margin:0 0 .4rem;font-weight:500}
.tz-text{margin:0;color:var(--gris);line-height:1.6}
.tz-photos{display:grid;gap:.5rem}
.tz-row{display:grid;gap:.5rem}
.tz-pair{grid-template-columns:1fr 1fr}
.tz-row a{display:block;aspect-ratio:var(--ar,4/3);overflow:hidden;background:var(--sable);cursor:zoom-in}
.tz-row img{width:100%;height:100%;object-fit:cover;display:block}

@media (max-width:760px){
  .tour-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem .6rem}
  .ti-label{font-size:.82rem}
  .tour-zone{grid-template-columns:1fr;gap:1rem;padding-top:2rem;margin-top:2rem}
  .tz-info{position:static}
}
@media (prefers-reduced-motion:reduce){
  html:has(.tour){scroll-behavior:auto}
  .sleep-img img{transition:none}
}
