/* =============================================================================
   Virtual tour page
   Scoped to templates/page-virtuell-rundtur.html
============================================================================= */

.hc-virtual-tour-page .hc-virtual-tour {
	position: relative;
	z-index: 1;
	padding: 0;
	background: #1f120b;
	color: #f8efe3;
	overflow-x: clip;
}

.hc-virtual-tour-page .hc-virtual-tour__inner {
	max-width: 1280px;
	margin: 0 auto;
}

.hc-virtual-tour-page .hc-virtual-tour__app {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.hc-virtual-tour-page .hc-virtual-tour__menu {
	display: none;
}

.hc-virtual-tour-page .hc-virtual-tour__viewer {
	width: 100%;
	height: clamp(560px, 80vh, 900px);
	overflow: hidden;
	border-radius: 0;
	background: #120905;
	box-shadow: none;
}

/* make pannellum actually fill the band */
.hc-virtual-tour-page .hc-virtual-tour__viewer .pnlm-container {
	width: 100% !important;
	height: 100% !important;
}

.hc-virtual-tour-page .hc-virtual-tour__notice {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px 18px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	text-align: center;
}

.hc-virtual-tour-page .hc-virtual-tour {
	position: relative;
	z-index: 1;
	margin-top: -20px;   /* pulls the block up beneath the torn edge */
	padding: 0;
	background: #1f120b;
	color: #f8efe3;
	overflow-x: clip;
}

.hc-virtual-tour-page .pnlm-about-msg {
	display: none !important;
}

.hc-virtual-tour-page .hc-virtual-tour .pnlm-hotspot-base {
	outline-offset: 4px;
}

.hc-virtual-tour-page .hc-virtual-tour .pnlm-hotspot-base:focus-visible {
	outline: 3px solid #fff;
}

@media (max-width: 768px) {
	.hc-virtual-tour-page .hc-virtual-tour__viewer {
		height: 70vh;
	}
}

.hc-virtual-tour .hc-tour-anchor{width:0;height:0}
.hc-virtual-tour .hc-tour-marker{transform:translate(-50%,-50%);width:46px;height:46px;border:2px solid #f5ede0;border-radius:50%;color:#fff;background:#8b3c1d;box-shadow:0 2px 14px #0008;font:bold 24px Georgia,serif;cursor:pointer}
.hc-virtual-tour .hc-tour-marker--door{border-radius:7px}.hc-virtual-tour .hc-tour-marker--path{background:#59412b}
.hc-virtual-tour button:focus-visible,.hc-tour-fact :focus-visible{outline:3px solid #ffca64;outline-offset:4px}
.hc-tour-fact{box-sizing:border-box;width:min(620px,calc(100% - 32px));max-height:85vh;overflow-y:auto;padding:36px 42px;color:#2c1810;background:#f5ede0 var(--hc-tour-dirt-image,url('../img/png-sprite/Dirt_dark_top.svg')) center top/100% auto no-repeat;border:2px solid #94724b;border-radius:5px;box-shadow:0 16px 70px #0008;font-family:'Zilla Slab',Georgia,serif}
.hc-tour-fact::backdrop{background:#170d08bd}.hc-tour-fact[open]{animation:hc-tour-open .18s ease-out}
.hc-tour-fact h2{font-family:'Mogathe-Spurs',Georgia,serif;font-size:1.9rem;line-height:1.2;clear:both;padding-top:18px;color:#2c1810}
.hc-tour-fact p{white-space:pre-line;font-size:1.15rem;line-height:1.6}.hc-tour-fact img{display:block;max-width:100%;height:auto;margin:18px 0}
.hc-tour-fact a{color:#8d340c;text-decoration:underline}.hc-tour-fact__close{float:right;border:1px solid #70543b;background:transparent;color:#2c1810;padding:8px 14px;font:inherit;cursor:pointer}
@keyframes hc-tour-open{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hc-tour-fact[open]{animation:none}}
@media(max-width:600px){.hc-tour-fact{padding:24px;max-height:90vh}.hc-tour-fact h2{font-size:1.5rem}}

/* Contextual room details. */
.hc-virtual-tour .pnlm-panorama-info{display:none!important}
.hc-tour-viewport{position:relative}
.hc-tour-room-card{position:absolute;z-index:4;right:28px;bottom:28px;width:min(360px,calc(100% - 56px));max-height:calc(100% - 56px);overflow:auto;background:#f5ede0;color:#332522;box-shadow:7px 10px 24px #170c0740;border-top:3px solid #ab8653;font-family:'Zilla Slab',Georgia,serif}
.hc-tour-room-card[hidden]{display:none}
.hc-tour-room-card summary{cursor:pointer;padding:18px 22px;font:400 24px/1.15 'Mogathe-Spurs',Georgia,serif;text-transform:uppercase}
.hc-tour-room-card__body{padding:0 22px 22px;font-size:1rem;line-height:1.45}
.hc-tour-room-card__body p{white-space:pre-line;margin:14px 0}
.hc-tour-room-card__photo{width:100%;height:120px;object-fit:cover;display:block}
.hc-tour-room-card__seating{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-block:1px solid #33252230;padding:14px 0;margin:16px 0}
.hc-tour-room-card dt{font-size:.8rem;text-transform:uppercase}.hc-tour-room-card dd{margin:3px 0 0;font-weight:700}
.hc-tour-room-card h4{font:400 18px 'Mogathe-Spurs',Georgia,serif;margin:16px 0 8px;text-transform:uppercase}
.hc-tour-room-card ul{padding-left:18px;margin:0}.hc-tour-room-card li{margin:4px 0}
.hc-tour-room-card summary:focus-visible{outline:3px solid #9b421f;outline-offset:3px}
@media(max-width:768px){.hc-tour-room-card{right:14px;bottom:14px;width:calc(100% - 28px);max-height:60%}.hc-tour-room-card summary{font-size:20px;padding:14px 18px}}

.hc-tour-room-card__seating{grid-template-columns:1fr}
.hc-tour-room-card__seat{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:12px;align-items:center}
.hc-tour-room-card__seat dt{display:contents}
.hc-tour-room-card__seat dt img{grid-column:1;grid-row:1 / 3;width:54px;height:44px;object-fit:contain}
.hc-tour-room-card__seat dt span{grid-column:2;font-size:.8rem;text-transform:uppercase}
.hc-tour-room-card__seat dd{grid-column:2}

/* Western loading treatment: Pannellum owns visibility and actual byte progress. */
.hc-virtual-tour .pnlm-load-box {
 inset: 0; width: auto; height: auto; margin: 0; border-radius: 0;
 background: radial-gradient(ellipse at center, #382316 0%, #160d08 75%);
 color: #f5ede0; z-index: 5; font-family: 'Zilla Slab', Georgia, serif;
}
.hc-virtual-tour .pnlm-load-box::before {
 content: ''; position: absolute; width: 104px; height: 112px;
 top: calc(50% - 56px); left: calc(50% + 56px);
 background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20104%20112%22%3E%0A%3Cdefs%3E%0A%20%3ClinearGradient%20id%3D%22paper%22%3E%3Cstop%20stop-color%3D%22%233e1814%22%2F%3E%3Cstop%20offset%3D%22.18%22%20stop-color%3D%22%23863a2b%22%2F%3E%3Cstop%20offset%3D%22.42%22%20stop-color%3D%22%23ba6347%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%239d4533%22%2F%3E%3Cstop%20offset%3D%22.85%22%20stop-color%3D%22%2370281f%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23421b17%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22end%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23b9825b%22%2F%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23794330%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2348251c%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22twine%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23dfc69a%22%2F%3E%3Cstop%20offset%3D%22.25%22%20stop-color%3D%22%239e8051%22%2F%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23c9ab76%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23654829%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22label%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23e2cc9f%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23bfa16e%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3Cpattern%20id%3D%22grain%22%20width%3D%2213%22%20height%3D%2221%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20d%3D%22M2%202v7m6-3v4m-4%205v3m7-2v4%22%20stroke%3D%22%23f0c593%22%20stroke-width%3D%22.35%22%20opacity%3D%22.22%22%2F%3E%3Cpath%20d%3D%22M3%204v3m6%206v5%22%20stroke%3D%22%2329100c%22%20stroke-width%3D%22.5%22%20opacity%3D%22.25%22%2F%3E%3C%2Fpattern%3E%0A%3C%2Fdefs%3E%0A%3C%21--%20A%20continuous%20fuse%20meets%20the%20bundle%2C%20rather%20than%20a%20detached%20cartoon%20loop.%20--%3E%0A%3Cpath%20d%3D%22M0%2056C10%2056%209%2042%2022%2040L42%2034%22%20fill%3D%22none%22%20stroke%3D%22%2330271d%22%20stroke-width%3D%225%22%2F%3E%0A%3Cpath%20d%3D%22M0%2056C10%2056%209%2042%2022%2040L42%2034%22%20fill%3D%22none%22%20stroke%3D%22%23ab9069%22%20stroke-width%3D%223.4%22%2F%3E%0A%3Cpath%20d%3D%22M0%2056C10%2056%209%2042%2022%2040L42%2034%22%20fill%3D%22none%22%20stroke%3D%22%23ead5a8%22%20stroke-width%3D%221.1%22%20stroke-dasharray%3D%221%202%22%2F%3E%0A%3Cg%20transform%3D%22rotate%287%2055%2057%29%22%3E%0A%3Cpath%20d%3D%22M20%2021Q31.5%2017%2043%2021V93Q31.5%2097%2020%2093Z%22%20fill%3D%22url%28%23paper%29%22%2F%3E%0A%3Cpath%20d%3D%22M20%2021Q31.5%2017%2043%2021V93Q31.5%2097%2020%2093Z%22%20fill%3D%22url%28%23grain%29%22%2F%3E%0A%3Cellipse%20cx%3D%2231.5%22%20cy%3D%2221%22%20rx%3D%2211.5%22%20ry%3D%223.5%22%20fill%3D%22url%28%23end%29%22%2F%3E%0A%3Cpath%20d%3D%22M22%2020l9.5%203%208.5%20-3m-19%2073q9.5%204%2019%200%22%20fill%3D%22none%22%20stroke%3D%22%23d3936b%22%20stroke-width%3D%22.65%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22M39%2027v61%22%20stroke%3D%22%23451c16%22%20stroke-width%3D%22.8%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22M65%2024Q76.5%2020%2088%2024V96Q76.5%20100%2065%2096Z%22%20fill%3D%22url%28%23paper%29%22%2F%3E%0A%3Cpath%20d%3D%22M65%2024Q76.5%2020%2088%2024V96Q76.5%20100%2065%2096Z%22%20fill%3D%22url%28%23grain%29%22%2F%3E%0A%3Cellipse%20cx%3D%2276.5%22%20cy%3D%2224%22%20rx%3D%2211.5%22%20ry%3D%223.5%22%20fill%3D%22url%28%23end%29%22%2F%3E%0A%3Cpath%20d%3D%22M67%2023l9.5%203%208.5%20-3m-19%2073q9.5%204%2019%200%22%20fill%3D%22none%22%20stroke%3D%22%23d3936b%22%20stroke-width%3D%22.65%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22M84%2030v61%22%20stroke%3D%22%23451c16%22%20stroke-width%3D%22.8%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22M41%2013Q53.5%209%2066%2013V101Q53.5%20105%2041%20101Z%22%20fill%3D%22url%28%23paper%29%22%2F%3E%0A%3Cpath%20d%3D%22M41%2013Q53.5%209%2066%2013V101Q53.5%20105%2041%20101Z%22%20fill%3D%22url%28%23grain%29%22%2F%3E%0A%3Cellipse%20cx%3D%2253.5%22%20cy%3D%2213%22%20rx%3D%2212.5%22%20ry%3D%223.5%22%20fill%3D%22url%28%23end%29%22%2F%3E%0A%3Cpath%20d%3D%22M43%2012l10.5%203%209.5%20-3m-21%2089q10.5%204%2021%200%22%20fill%3D%22none%22%20stroke%3D%22%23d3936b%22%20stroke-width%3D%22.65%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22M62%2019v77%22%20stroke%3D%22%23451c16%22%20stroke-width%3D%22.8%22%20opacity%3D%22.6%22%2F%3E%0A%3C%21--%20Narrow%2C%20layered%20binding%20cord%20with%20small%20fibres%20and%20cast%20shadows.%20--%3E%0A%3Cpath%20d%3D%22M19%2038Q52%2043%2090%2041M19%2081Q53%2083%2090%2079%22%20stroke%3D%22%2323140e%22%20stroke-width%3D%227%22%20opacity%3D%22.6%22%20fill%3D%22none%22%2F%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22url%28%23twine%29%22%20stroke-width%3D%222.4%22%3E%3Cpath%20d%3D%22M18%2036Q54%2041%2089%2039M18%2039Q54%2044%2089%2042M18%2042Q54%2047%2089%2045M19%2076Q55%2080%2090%2076M19%2079Q55%2083%2090%2079M19%2082Q55%2086%2090%2082%22%2F%3E%3C%2Fg%3E%0A%3Cpath%20d%3D%22M25%2037l2%207m7-6l2%207m8-6l2%207m9-6l2%207m9-7l2%207m10-7l2%207M27%2078l2%206m10-5l2%206m12-5l2%206m12-7l2%206m11-7l2%206%22%20stroke%3D%22%23503922%22%20stroke-width%3D%22.7%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22M35%2049l41%201-1%2025-42-1z%22%20fill%3D%22%2326170f%22%20opacity%3D%22.35%22%2F%3E%0A%3Cpath%20d%3D%22M34%2047l42%202-1%2024-42-2%201-7-1-7z%22%20fill%3D%22url%28%23label%29%22%2F%3E%0A%3Cpath%20d%3D%22M38%2051l34%201M37%2068l34%202%22%20stroke%3D%22%23715338%22%20stroke-width%3D%22.5%22%20opacity%3D%22.6%22%2F%3E%0A%3Ctext%20x%3D%2254%22%20y%3D%2265%22%20text-anchor%3D%22middle%22%20font-family%3D%22Georgia%2Cserif%22%20font-weight%3D%22bold%22%20font-size%3D%2215%22%20letter-spacing%3D%221%22%20fill%3D%22%23583027%22%3ETNT%3C%2Ftext%3E%0A%3Cpath%20d%3D%22M43%2053l-2%2015m17-15l-1%2017m10-16l-2%2015%22%20stroke%3D%22%23e0c391%22%20stroke-width%3D%22.5%22%20opacity%3D%22.55%22%2F%3E%0A%3Cpath%20d%3D%22M80%2078q8-10%209-3t-10%206q12%200%2010%207m-9-7l-5%2013%22%20fill%3D%22none%22%20stroke%3D%22%234d3621%22%20stroke-width%3D%223%22%2F%3E%0A%3Cpath%20d%3D%22M80%2077q8-10%209-3t-10%206q12%200%2010%207m-9-7l-5%2013%22%20fill%3D%22none%22%20stroke%3D%22%23bba072%22%20stroke-width%3D%221.6%22%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.hc-virtual-tour .pnlm-load-box > p:first-child {
 position: absolute; top: calc(50% + 76px); left: 16px; right: 16px;
 margin: 0; font-size: clamp(18px, 3vw, 24px); letter-spacing: .02em;
}
.hc-virtual-tour .pnlm-load-box .pnlm-lbar {
 position: absolute; top: 50%; left: calc(50% - 138px);
 width: 205px; height: 5px; margin: 0; border: 0; border-radius: 4px;
 background: linear-gradient(to bottom, #e0c89b66, transparent 35%, #241b13aa), repeating-linear-gradient(115deg, #b79c70 0 1px, #8a704c 1px 2.5px, #c4ab7e 2.5px 3.5px, #78603e 3.5px 5px);
 box-shadow: 0 2px 3px #0008;
}
.hc-virtual-tour .pnlm-load-box .pnlm-lbar-fill {
 position: relative; height: 100%; background: linear-gradient(to bottom, #5c4c39, #2b211a 55%, #423329); border-radius: inherit;
}
.hc-virtual-tour .pnlm-lbar-fill::after,
.hc-virtual-tour .pnlm-loading::after {
 content: ''; position: absolute; right: -5px; top: -3px;
 width: 10px; height: 10px; border-radius: 50%;
 background: radial-gradient(circle, #fff9d5 0 20%, #ffc05d 30%, #df6e24 60%, transparent 72%);
 box-shadow: 0 0 16px 4px #ed7f2d80;
 animation: hc-fuse-glow .7s ease-in-out infinite alternate;
}
.hc-virtual-tour .pnlm-lbar-fill::before,
.hc-virtual-tour .pnlm-loading::before {
 content: ''; position: absolute; right: -2px; top: 0;
 width: 3px; height: 3px; border-radius: 50%; background: #ffe9ac;
 box-shadow: -9px -13px #dba458, 5px -19px #ffe9ac, 14px -9px #cf7637, -13px 7px #e9a65b;
 animation: hc-fuse-sparks .65s ease-out infinite;
}
.hc-virtual-tour .pnlm-load-box .pnlm-lmsg {
 position: absolute; top: calc(50% + 114px); left: 16px; right: 16px;
 margin: 0; font-size: 13px; color: #c7b18e; font-variant-numeric: tabular-nums;
}
/* Unknown byte total: flickering ember stays still, rather than inventing progress. */
.hc-virtual-tour .pnlm-load-box .pnlm-lbox {
 top: 50%; left: calc(50% - 40px); margin: 0; width: 10px; height: 5px;
}
.hc-virtual-tour .pnlm-load-box .pnlm-loading {
 width: 10px; height: 5px; background: transparent; animation: none;
}
.hc-virtual-tour .hc-tour-scene-ready .pnlm-render-container {
 animation: hc-tour-reveal .25s ease-out;
}
@keyframes hc-fuse-glow { to { opacity: .65; transform: scale(.82); } }
@keyframes hc-fuse-sparks { from { opacity: .9; transform: translateY(2px) scale(.6); } to { opacity: 0; transform: translateY(-6px) scale(1.15); } }
@keyframes hc-tour-reveal { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
 .hc-virtual-tour .pnlm-lbar-fill::before, .hc-virtual-tour .pnlm-lbar-fill::after,
 .hc-virtual-tour .pnlm-loading::before, .hc-virtual-tour .pnlm-loading::after,
 .hc-virtual-tour .hc-tour-scene-ready .pnlm-render-container { animation: none; }
}

/* Short loads use only a dark transition; TNT appears after 400ms of waiting. */
.hc-virtual-tour .pnlm-load-box { visibility: hidden; }
.hc-virtual-tour .hc-tour-show-loader .pnlm-load-box { visibility: visible; }
.hc-virtual-tour .hc-tour-transition {
 position: absolute; inset: 0; z-index: 4; background: #120905;
 pointer-events: none; opacity: 0; transition: opacity .14s ease-in-out;
}
.hc-virtual-tour .hc-tour-loading .hc-tour-transition { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
 .hc-virtual-tour .hc-tour-transition { transition: none; }
}
