/* The property tour (gen/shared/tour.mjs, js/tour.js?v=19336a3495). Site palette and type. */
.lx-prop.has-tour .lx-prop__stage { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "shots" "label"; }
.lx-prop.has-tour .lx-prop__label { position: static; max-height: none; overflow: visible; margin-top: 2.5rem;
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem 2.5rem; align-items: start; }
.lx-prop.has-tour .lx-prop__facts-title { grid-column: 1 / -1; }

.tour { grid-area: shots; margin-top: 1.75rem; display: grid; gap: 1rem; }
.tour__stage { position: relative; aspect-ratio: 16 / 9; max-height: 78svh; width: 100%; overflow: hidden; isolation: isolate;
  border-radius: var(--r); background: #050505; box-shadow: 0 0 0 1px var(--hair), 0 40px 80px -40px rgb(0 0 0 / .95); outline: none; }
.tour__stage:focus-visible { box-shadow: 0 0 0 2px var(--gold); }
.tour__shot { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1100ms var(--ease); }
.tour__shot.is-on { opacity: 1; z-index: 1; }
.tour__blur { position: absolute; inset: -40px; background-size: cover; background-position: center; filter: blur(30px) brightness(.4) saturate(1.1); }
.tour__kb { position: absolute; inset: 0; }
.tour__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
/* Slow push-ins, four directions in turn. */
.tour__shot.is-on .tour__kb { animation: tour-kb-0 9s ease-out both; }
.tour__shot.is-on[data-kb="1"] .tour__kb { animation-name: tour-kb-1; }
.tour__shot.is-on[data-kb="2"] .tour__kb { animation-name: tour-kb-2; }
.tour__shot.is-on[data-kb="3"] .tour__kb { animation-name: tour-kb-3; }
@keyframes tour-kb-0 { from { transform: scale(1.0); } to { transform: scale(1.08) translate(-1%, -1%); } }
@keyframes tour-kb-1 { from { transform: scale(1.09) translate(1.5%, 0); } to { transform: scale(1.0); } }
@keyframes tour-kb-2 { from { transform: scale(1.02) translate(0, 1%); } to { transform: scale(1.1) translate(1%, -1.5%); } }
@keyframes tour-kb-3 { from { transform: scale(1.1) translate(-1.5%, 1%); } to { transform: scale(1.02); } }

.tour__cap { position: absolute; inset-inline: 0; bottom: 0; z-index: 3; display: grid; gap: .25rem; padding: 4.5rem clamp(1rem, 3vw, 2rem) 1.2rem;
  background: linear-gradient(transparent, rgb(5 5 5 / .85)); color: var(--ink); }
.tour__room { font: 400 clamp(1.4rem, 1rem + 1.5vw, 2.2rem)/1.1 var(--display); }
.tour__note { font-size: var(--t-sm); color: color-mix(in oklab, var(--ink) 92%, var(--bg)); max-width: 56ch; }
.tour__count { position: absolute; top: 1rem; right: 1rem; z-index: 4; margin: 0; padding: .35rem .75rem; border-radius: 999px;
  background: rgb(5 5 5 / .6); color: var(--ink); font-size: .95rem; letter-spacing: .08em; }
.tour__bar { position: absolute; top: 0; inset-inline-start: 0; z-index: 5; height: 3px; width: 0; background: var(--gold); }

.tour__nav, .tour__full { position: absolute; z-index: 5; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--gold) 60%, transparent); background: rgb(5 5 5 / .55); color: var(--gold); cursor: pointer;
  font: 400 1.8rem/1 var(--display); transition: background-color 160ms var(--ease), color 160ms var(--ease); }
.tour__nav { top: 50%; transform: translateY(-50%); }
.tour__nav--prev { inset-inline-start: 1rem; }
.tour__nav--next { inset-inline-end: 1rem; }
.tour__nav--prev span::before { content: "‹"; }
.tour__nav--next span::before { content: "›"; }
/* In Hebrew the browser mirrors ‹ and › itself. */
.tour__full { top: 1rem; left: 1rem; width: 42px; height: 42px; font-size: 1.2rem; }
@media (hover: hover) and (pointer: fine) { .tour__nav:hover, .tour__full:hover { background: var(--gold); color: var(--bg); } }

.tour__spots { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.tour__stage.no-spots .tour__spots { display: none; }
.tour__spot { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: flex; align-items: center; gap: .45rem;
  opacity: 0; transition: opacity 500ms 900ms var(--ease); }
.tour__shot.is-on .tour__spot { opacity: 1; }
.tour__dot { flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--gold); border: 2px solid var(--ink); animation: tour-pulse 2.4s 2; }
.tour__tag { padding: .3rem .65rem; border-radius: 999px; background: rgb(10 10 10 / .82); color: var(--ink); font-size: .82rem; white-space: nowrap;
  box-shadow: 0 4px 14px rgb(0 0 0 / .5); }
@keyframes tour-pulse { 0% { box-shadow: 0 0 0 0 rgb(220 181 92 / .6); } 70% { box-shadow: 0 0 0 12px rgb(220 181 92 / 0); } 100% { box-shadow: none; } }

.tour__controls { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.tour__btn, .tour__chip { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1.1rem; border-radius: 999px;
  border: 1px solid var(--hair); background: var(--surface); color: var(--ink); font: 500 .9rem/1 var(--text); cursor: pointer;
  transition: border-color 160ms var(--ease), color 160ms var(--ease), background-color 160ms var(--ease); }
.tour__btn--play { background: var(--gold); border-color: var(--gold); color: var(--bg); font-weight: 600; }
.tour__icon { font-size: .75em; }
.tour__chip[aria-current="true"], .tour__btn[aria-pressed="true"]:not(.tour__btn--play) { border-color: var(--gold); color: var(--gold); }
@media (hover: hover) and (pointer: fine) { .tour__chip:hover, .tour__btn:not(.tour__btn--play):hover { border-color: var(--gold); color: var(--gold); } }
.tour__rooms { display: flex; flex-wrap: wrap; gap: .5rem; }
.tour__real { margin: 0 0 0 auto; font-size: var(--t-sm); color: var(--gold-soft); }
[dir="rtl"] .tour__real { margin: 0 auto 0 0; }

.tour__thumbs { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .4rem; scrollbar-width: thin; }
.tour__thumb { flex: none; width: 104px; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer;
  background: var(--surface); opacity: .65; transition: opacity 160ms var(--ease), border-color 160ms var(--ease); }
.tour__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tour__thumb[aria-current="true"] { border-color: var(--gold); opacity: 1; }
@media (hover: hover) and (pointer: fine) { .tour__thumb:hover { opacity: 1; } }

@media (max-width: 760px) {
  .tour__stage { aspect-ratio: 4 / 5; max-height: 72svh; }
  .tour__nav { width: 42px; height: 42px; font-size: 1.5rem; }
  .tour__note { display: none; }
  .tour__real { flex-basis: 100%; margin: 0; }
  .tour__thumb { width: 84px; }
  .lx-prop.has-tour .lx-prop__label { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .tour__shot { transition: none; }
  .tour__shot.is-on .tour__kb { animation: none; }
  .tour__dot { animation: none; }
}
