/* T360 Video Carousel - all selectors are prefixed with .t360vc */
.t360vc{
	--t360vc-pv:5;
	--t360vc-h:var(--t360vc-h-d,420px);
	--t360vc-gap:16px;
	--t360vc-radius:12px;
	--t360vc-fit:cover;
	--t360vc-accent:#111827;
	position:relative;width:100%;max-width:100%;margin:0 auto;box-sizing:border-box;
}
.t360vc *,.t360vc *::before,.t360vc *::after{box-sizing:border-box}

/* Videos per view: Desktop 5 / Laptop 4 / Tablet 3 / Mobile 1 */
@media (max-width:1399px){.t360vc{--t360vc-pv:4}}
@media (max-width:1023px){.t360vc{--t360vc-pv:3;--t360vc-h:var(--t360vc-h-t,380px)}}
@media (max-width:767px){.t360vc{--t360vc-pv:1;--t360vc-h:var(--t360vc-h-m,480px)}}

.t360vc .t360vc__stage{position:relative}
.t360vc .t360vc__viewport{overflow:hidden;width:100%;touch-action:pan-y}
.t360vc .t360vc__track{
	position:relative;display:flex;gap:var(--t360vc-gap);margin:0;padding:0;
	transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform;
}
.t360vc.t360vc--instant .t360vc__track{transition:none}
.t360vc .t360vc__slide{
	flex:0 0 calc((100% - (var(--t360vc-pv) - 1) * var(--t360vc-gap)) / var(--t360vc-pv));
	min-width:0;margin:0;padding:0;
}
.t360vc .t360vc__frame{
	position:relative;width:100%;height:var(--t360vc-h);overflow:hidden;
	border-radius:var(--t360vc-radius);background:#000;
}
.t360vc .t360vc__video{
	display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;
	object-fit:var(--t360vc-fit);pointer-events:none;user-select:none;-webkit-user-select:none;
}
/* Make sure native controls never show */
.t360vc .t360vc__video::-webkit-media-controls,
.t360vc .t360vc__video::-webkit-media-controls-panel,
.t360vc .t360vc__video::-webkit-media-controls-start-playback-button,
.t360vc .t360vc__video::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none}

/* Arrows */
.t360vc .t360vc__arrow{
	-webkit-appearance:none;appearance:none;position:absolute;top:calc(var(--t360vc-h) / 2);z-index:3;
	display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;
	border:0;border-radius:50%;background:var(--t360vc-accent);color:#fff;
	box-shadow:0 2px 10px rgba(0,0,0,.3);cursor:pointer;opacity:.9;line-height:1;
	transform:translateY(-50%);transition:opacity .2s,transform .2s;
}
.t360vc .t360vc__arrow:hover,.t360vc .t360vc__arrow:focus{background:var(--t360vc-accent);color:#fff;opacity:1;transform:translateY(-50%) scale(1.08)}
.t360vc .t360vc__arrow:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px var(--t360vc-accent)}
.t360vc .t360vc__arrow--prev{left:10px}
.t360vc .t360vc__arrow--next{right:10px}

/* Dots */
.t360vc .t360vc__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 0;padding:0}
.t360vc .t360vc__dot{
	-webkit-appearance:none;appearance:none;width:10px;height:10px;min-width:0;min-height:0;margin:0;padding:0;
	border:0;border-radius:999px;background:var(--t360vc-accent);opacity:.25;cursor:pointer;
	box-shadow:none;transition:opacity .2s,width .25s;
}
.t360vc .t360vc__dot:hover,.t360vc .t360vc__dot:focus{background:var(--t360vc-accent);opacity:.55}
.t360vc .t360vc__dot.is-active{width:26px;opacity:1}
.t360vc .t360vc__dot:focus-visible{outline:2px solid var(--t360vc-accent);outline-offset:2px}

.t360vc.t360vc--static .t360vc__arrow,
.t360vc.t360vc--static .t360vc__dots{display:none}

@media (max-width:767px){
	.t360vc .t360vc__arrow{width:36px;height:36px}
	.t360vc .t360vc__arrow--prev{left:6px}
	.t360vc .t360vc__arrow--next{right:6px}
}
@media (prefers-reduced-motion:reduce){
	.t360vc .t360vc__track{transition:none}
}

/* Per-video caption: title + location pill */
.t360vc{--t360vc-text:#111827}
.t360vc .t360vc__caption{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 0;padding:0 6px;text-align:center}
.t360vc .t360vc__title{
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
	margin:0;padding:0;font-size:16px;font-weight:600;line-height:1.3;color:var(--t360vc-text);
}
.t360vc .t360vc__place{
	display:inline-block;max-width:100%;padding:5px 14px;border-radius:999px;overflow:hidden;
	text-overflow:ellipsis;white-space:nowrap;background:var(--t360vc-accent);color:#fff;
	font-size:13px;font-weight:600;line-height:1.3;
}
@media (max-width:767px){.t360vc .t360vc__title{font-size:15px}}