/* Straviso Webinar Shutter Panel */
.stv-wp {
	--stv-w: 340px;
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	/* closed: only the side tab is visible */
	transform: translate(var(--stv-w), -50%);
	transition: transform .38s cubic-bezier(.4, 0, .2, 1);
	font-family: inherit;
}
.stv-wp *,
.stv-wp *::before,
.stv-wp *::after { box-sizing: border-box; }

.stv-wp.is-open { transform: translate(0, -50%); }

/* ---------- Side tab (the indicator) ---------- */
.stv-wp .stv-wp__tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 16px 16px;
	border: 0;
	border-radius: 12px 0 0 12px;
	background: #00B0F0;
	color: #fff;
	cursor: pointer;
	box-shadow: -4px 4px 18px rgba(0, 0, 0, .22);
	font: inherit;
	line-height: 1;
	-webkit-tap-highlight-color: transparent;
}
.stv-wp .stv-wp__tab:hover { filter: brightness(1.12); }
.stv-wp .stv-wp__tab:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }

.stv-wp .stv-wp__label {
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	white-space: nowrap;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .02em;
}
.stv-wp .stv-wp__chev {
	display: inline-flex;
	transition: transform .38s cubic-bezier(.4, 0, .2, 1);
}
.stv-wp.is-open .stv-wp__chev { transform: rotate(180deg); }

/* ---------- Panel ---------- */
.stv-wp .stv-wp__panel {
	width: var(--stv-w);
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 30px 24px 30px 22px;
	background: var(--stv-bg);
	color: #fff;
	box-shadow: -8px 0 28px rgba(0, 0, 0, .22);
	/* keeps hidden links out of the tab order while closed */
	visibility: hidden;
	transition: visibility 0s linear .38s;
}
.stv-wp.is-open .stv-wp__panel {
	visibility: visible;
	transition-delay: 0s;
}

.stv-wp .stv-wp__msg {
	margin: 0;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.stv-wp .stv-wp__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 14px 12px 20px;
	border-radius: 10px;
	background: #fff;
	color: #12303f;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
	transition: transform .15s ease, box-shadow .15s ease;
}
.stv-wp .stv-wp__cta:hover,
.stv-wp .stv-wp__cta:focus-visible {
	color: #12303f;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
}
.stv-wp .stv-wp__cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.stv-wp .stv-wp__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 7px;
	background: var(--stv-accent);
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	.stv-wp { --stv-w: 82vw; }
	.stv-wp .stv-wp__tab { padding: 14px 8px; border-radius: 10px 0 0 10px; }
	.stv-wp .stv-wp__label { font-size: 13px; }
	.stv-wp .stv-wp__panel { padding: 24px 18px; gap: 16px; }
	.stv-wp .stv-wp__msg { font-size: 18px; }
	.stv-wp .stv-wp__cta { font-size: 16px; padding: 10px 12px 10px 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.stv-wp,
	.stv-wp .stv-wp__chev,
	.stv-wp .stv-wp__panel,
	.stv-wp .stv-wp__cta { transition: none; }
}

@media print { .stv-wp { display: none; } }
