/* Functional WebGL viewport. The existing website theme remains unchanged. */
.walk-mode { perspective: none; touch-action: auto; }
.walk-mode .scene-deck { display: block; position: absolute; inset: 0; z-index: 1; overflow: hidden; background: #d9ddda; }
.walk-canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; outline-offset: -4px; }
.walk-canvas:focus-visible { outline: 2px solid #d5b773; }
.walk-mode.is-walk-dragging .walk-canvas { cursor: grabbing !important; }
.walk-mode .scene-controls, .walk-mode .scene-number, .walk-mode .camera-help { display: none; }
.walk-mode .scene-caption { left: 1.25rem; bottom: 6.5rem; max-width: calc(100% - 2.5rem); pointer-events: none; padding: .6rem .8rem; background: rgba(4,20,16,.78); border: 1px solid rgba(255,255,255,.16); border-radius: .65rem; }
.walk-mode .scene-caption p { font-family: var(--sans); font-size: .875rem; font-weight: 750; letter-spacing: .01em; }
.walk-mode .scene-caption span { display: block; margin-top: .25rem; font-size: .75rem; letter-spacing: 0; text-transform: none; }
.walk-mode .store-toolbar { max-width: calc(100% - 13.7rem); gap: .3rem; }
.walk-mode .scene-tab { font-size: .8rem; letter-spacing: 0; text-transform: none; min-height: 2.4rem; }
.walk-mode .scene-tabs { gap: .05rem; }
.walk-mode .demo-pill { position: fixed; visibility: hidden; }
.walk-mode .store-toolbar::after { content: "3D · DEMO"; color: #dac689; padding: 0 .65rem; font-size: .65rem; letter-spacing: .12em; white-space: nowrap; }
.walk-mode .store-minimap { width: 11.5rem; }
.walk-mode .store-minimap__details { max-height: 22rem; }
.walk-mode .store-minimap.is-collapsed .store-minimap__details { max-height: 0; }
.walk-mode .store-minimap.is-collapsed { width: 8.2rem; }
.walk-mode .store-minimap__top span { font-size: .75rem; letter-spacing: .025em; }
.walk-mode .store-minimap__top small { font-size: .65rem; letter-spacing: 0; }
.walk-mode .store-minimap__plan { display: block; width: 100%; height: auto; cursor: crosshair; }
.walk-mode .store-minimap__location { font-size: .7rem; letter-spacing: 0; }
.walk-mode .minimap-jump { width: .72rem; height: .72rem; }
.walk-mode .minimap-jump::after { position: absolute; content: ""; inset: -.4rem; }
.walk-mode .minimap__player { pointer-events: none; transition: none; }
.walk-mode .minimap__player circle { fill: #ebce83; stroke: #fff; stroke-width: 1.5; }
.walk-mode .minimap__player path { fill: #fff; }
.walk-mode .minimap__player .walk-map-cone { fill: rgba(224,196,125,.30); stroke: none; }
.walk-map-path { stroke: #ebce83; stroke-width: 1.5; stroke-dasharray: 3 3; opacity: .85; }
.walk-mode .walk-map-fridge, .walk-mode .walk-map-freezer { fill: #65868b; }
.walk-mode .walk-map-produce { fill: #547753; }
.walk-mode .walk-map-checkout { fill: #b1a176; }
.walk-labels { position: absolute; inset: 0; pointer-events: none; }
.walk-label { position: absolute; display: flex; align-items: center; gap: .45rem; padding: .55rem .7rem .55rem .6rem; color: #fff9eb; background: rgba(5,26,21,.84); border: 1px solid rgba(222,196,131,.8); border-radius: .45rem; font-family: var(--sans); font-size: .8rem; line-height: 1.2; font-weight: 650; white-space: nowrap; box-shadow: 0 4px 15px rgba(0,0,0,.18); transform: translate(-50%,-100%); pointer-events: auto; cursor: pointer; }
.walk-label[hidden] { display: none; }
.walk-label i { width: .5rem; height: .5rem; border: 1px solid #f3d999; background: #d5b26a; border-radius: 50%; }
.walk-label:hover, .walk-label:focus-visible, .walk-label.is-target { color: #102a20; background: #ebd291; border-color: #fff2ce; outline: 2px solid #ebd291; outline-offset: 3px; }
.walk-controls { display: none; }
.walk-mode .walk-controls { position: absolute; z-index: 9; left: 1.25rem; bottom: 1.05rem; display: flex; align-items: center; gap: 1rem; color: #f4f0e5; direction: ltr; }
.walk-pad { display: grid; grid-template-columns: repeat(3,2.6rem); grid-template-rows: repeat(2,2.3rem); gap: .2rem; }
.walk-pad button { display: grid; place-items: center; color: #f6eddc; background: rgba(5,24,19,.82); border: 1px solid rgba(240,226,185,.35); border-radius: .4rem; font-size: 1.35rem; line-height: 1; touch-action: none; user-select: none; }
.walk-pad button:hover,.walk-pad button.is-held { color: #102a20; background: #dfc381; border-color: #dfc381; }
.walk-pad__forward { grid-column: 2; grid-row: 1; }.walk-pad__left { grid-column: 1; grid-row: 2; }.walk-pad__backward { grid-column: 2; grid-row: 2; }.walk-pad__right { grid-column: 3; grid-row: 2; }
.walk-control-copy { max-width: 25rem; padding: .65rem .8rem; background: rgba(5,24,19,.84); border: 1px solid rgba(240,226,185,.15); border-radius: .5rem; }
.walk-control-copy p { display: flex; gap: .65rem; align-items: center; margin: 0; color: #e3ded1; font-size: .75rem; line-height: 1.5; }
.walk-control-copy p + p { margin-top: .3rem; color: #bdc8bf; }
.walk-control-copy kbd { color: #efd499; font-family: inherit; font-size: .75rem; font-weight: 750; }
.walk-reset { display: none; }
.walk-mode .walk-reset { position: absolute; z-index: 10; display: block; right: 1.2rem; bottom: 1.2rem; min-height: 2.75rem; padding: 0 .85rem; color: #eee4ce; background: rgba(4,24,17,.86); border: 1px solid rgba(233,213,158,.32); border-radius: .5rem; font-size: .8rem; }
.walk-mode .fixture-focus { pointer-events: none; }
.walk-mode .fixture-focus__veil { background: none; }
.walk-mode .fixture-focus__copy,.walk-mode .fixture-focus__back { pointer-events: auto; }
.walk-mode.is-fixture-focused .store-minimap,.walk-mode.is-fixture-focused .store-toolbar { opacity: 1; pointer-events: auto; z-index: 30; }
.walk-mode.is-fixture-focused .scene-caption,.walk-mode.is-fixture-focused .walk-controls,.walk-mode.is-fixture-focused .walk-reset { visibility: hidden; }
.walk-mode .fixture-focus__stage { padding-top: 5rem; padding-bottom: 1.2rem; }
.walk-mode .fixture-focus__copy { width: min(100%,23rem); }
.walk-mode .fixture-focus__copy h3 { font-size: 2.1rem; line-height: 1.06; }
.walk-mode .fixture-focus__copy > p:not(.eyebrow,.fixture-focus__contains,.fixture-focus__future) { font-size: 1rem; }
.walk-mode .fixture-focus__copy .eyebrow,.walk-mode .fixture-focus__contains,.walk-mode .fixture-focus__future { font-size: .75rem; letter-spacing: .015em; }
.walk-mode .fixture-focus__tags span { font-size: .8rem; }
.walk-mode .fixture-focus__back { top: 4.8rem; min-height: 2.75rem; font-size: .8rem; letter-spacing: 0; text-transform: none; }
.walk-mode .walk-error { display: grid; place-content: center; height: 100%; padding: 2rem; color: #17392b; text-align: center; }
.walk-error h3 { margin-bottom: 1rem; font-size: 2rem; }.walk-error p { max-width: 35rem; font-size: 1rem; line-height: 1.6; }
html[dir="rtl"] .walk-control-copy { direction: rtl; }
html[dir="rtl"] .walk-label { font-family: Tahoma,Arial,sans-serif; }
html[dir="rtl"] .walk-mode .store-toolbar::after { content: "3D · تجريبي"; letter-spacing: 0; }
.walk-mode.walk-unavailable .walk-controls,.walk-mode.walk-unavailable .walk-reset,.walk-mode.walk-unavailable .store-minimap,.walk-mode.walk-unavailable .scene-tabs,.walk-mode.walk-unavailable .scene-caption { display: none; }
@media(max-width: 1000px) {
  .walk-mode .store-toolbar { max-width: calc(100% - 13rem); }
  .walk-mode .store-toolbar::after { display: none; }
  .walk-mode .scene-tabs { max-width: calc(100% - 2.8rem); }
  .walk-control-copy { max-width: 16rem; }
  .walk-control-copy p { font-size: .75rem; }
}
@media(max-width: 650px) {
  .walk-mode .store-toolbar { max-width: calc(100% - 9rem); }
  .walk-mode .scene-tab { font-size: .75rem; padding: 0 .5rem; }
  .walk-mode .store-minimap { width: 9rem; }
  .walk-mode .store-minimap.is-collapsed { width: 7.9rem; }
  .walk-mode .store-minimap__top small { display: block; font-size: .6rem; }
  .walk-mode .store-minimap__top span { font-size: .7rem; }
  .walk-mode .walk-controls { left: .7rem; bottom: .75rem; }
  .walk-pad { grid-template-columns: repeat(3,2.8rem); grid-template-rows: repeat(2,2.75rem); }
  .walk-control-copy { display: none; }
  .walk-mode .scene-caption { left: .7rem; bottom: 6.6rem; max-width: calc(100% - 1.4rem); padding: .5rem .65rem; }
  .walk-mode .scene-caption p { font-size: .8rem; }
  .walk-mode .scene-caption span { font-size: .75rem; }
  .walk-mode .walk-reset { right: .7rem; bottom: .75rem; max-width: 9rem; font-size: .75rem; }
  .walk-label { font-size: .75rem; padding: .55rem; }
  .walk-mode .fixture-focus__copy { width: 100%; max-height: 49%; }
  .walk-mode .fixture-focus__stage { padding: 4rem .6rem .6rem; }
  .walk-mode .fixture-focus__back { left: .6rem; top: 4rem; }
  .walk-mode .fixture-focus__copy h3 { font-size: 1.65rem; }
}
