/* reinschau360 – Rundgang-Player (Klassen rp-*). Wird beim Export 1:1 als tour.css mitgeliefert.
   Farben aus DESIGN.md (Logo-Palette): tiefes Navy #0c1b2b als Glasfläche, Orange #f07a3a als Hervorhebung auf Dunkel,
   --rp-accent ist die Markenfarbe des Kunden (Buchungsbutton, aktiver Bereich). */
.rp,.stage{--rp-ink:#12263a;--rp-deep:#0c1b2b;--rp-glass:rgba(12,27,43,.8);--rp-glass-strong:rgba(12,27,43,.9);--rp-line:rgba(244,246,248,.16);--rp-text:#f4f6f8;--rp-muted:#d0d7e0;--rp-hl:#f07a3a;--rp-orange:#e8590c;--rp-paper:#ffffff;--rp-tint:#fbe9de;--rp-on-tint:#963607;--rp-ease:cubic-bezier(.23,1,.32,1)}
.rp{position:relative;width:100%;height:100%;overflow:hidden;background:var(--rp-deep);color:var(--rp-text);font-family:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.4;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}
.rp *,.rp *::before,.rp *::after{box-sizing:border-box}
.rp svg{display:block;flex:none}
.rp-stage{position:absolute;inset:0}
.rp-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}
.rp-canvas.rp-grabbing{cursor:grabbing}
.rp-canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--rp-hl)}
.rp-nogl{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--rp-muted)}
.rp-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.rp-hw{position:absolute;left:0;top:0;width:0;height:0}
.rp-hw>*{pointer-events:auto}
.rp-snap{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.rp-snap.rp-on{opacity:1}
.rp-snap.rp-on.rp-out{opacity:0;transform:scale(1.08);filter:blur(2px);transition:opacity .42s var(--rp-ease),transform .56s var(--rp-ease),filter .42s var(--rp-ease)}
.rp-cover{position:absolute;inset:0;background:var(--rp-deep);pointer-events:none;transition:opacity .5s var(--rp-ease)}
.rp-cover.rp-off{opacity:0}

/* Glasflächen: Weichzeichner nur für Lesbarkeit über dem Foto */
.rp-title,.rp-menu,.rp-btn,.rp-plan,.rp-hint,.rp-load,.rp-credit{background:var(--rp-glass);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}

.rp-top{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));left:16px;right:16px;display:flex;gap:12px;align-items:flex-start;pointer-events:none}
.rp-title{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 14px;border-radius:16px;min-width:0;max-width:min(440px,100%)}
.rp-title>div{min-width:0}
.rp-title strong{display:block;font-size:14.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-scene{display:block;font-size:13px;color:var(--rp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-dot{width:10px;height:10px;border-radius:50%;background:var(--rp-accent);box-shadow:0 0 0 2px var(--rp-text);flex:none}
.rp-tr{margin-left:auto;display:flex;gap:8px;align-items:center;pointer-events:auto}
.rp-demo{background:var(--rp-tint);color:var(--rp-on-tint);font-weight:650;font-size:12.5px;padding:7px 12px;border-radius:999px;white-space:nowrap}

.rp-menu{position:absolute;left:16px;top:calc(84px + env(safe-area-inset-top,0px));width:236px;max-height:calc(100% - 172px);overflow-y:auto;padding:8px;border-radius:16px;scrollbar-width:thin;scrollbar-color:rgba(244,246,248,.3) transparent;transition:opacity .22s var(--rp-ease),transform .22s var(--rp-ease)}
.rp-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rp-hide{opacity:0;transform:translateY(6px);pointer-events:none;visibility:hidden;transition:opacity .16s var(--rp-ease),transform .16s var(--rp-ease),visibility 0s .16s}
.rp-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px;border-radius:12px;background:transparent;border:0;color:var(--rp-text);font:inherit;font-size:13.5px;font-weight:550;text-align:left;cursor:pointer;transition:background-color .16s var(--rp-ease)}
.rp-item img,.rp-noimg{width:64px;height:32px;object-fit:cover;border-radius:7px;flex:none;background:#2c3a4b}
.rp-item small{display:block;font-size:11.5px;font-weight:500;color:var(--rp-muted);font-variant-numeric:tabular-nums}
.rp-item.rp-on{background:var(--rp-accent);color:var(--rp-on-accent)}
.rp-item.rp-on small{color:inherit;opacity:.8}

.rp-plan{position:absolute;right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:min(320px,calc(100% - 32px));padding:10px;border-radius:16px;transition:opacity .22s var(--rp-ease),transform .22s var(--rp-ease)}
.rp-plan-in{position:relative;width:min(100%,calc(42vh * var(--rp-ar,1.5)));aspect-ratio:var(--rp-ar,1.5);margin:0 auto}
.rp-plan-in img{display:block;width:100%;height:100%;border-radius:8px;background:var(--rp-paper)}
.rp-pin{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:0;padding:0;background:transparent;cursor:pointer}
.rp-pin::after{content:"";position:absolute;inset:15px;border-radius:50%;background:var(--rp-ink);box-shadow:0 0 0 2.5px var(--rp-paper);transition:transform .16s var(--rp-ease),background-color .16s var(--rp-ease)}
.rp-pin.rp-on::after{background:var(--rp-accent);inset:12px;box-shadow:0 0 0 3px var(--rp-paper),0 0 0 5px var(--rp-accent)}
.rp-pin .rp-tip{top:38px}

.rp-bar{position:absolute;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;align-items:center;pointer-events:none}
.rp-sp{flex:1}
.rp-group{display:flex;gap:4px;pointer-events:auto}
.rp-btn{pointer-events:auto;height:44px;min-width:44px;padding:0 16px;border:0;border-radius:999px;color:var(--rp-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;text-decoration:none;white-space:nowrap;transition:background-color .16s var(--rp-ease),transform .16s var(--rp-ease)}
.rp-btn svg{width:19px;height:19px}
.rp-btn:active{transform:scale(.97)}
.rp-icon{padding:0;width:44px}
.rp-btn[aria-expanded="true"]{background:var(--rp-paper);color:var(--rp-ink)}
.rp-book{background:var(--rp-accent);color:var(--rp-on-accent);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 8px 24px -10px rgba(0,0,0,.5)}
.rp-book svg{width:16px;height:16px;opacity:.8}
.rp-credit{pointer-events:auto;font-size:12px;color:var(--rp-text);text-decoration:none;padding:6px 12px;border-radius:999px}
.rp-credit:hover{text-decoration:underline;text-underline-offset:.2em}

.rp-hs{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:52px;height:52px;margin:0;padding:0;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(12,27,43,.5);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px rgba(12,27,43,.6);transition:background-color .16s var(--rp-ease),transform .16s var(--rp-ease)}
.rp-hs svg{width:24px;height:24px}
.rp-hs.rp-info{width:44px;height:44px;background:var(--rp-paper);color:var(--rp-ink);border-color:var(--rp-paper)}
.rp-hs.rp-info svg{width:22px;height:22px}
.rp-tip{position:absolute;left:0;top:34px;transform:translateX(-50%);white-space:nowrap;background:var(--rp-glass-strong);color:var(--rp-text);padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;opacity:0;transition:opacity .16s var(--rp-ease);pointer-events:none}
.rp-info~.rp-tip{top:30px}
.rp-hs:focus-visible+.rp-tip,.rp-tip.rp-tip-on{opacity:1}
.rp-pop{position:absolute;left:30px;top:-20px;width:min(280px,70vw);background:var(--rp-paper);color:var(--rp-ink);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.55;-webkit-user-select:text;user-select:text;box-shadow:0 18px 40px -16px rgba(12,27,43,.55)}
.rp-pop strong{display:block;font-size:15px;font-weight:650;margin-bottom:2px}
.rp-pop p{margin:0;color:#2c3a4b}
.rp-pop a{display:inline-block;margin-top:8px;color:#c4490a;font-weight:600;text-underline-offset:.2em}
.rp-hint,.rp-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:550;pointer-events:none;white-space:nowrap}
.rp-hint{top:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%)}
.rp-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.rp-btn:focus-visible,.rp-item:focus-visible,.rp-hs:focus-visible,.rp-pin:focus-visible,.rp-credit:focus-visible{outline:3px solid var(--rp-hl);outline-offset:2px}

@media (hover:hover) and (pointer:fine){
  .rp-btn:hover{background:var(--rp-glass-strong)}
  .rp-btn[aria-expanded="true"]:hover{background:#fff}
  .rp-book:hover{background:var(--rp-accent);filter:brightness(1.08)}
  .rp-item:hover:not(.rp-on){background:rgba(244,246,248,.1)}
  .rp-hs:hover{background:var(--rp-accent);border-color:var(--rp-on-accent);color:var(--rp-on-accent);transform:translate(-50%,-50%) scale(1.06)}
  .rp-hs.rp-info:hover{background:#fff;color:var(--rp-ink);border-color:#fff}
  .rp-hw:hover .rp-tip,.rp-pin:hover .rp-tip{opacity:1}
}

@media (hover:none){
  .rp-hs:not(.rp-info)+.rp-tip{opacity:1}
}
@media (pointer:coarse){
  .rp-title,.rp-menu,.rp-btn,.rp-plan,.rp-hint,.rp-load,.rp-credit{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}
@media (max-width:760px){
  .rp-top{top:calc(12px + env(safe-area-inset-top,0px));left:12px;right:12px}
  .rp-title{padding:8px 14px 8px 12px}
  .rp-menu{left:12px;right:12px;top:auto;bottom:calc(68px + env(safe-area-inset-bottom,0px));width:auto;max-height:none;overflow-x:auto;overflow-y:hidden}
  .rp-menu ul{flex-direction:row;gap:6px}
  .rp-item{flex-direction:column;align-items:flex-start;width:116px;gap:6px;font-size:12.5px}
  .rp-item img,.rp-noimg{width:104px;height:52px}
  .rp-plan{right:12px;left:12px;width:auto;bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .rp-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:6px}
  .rp-bar .rp-mt span,.rp-bar .rp-pt span{display:none}
  .rp-bar .rp-mt,.rp-bar .rp-pt{padding:0;width:44px}
  .rp-credit,.rp-zo,.rp-zi{display:none}
  .rp-book{padding:0 14px;max-width:52vw;overflow:hidden;text-overflow:ellipsis}
  .rp-hint{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){
  .rp *,.rp-cover,.rp-snap{transition:none!important}
}
