.nvr-shell,
.nvr-widget {
	box-sizing: border-box;
	color: var(--nvr-text);
	font-family: var(--nvr-font);
	font-size: var(--nvr-base);
	line-height: 1.6;
}

.nvr-shell *,
.nvr-widget * {
	box-sizing: border-box;
}

.nvr-shell {
	position: relative;
	width: 100%;
	overflow: hidden;
	background:
		radial-gradient(circle at 14% 6%, color-mix(in srgb, var(--nvr-primary) 12%, transparent), transparent 28%),
		linear-gradient(180deg, var(--nvr-bg) 0%, var(--nvr-bg-dark) 100%);
}

/* Shortcody są neutralnymi modułami do osadzania w sekcjach Elementora. */
.nvr-shortcode {
	overflow: visible;
	padding: 0;
	background: transparent;
}

.nvr-shortcode > .nvr-container {
	width: 100%;
	max-width: none;
}

.nvr-container {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 40px), var(--nvr-container));
	margin-inline: auto;
}

.nvr-event-archive:not(.nvr-shortcode),
.nvr-past-archive:not(.nvr-shortcode),
.nvr-account:not(.nvr-shortcode) {
	padding: clamp(58px, 8vw, 96px) 0;
}

.nvr-shell h1,
.nvr-shell h2,
.nvr-shell h3,
.nvr-widget h2 {
	color: var(--nvr-text);
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -.035em;
}

.nvr-shell a,
.nvr-widget a {
	text-decoration: none;
}

.nvr-section-heading {
	max-width: 760px;
	margin-bottom: 34px;
}

.nvr-section-heading h2,
.nvr-account-top h2 {
	margin: 8px 0 12px;
	font-size: calc(clamp(2rem, 5vw, 3.35rem) * var(--nvr-heading-scale));
	line-height: 1.05;
}

.nvr-section-heading p,
.nvr-account-top p {
	margin: 0;
	color: var(--nvr-muted);
	font-size: 1.05em;
}

.nvr-event-archive .nvr-section-heading h2 {
	font-family: var(--nvr-upcoming-heading-font);
	font-size: var(--nvr-upcoming-heading-size);
}

.nvr-past-archive .nvr-section-heading h2 {
	font-family: var(--nvr-past-heading-font);
	font-size: var(--nvr-past-heading-size);
}

.nvr-account .nvr-account-top h2 {
	font-family: var(--nvr-account-heading-font);
	font-size: var(--nvr-account-heading-size);
}

.nvr-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--nvr-primary);
	font-size: .74em;
	font-weight: 850;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.nvr-eyebrow::before {
	width: 28px;
	height: 2px;
	background: currentColor;
	content: "";
}

.nvr-event-list {
	display: grid;
	gap: var(--nvr-gap);
}

.nvr-event-card {
	display: grid;
	grid-template-columns: minmax(230px, 280px) 1fr auto;
	gap: 25px;
	align-items: center;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--nvr-radius);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
	box-shadow: 0 14px 46px rgba(0, 0, 0, .16);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.nvr-shell .nvr-event-card:hover,
.nvr-shell .nvr-event-card:focus-within,
.nvr-shell .nvr-event-card:active {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--nvr-primary) 58%, transparent) !important;
	box-shadow: 0 18px 55px color-mix(in srgb, var(--nvr-primary) 12%, transparent) !important;
	background: rgba(255, 255, 255, var(--nvr-glass-opacity)) !important;
	outline: none !important;
}

.nvr-event-cover,
.nvr-past-cover {
	position: relative;
	display: flex;
	min-height: 176px;
	overflow: hidden;
	flex-direction: column;
	justify-content: flex-end;
	padding: 18px;
	border-radius: calc(var(--nvr-radius) - 6px);
	background-color: #0c527d;
	background-image: linear-gradient(145deg, #176491, #0b3150 54%, var(--nvr-bg-dark));
	background-position: center;
	background-size: cover;
}

.nvr-cover-info {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 10px;
	margin-left: auto;
	text-align: right;
}

.nvr-cover-info .nvr-tag-row {
	justify-content: flex-end;
}

.nvr-event-cover::after,
.nvr-past-cover::after {
	display: none;
	content: none;
}

.nvr-event-cover strong,
.nvr-past-cover strong {
	position: relative;
	z-index: 2;
	color: #fff;
	font-size: 1.45em;
	line-height: 1.05;
}

.nvr-tag-row {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.nvr-tag {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 5px 9px;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 30%, transparent);
	border-radius: 999px;
	color: color-mix(in srgb, var(--nvr-primary) 75%, white);
	background: color-mix(in srgb, var(--nvr-primary) 12%, transparent);
	font-size: .7em;
	font-weight: 800;
	letter-spacing: .025em;
}

.nvr-tag--success {
	border-color: color-mix(in srgb, var(--nvr-success) 30%, transparent);
	color: color-mix(in srgb, var(--nvr-success) 72%, white);
	background: color-mix(in srgb, var(--nvr-success) 10%, transparent);
}

.nvr-tag--attended {
	border-color: color-mix(in srgb, var(--nvr-success) 56%, transparent);
	color: color-mix(in srgb, var(--nvr-success) 82%, white);
	background: color-mix(in srgb, var(--nvr-success) 18%, transparent);
}

.nvr-tag--registered {
	border-color: color-mix(in srgb, var(--nvr-primary) 52%, transparent);
	color: color-mix(in srgb, var(--nvr-primary) 80%, white);
	background: color-mix(in srgb, var(--nvr-primary) 15%, transparent);
}

.nvr-event-body {
	min-width: 0;
}

.nvr-event-body > .nvr-tag-row {
	margin-bottom: 10px;
}

.nvr-kicker {
	margin: 0 0 7px;
	color: var(--nvr-primary) !important;
	font-size: .78em !important;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.nvr-event-body h3,
.nvr-past-body h3,
.nvr-training-copy h3 {
	margin: 0 0 8px;
	font-size: calc(clamp(1.25rem, 2.5vw, 1.72rem) * var(--nvr-heading-scale));
	line-height: 1.16;
}

.nvr-event-archive .nvr-event-body h3 {
	font-family: var(--nvr-upcoming-card-font);
	font-size: var(--nvr-upcoming-card-size);
}

.nvr-past-archive .nvr-event-body h3,
.nvr-past-archive .nvr-past-body h3 {
	font-family: var(--nvr-past-card-font);
	font-size: var(--nvr-past-card-size);
}

.nvr-account .nvr-training-copy h3 {
	font-family: var(--nvr-account-card-font);
	font-size: var(--nvr-account-card-size);
}

.nvr-dynamic-title {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}

.nvr-event-body h3.nvr-dynamic-title--long,
.nvr-past-body h3.nvr-dynamic-title--long,
.nvr-training-copy h3.nvr-dynamic-title--long {
	font-size: calc(clamp(1.15rem, 2.1vw, 1.5rem) * var(--nvr-heading-scale));
}

.nvr-event-body h3.nvr-dynamic-title--very-long,
.nvr-past-body h3.nvr-dynamic-title--very-long,
.nvr-training-copy h3.nvr-dynamic-title--very-long {
	font-size: calc(clamp(1.05rem, 1.8vw, 1.32rem) * var(--nvr-heading-scale));
}

.nvr-event-archive .nvr-event-body h3.nvr-dynamic-title--long { font-size: calc(var(--nvr-upcoming-card-size) * .86); }
.nvr-event-archive .nvr-event-body h3.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-upcoming-card-size) * .75); }
.nvr-past-archive .nvr-event-body h3.nvr-dynamic-title--long,
.nvr-past-archive .nvr-past-body h3.nvr-dynamic-title--long { font-size: calc(var(--nvr-past-card-size) * .86); }
.nvr-past-archive .nvr-event-body h3.nvr-dynamic-title--very-long,
.nvr-past-archive .nvr-past-body h3.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-past-card-size) * .75); }
.nvr-account .nvr-training-copy h3.nvr-dynamic-title--long { font-size: calc(var(--nvr-account-card-size) * .86); }
.nvr-account .nvr-training-copy h3.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-account-card-size) * .75); }

.nvr-event-body h3 a {
	color: inherit;
}

.nvr-event-body > p:last-child,
.nvr-past-body p,
.nvr-training-copy p {
	margin: 0;
	color: var(--nvr-muted);
	font-size: .9em;
}

.nvr-event-body > p.nvr-card-capacity {
	margin: 14px 0 0;
	padding: 9px 12px;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 28%, transparent);
	border-radius: 8px;
	color: var(--nvr-text);
	background: color-mix(in srgb, var(--nvr-primary) 8%, transparent);
	font-size: .82em;
	line-height: 1.5;
}

.nvr-event-actions,
.nvr-training-actions,
.nvr-inline-actions,
.nvr-timer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.nvr-event-actions {
	min-width: 132px;
	flex-direction: column;
}

.nvr-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 19px;
	border: 1px solid transparent;
	border-radius: var(--nvr-button-radius) !important;
	cursor: pointer;
	font: inherit;
	font-size: .84em;
	font-weight: 850;
	line-height: 1.1;
	text-align: center;
	transition: transform .18s ease, filter .18s ease, border-color .18s ease;
}

.nvr-btn:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}

.nvr-btn--small {
	min-height: 40px;
	padding: 9px 14px;
	font-size: .76em;
}

.nvr-btn--primary {
	color: var(--nvr-bg-dark) !important;
	border-color: color-mix(in srgb, var(--nvr-primary) 86%, white) !important;
	background: var(--nvr-primary) !important;
	box-shadow: 0 9px 26px color-mix(in srgb, var(--nvr-primary) 20%, transparent);
}

.nvr-btn--primary:hover,
.nvr-btn--primary:focus-visible {
	color: var(--nvr-bg-dark) !important;
	border-color: color-mix(in srgb, var(--nvr-primary) 72%, white) !important;
	background: color-mix(in srgb, var(--nvr-primary) 84%, #1777c8) !important;
}

.nvr-btn--accent {
	color: #fff !important;
	background: var(--nvr-accent);
	box-shadow: 0 10px 28px color-mix(in srgb, var(--nvr-accent) 34%, transparent), 0 3px 10px color-mix(in srgb, var(--nvr-accent) 22%, transparent);
}

.nvr-live-button {
	position: relative;
	z-index: 1;
	border-color: rgba(255, 255, 255, .13) !important;
	color: #fff !important;
	background: #EF4658 !important;
	box-shadow: 0 0 0 0 rgba(239, 70, 88, .42), 0 12px 34px rgba(239, 70, 88, .42) !important;
	animation: nvr-live-pulse 2.15s ease-out infinite;
}

.nvr-live-button--disabled,
.nvr-live-button--disabled:hover,
.nvr-live-button--disabled:focus {
	border-color: rgba(239, 91, 109, .34) !important;
	color: rgba(249, 191, 198, .74) !important;
	background: rgba(218, 83, 103, .20) !important;
	box-shadow: none !important;
	cursor: not-allowed;
	filter: none;
	opacity: .82;
	pointer-events: none;
	transform: none;
	animation: none;
}

@keyframes nvr-live-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(239, 70, 88, .38), 0 12px 34px rgba(239, 70, 88, .38); }
	50% { box-shadow: 0 0 0 9px rgba(239, 70, 88, 0), 0 15px 44px rgba(239, 70, 88, .55); }
}

.nvr-btn--outline {
	border-color: color-mix(in srgb, var(--nvr-primary) 44%, transparent) !important;
	color: var(--nvr-text) !important;
	background: color-mix(in srgb, var(--nvr-primary) 6%, transparent) !important;
}

.nvr-btn--outline:hover,
.nvr-btn--outline:focus-visible {
	border-color: color-mix(in srgb, var(--nvr-primary) 70%, transparent) !important;
	color: var(--nvr-text) !important;
	background: color-mix(in srgb, var(--nvr-primary) 13%, transparent) !important;
}

.nvr-btn--success,
.nvr-btn--success:hover,
.nvr-btn--success:focus-visible,
.nvr-btn--success:visited {
	color: color-mix(in srgb, var(--nvr-success) 70%, white) !important;
	background: color-mix(in srgb, var(--nvr-success) 14%, transparent) !important;
	border-color: color-mix(in srgb, var(--nvr-success) 32%, transparent) !important;
	text-decoration: none !important;
}

.nvr-btn--disabled {
	cursor: not-allowed;
	color: var(--nvr-muted);
	background: rgba(255, 255, 255, .05);
}

.nvr-past-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--nvr-gap);
}

.nvr-past-card {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--nvr-radius);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
	box-shadow: 0 14px 44px rgba(0, 0, 0, .14);
}

.nvr-past-cover {
	min-height: 210px;
	justify-content: space-between;
	border-radius: 0;
}

.nvr-past-card--2 .nvr-past-cover {
	background-image: linear-gradient(145deg, #653349, #123f60 48%, #091827);
}

.nvr-past-card--3 .nvr-past-cover {
	background-image: linear-gradient(145deg, #0a6a74, #123e60 52%, #071827);
}

.nvr-past-body {
	padding: 24px;
}

.nvr-past-body h3 {
	margin-top: 15px;
}

.nvr-past-body .nvr-inline-actions {
	margin-top: 22px;
}

.nvr-empty,
.nvr-login-required {
	padding: 32px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--nvr-radius);
	color: var(--nvr-muted);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
}

.nvr-login-required {
	max-width: 720px;
	margin-inline: auto;
	text-align: center;
}

.nvr-login-required h2 {
	margin: 10px 0;
	font-size: 2em;
}

.nvr-login-required .nvr-btn {
	margin-top: 12px;
}

.nvr-account-layout {
	display: block;
}

.nvr-account-sidebar {
	position: sticky;
	top: 100px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--nvr-radius);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
	backdrop-filter: blur(var(--nvr-blur));
}

.nvr-account-person {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 5px 4px 17px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.nvr-avatar {
	display: grid;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	place-items: center;
	border-radius: 14px;
	color: var(--nvr-bg-dark);
	background: var(--nvr-primary);
	font-size: .75em;
	font-weight: 900;
}

.nvr-account-person strong,
.nvr-account-person small,
.nvr-speaker strong,
.nvr-speaker small {
	display: block;
}

.nvr-account-person strong {
	font-size: .88em;
}

.nvr-account-person small {
	max-width: 145px;
	overflow: hidden;
	color: var(--nvr-muted);
	font-size: .68em;
	text-overflow: ellipsis;
}

.nvr-account-menu {
	margin-top: 13px;
}

.nvr-account-menu span {
	display: block;
	padding: 11px 12px;
	border-radius: 11px;
	color: var(--nvr-text);
	background: color-mix(in srgb, var(--nvr-primary) 10%, transparent);
	font-size: .8em;
	font-weight: 750;
}

.nvr-account-main {
	min-width: 0;
}

.nvr-account-header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.nvr-account-top {
	min-width: 0;
	margin-bottom: 0;
}

.nvr-account-person--header {
	width: min(330px, 42%);
	flex: 0 0 auto;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: calc(var(--nvr-radius) - 6px);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
	backdrop-filter: blur(var(--nvr-blur));
}

.nvr-account-person--header > div {
	min-width: 0;
}

.nvr-account-person--header small {
	max-width: none;
	white-space: normal;
	overflow-wrap: anywhere;
}

.nvr-summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}

.nvr-summary-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: calc(var(--nvr-radius) - 5px);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
}

.nvr-summary-card > span {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 13px;
	color: var(--nvr-primary);
	background: color-mix(in srgb, var(--nvr-primary) 11%, transparent);
}

.nvr-summary-card strong,
.nvr-summary-card small {
	display: block;
}

.nvr-summary-card strong {
	font-size: 1.35em;
	line-height: 1;
}

.nvr-summary-card small {
	margin-top: 5px;
	color: var(--nvr-muted);
	font-size: .67em;
}

.nvr-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	padding: 7px;
	margin-bottom: 20px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 15px;
	background: rgba(0, 0, 0, .12);
}

.nvr-filter-bar button {
	padding: 9px 14px;
	border: 0;
	border-radius: 10px;
	color: var(--nvr-muted);
	background: transparent;
	cursor: pointer;
	font: inherit;
	font-size: .75em;
	font-weight: 800;
}

.nvr-shell .nvr-filter-bar button:hover,
.nvr-shell .nvr-filter-bar button:focus-visible {
	color: color-mix(in srgb, var(--nvr-primary) 82%, white) !important;
	background: color-mix(in srgb, var(--nvr-primary) 13%, transparent) !important;
}

.nvr-shell .nvr-filter-bar button.is-active,
.nvr-shell .nvr-filter-bar button.is-active:hover,
.nvr-shell .nvr-filter-bar button.is-active:focus-visible {
	color: var(--nvr-bg-dark) !important;
	background: var(--nvr-primary) !important;
}

.nvr-training-list {
	display: grid;
	gap: 12px;
}

.nvr-training-card {
	display: grid;
	grid-template-columns: 94px 1fr auto;
	gap: 17px;
	align-items: center;
	padding: 15px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: calc(var(--nvr-radius) - 4px);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
}

.nvr-training-card[hidden] {
	display: none;
}

.nvr-training-date {
	display: grid;
	min-height: 94px;
	place-items: center;
	align-content: center;
	padding: 12px;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 26%, transparent);
	border-radius: 15px;
	background: color-mix(in srgb, var(--nvr-primary) 8%, transparent);
	text-align: center;
}

.nvr-training-date.is-done {
	border-color: color-mix(in srgb, var(--nvr-success) 26%, transparent);
	background: color-mix(in srgb, var(--nvr-success) 8%, transparent);
}

.nvr-training-date strong,
.nvr-training-date span {
	display: block;
}

.nvr-training-date strong {
	font-size: 1.8em;
	line-height: 1;
}

.nvr-training-date span {
	margin-top: 7px;
	color: var(--nvr-muted);
	font-size: .67em;
	text-transform: uppercase;
}

.nvr-training-copy .nvr-tag {
	margin-bottom: 8px;
}

/* Samodzielny timer do umieszczenia w dowolnym kontenerze Elementora. */
.nvr-timer {
	position: relative;
	width: 100%;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.nvr-timer-track {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	min-height: 0;
	isolation: isolate;
}

.nvr-timer-slide {
	position: relative;
	z-index: 0;
	grid-area: 1 / 1;
	display: block;
	width: 100%;
	min-height: 0;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transform: translate3d(18px, 0, 0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.nvr-timer-slide.is-active,
.nvr-timer-slide.is-preparing,
.nvr-timer-slide.is-leaving {
	visibility: visible;
	will-change: opacity, transform;
}

.nvr-timer-slide.is-active {
	z-index: 3;
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	transition: opacity .48s cubic-bezier(.22, 1, .36, 1), transform .48s cubic-bezier(.22, 1, .36, 1);
}

.nvr-timer-slide.is-preparing {
	z-index: 3;
	opacity: 0;
	transform: translate3d(18px, 0, 0);
	transition: none;
}

.nvr-timer-slide.is-leaving {
	z-index: 2;
	opacity: 0;
	transform: translate3d(-12px, 0, 0);
	transition: opacity .48s cubic-bezier(.22, 1, .36, 1), transform .48s cubic-bezier(.22, 1, .36, 1);
}

.nvr-timer-copy {
	position: relative;
	z-index: 4;
	min-width: 0;
	padding: 0 0 34px;
	transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.nvr-live-pill {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 7px 11px;
	border: 1px solid color-mix(in srgb, var(--nvr-accent) 34%, transparent);
	border-radius: 999px;
	color: color-mix(in srgb, var(--nvr-accent) 52%, white);
	background: color-mix(in srgb, var(--nvr-accent) 13%, transparent);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	font-size: .7em;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: .075em;
}

.nvr-live-pill i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--nvr-accent);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--nvr-accent) 12%, transparent);
}

.nvr-timer-copy h2 {
	max-width: min(540px, 100%);
	margin: 12px 0;
	font-family: var(--nvr-timer-title-font);
	font-size: var(--nvr-title-desktop, var(--nvr-timer-title-size));
	line-height: 1.02;
}

.nvr-timer-description {
	max-width: 440px;
	margin: 7px 0 0;
	color: var(--nvr-muted);
	font-size: .7em;
	line-height: 1.4;
}


.nvr-timer-tags {
	margin-bottom: 14px;
}

.nvr-timer-tags .nvr-tag {
	padding: 6px 10px;
	background: rgba(255, 255, 255, .055);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	font-size: .68em;
}

.nvr-timer-tags .nvr-tag--success {
	background: color-mix(in srgb, var(--nvr-success) 9%, transparent);
}

.nvr-timer-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 12px;
	align-items: center;
	color: var(--nvr-muted);
	font-size: .86em;
	font-weight: 650;
}

.nvr-timer-date::before,
.nvr-timer-city::before {
	margin-right: 6px;
	color: var(--nvr-primary);
}

.nvr-timer-date::before { content: "●"; }
.nvr-timer-city::before { content: "⌖"; }

.nvr-timer-registration-status {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	color: color-mix(in srgb, var(--nvr-success) 72%, white);
	font-size: .83em;
	font-weight: 800;
}

.nvr-timer-registration-status span {
	display: grid;
	width: 23px;
	height: 23px;
	place-items: center;
	border-radius: 50%;
	color: var(--nvr-bg-dark);
	background: var(--nvr-success);
}

.nvr-timer-cta {
	width: 100%;
	max-width: 440px;
	margin-top: 16px;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 38%, transparent);
	color: var(--nvr-text) !important;
	background: color-mix(in srgb, var(--nvr-primary) 17%, transparent);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 10px 28px rgba(0, 0, 0, .12);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
}

.nvr-timer-cta:hover {
	border-color: color-mix(in srgb, var(--nvr-primary) 62%, transparent);
	background: color-mix(in srgb, var(--nvr-primary) 27%, transparent);
}

.nvr-countdown {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	max-width: 440px;
	margin: 20px 0 15px;
}

.nvr-seat-counter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	align-items: center;
	max-width: 440px;
	padding: 11px 14px;
	border: 1px solid color-mix(in srgb, var(--nvr-success) 30%, transparent);
	border-radius: 12px;
	color: var(--nvr-muted);
	background: color-mix(in srgb, var(--nvr-success) 8%, transparent);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
}

.nvr-seat-counter > span {
	grid-row: 1 / -1;
	font-size: .74em;
	font-weight: 750;
}

.nvr-seat-counter strong {
	grid-column: 2;
	color: color-mix(in srgb, var(--nvr-success) 72%, white);
	font-size: 1.3em;
	line-height: 1;
	text-align: right;
}

.nvr-seat-counter small {
	grid-column: 2;
	color: var(--nvr-muted);
	font-size: .58em;
	text-align: right;
	text-transform: uppercase;
}

.nvr-countdown div {
	padding: 12px 5px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 14px;
	background: rgba(255, 255, 255, .045);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	text-align: center;
}

.nvr-countdown strong,
.nvr-countdown small {
	display: block;
}

.nvr-countdown strong {
	color: color-mix(in srgb, var(--nvr-primary) 70%, white);
	font-size: 1.45em;
	line-height: 1;
}

.nvr-countdown small {
	margin-top: 6px;
	color: var(--nvr-muted);
	font-size: .58em;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nvr-widget.nvr-timer .nvr-carousel-arrow {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: absolute;
	z-index: 10;
	top: 50%;
	display: grid;
	width: 44px;
	height: 54px;
	min-width: 0;
	min-height: 0;
	place-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	-webkit-tap-highlight-color: transparent;
	color: rgba(255, 255, 255, .82) !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	cursor: pointer;
	font: inherit;
	line-height: 1;
	transform: translateY(-50%);
	box-shadow: none !important;
	text-shadow: none;
	transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

.nvr-widget.nvr-timer .nvr-carousel-arrow:hover {
	color: var(--nvr-primary) !important;
	background: transparent !important;
	transform: translateY(-50%) scale(1.1);
}

.nvr-widget.nvr-timer .nvr-carousel-arrow::before,
.nvr-widget.nvr-timer .nvr-carousel-arrow::after {
	display: none !important;
	content: none !important;
}

.nvr-widget.nvr-timer .nvr-carousel-arrow:focus-visible {
	color: var(--nvr-primary) !important;
}

/* Keyboard focus marks the chevron instead of drawing a square around it. */
.nvr-widget.nvr-timer .nvr-carousel-arrow:focus-visible svg {
	filter: drop-shadow(0 0 4px var(--nvr-primary));
	stroke-width: 3;
}

.nvr-widget.nvr-timer .nvr-carousel-arrow svg {
	width: 29px;
	height: 29px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.1;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nvr-carousel-arrow--prev { left: -68px; }
.nvr-carousel-arrow--next { right: -68px; }

.nvr-carousel-dots {
	position: absolute;
	z-index: 10;
	right: 0;
	bottom: 3px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 7px;
}

/* Elementor nie powinien przycinać nawigacji wysuniętej poza treść shortcode. */
.elementor-element:has(> .elementor-widget-shortcode .nvr-timer),
.elementor-widget-shortcode:has(.nvr-timer),
.elementor-widget-shortcode:has(.nvr-timer) > .elementor-widget-container {
	overflow: visible !important;
}

.nvr-widget.nvr-timer .nvr-carousel-dots button {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 8px;
	height: 8px;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, .34) !important;
	box-shadow: none !important;
	cursor: pointer;
}

.nvr-widget.nvr-timer .nvr-carousel-dots button.is-active {
	width: 23px;
	border-radius: 999px;
	background: var(--nvr-primary) !important;
}

/* Single event: hero from Horyzonty, program in the supplied flat agenda style. */
.nvr-single {
	min-height: 100vh;
}

.nvr-detail-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(54px, 8vw, 96px) 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(140deg, color-mix(in srgb, var(--nvr-primary) 19%, var(--nvr-bg)), var(--nvr-bg-dark) 66%);
}

.nvr-back {
	display: inline-flex;
	margin-bottom: 28px;
	color: var(--nvr-muted) !important;
	font-size: .8em;
	font-weight: 750;
}

.nvr-detail-grid {
	display: grid;
	grid-template-columns: 1fr minmax(310px, 420px);
	gap: 56px;
	align-items: center;
}

.nvr-detail-grid h1 {
	max-width: 800px;
	margin: 18px 0 20px;
	font-family: var(--nvr-detail-title-font);
	font-size: var(--nvr-detail-title-size);
	line-height: .96;
}

.nvr-detail-grid h1.nvr-dynamic-title--long {
	font-size: calc(var(--nvr-detail-title-size) * .85);
}

.nvr-detail-grid h1.nvr-dynamic-title--very-long {
	font-size: calc(var(--nvr-detail-title-size) * .71);
	line-height: 1;
}

.nvr-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 22px;
	color: var(--nvr-muted);
	font-size: .9em;
}

.nvr-event-meta span::first-letter {
	color: var(--nvr-primary);
}

.nvr-detail-aside,
.nvr-glass {
	padding: 26px;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 26%, transparent);
	border-radius: var(--nvr-radius);
	background: rgba(255, 255, 255, var(--nvr-glass-opacity));
	box-shadow: 0 18px 55px rgba(0, 0, 0, .18);
	backdrop-filter: blur(var(--nvr-blur));
}

.nvr-detail-aside h2 {
	margin: 0 0 8px;
	font-size: 1.3em;
}

.nvr-detail-aside-intro {
	margin: 0 0 22px;
	color: var(--nvr-muted);
	font-size: .88em;
}

.nvr-detail-aside .nvr-btn {
	width: 100%;
	margin-top: 9px;
}

.nvr-live-section {
	padding: clamp(24px, 4vw, 44px) 0 0;
	background: color-mix(in srgb, var(--nvr-panel) 76%, #121f30);
}

.nvr-live-section .nvr-container {
	width: min(calc(100% - 40px), 1160px);
}

.nvr-live-embed {
	padding: clamp(16px, 2vw, 22px);
}

.nvr-live-embed h2 {
	margin: 8px 0 0;
	font-family: var(--nvr-detail-section-font);
	font-size: var(--nvr-detail-section-size);
}

.nvr-live-embed .nvr-vod-player {
	width: 100%;
	margin-top: 16px;
	aspect-ratio: 16 / 9;
}

.nvr-live-embed .nvr-vod-player iframe {
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.nvr-detail-content {
	padding: clamp(60px, 8vw, 100px) 0;
	background: linear-gradient(180deg, color-mix(in srgb, var(--nvr-panel) 72%, #121f30) 0%, color-mix(in srgb, var(--nvr-panel) 78%, #182a40) 50%, color-mix(in srgb, var(--nvr-panel) 72%, #121f30) 100%);
}

.nvr-description {
	margin-top: 54px;
	color: var(--nvr-muted);
}

.nvr-description .nvr-eyebrow {
	margin-bottom: 14px;
}

.nvr-description > *:last-child {
	margin-bottom: 0;
}

.nvr-description h2,
.nvr-description h3,
.nvr-description strong {
	color: var(--nvr-text);
}

.nvr-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(270px, 1fr);
	gap: clamp(40px, 4vw, 56px);
	align-items: start;
}

.nvr-program-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 32px;
}

.nvr-program-heading h2 {
	margin: 0;
	font-family: var(--nvr-detail-section-font);
	font-size: var(--nvr-detail-section-size);
	line-height: 1.1;
}

.nvr-heading-icon {
	display: grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 45%, transparent);
	border-radius: 8px;
	color: var(--nvr-primary);
	background: color-mix(in srgb, var(--nvr-primary) 14%, transparent);
	font-size: 20px;
}

.nvr-agenda,
.nvr-speaker-list {
	display: grid;
	gap: 24px;
}

.nvr-agenda-item {
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-left: 4px solid var(--nvr-primary);
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
	box-shadow: 0 8px 32px rgba(0, 0, 0, .3);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nvr-agenda-item:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--nvr-primary) 45%, transparent);
	border-left-color: var(--nvr-primary);
	box-shadow: 0 10px 34px color-mix(in srgb, var(--nvr-primary) 10%, transparent);
}

.nvr-agenda-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
}

.nvr-agenda-time {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 122px;
	padding: 5px 11px;
	border: 1px solid color-mix(in srgb, var(--nvr-primary) 55%, transparent);
	border-radius: 6px;
	color: color-mix(in srgb, var(--nvr-primary) 72%, white);
	background: color-mix(in srgb, var(--nvr-primary) 18%, transparent);
	font-size: .82em;
	font-weight: 850;
	line-height: 1.2;
	white-space: nowrap;
}

.nvr-agenda-item h3 {
	margin: 0;
	font-size: 1.16em;
	letter-spacing: -.01em;
}

.nvr-agenda-item p {
	margin: 7px 0 0;
	color: var(--nvr-muted);
	font-size: .83em;
}

.nvr-agenda-item small {
	display: block;
	margin-top: 9px;
	color: var(--nvr-text);
	font-size: .75em;
	font-weight: 800;
}

.nvr-agenda-break {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 12px;
	color: var(--nvr-muted);
	background: rgba(255, 255, 255, .05);
	box-shadow: 0 8px 32px rgba(0, 0, 0, .14);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	font-size: .86em;
}

.nvr-agenda-break strong {
	color: var(--nvr-primary);
	font-size: .85em;
	white-space: nowrap;
}

.nvr-speaker {
	display: grid;
	align-items: center;
	justify-items: center;
	gap: 13px;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
	box-shadow: 0 8px 32px rgba(0, 0, 0, .3);
	backdrop-filter: blur(var(--nvr-blur));
	-webkit-backdrop-filter: blur(var(--nvr-blur));
	text-align: center;
	transition: border-color .2s ease, transform .2s ease;
}

.nvr-speaker:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--nvr-primary) 40%, transparent);
}

.nvr-speaker-photo-frame {
	display: block;
	width: 96px;
	height: 96px;
	overflow: hidden;
	border: 2px solid color-mix(in srgb, var(--nvr-primary) 58%, transparent);
	border-radius: 50%;
}

.nvr-speaker img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: center;
	filter: none;
}

.nvr-speaker:hover img {
	filter: none;
}

.nvr-speaker > .nvr-avatar {
	width: 96px;
	height: 96px;
	border: 2px solid color-mix(in srgb, var(--nvr-primary) 58%, transparent);
	border-radius: 50%;
	background: #718096;
}

.nvr-speaker strong {
	font-size: .93em;
}

.nvr-speaker small {
	margin-top: 5px;
	color: var(--nvr-primary);
	font-size: .74em;
}

.nvr-vod {
	margin-top: 54px;
	scroll-margin-top: 32px;
}

.nvr-vod--before-program {
	margin: 0 0 54px;
}

.nvr-vod h2 {
	margin: 7px 0 0;
	font-family: var(--nvr-detail-section-font);
	font-size: var(--nvr-detail-section-size);
}

.nvr-vod-player {
	position: relative;
	width: 100%;
	margin-top: 24px;
	overflow: hidden;
	border-radius: 0;
	background: #02070c;
}

.nvr-vod-player iframe,
.nvr-vod-player video,
.nvr-vod-player .wp-video,
.nvr-vod-player .mejs-container {
	display: block;
	width: 100% !important;
	max-width: 100%;
	border-radius: 0 !important;
}

.nvr-certificate-button {
	border-color: color-mix(in srgb, var(--nvr-success) 72%, white) !important;
	color: #fff !important;
	background: var(--nvr-success) !important;
}

.nvr-certificate-button:hover,
.nvr-certificate-button:focus,
.nvr-certificate-button:visited {
	color: #fff !important;
	background: color-mix(in srgb, var(--nvr-success) 86%, white) !important;
}

/* Rejestracja bezpośrednio na stronie wydarzenia. */
.nvr-inline-registration-form {
	display: grid;
	gap: 13px;
	margin-top: 18px;
}

.nvr-inline-profile-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.nvr-inline-profile-fields label:last-child {
	grid-column: 1 / -1;
}

.nvr-inline-registration-form label > span {
	display: block;
	margin-bottom: 6px;
	color: var(--nvr-muted);
	font-size: .75em;
	font-weight: 700;
}

.nvr-inline-registration-form input:not([type="checkbox"]):not([type="hidden"]),
.nvr-inline-registration-form select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 11px;
	color: var(--nvr-text);
	background: rgba(6, 20, 35, .5);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
	font: inherit;
	font-size: .85em;
}

.nvr-inline-registration-form input:focus,
.nvr-inline-registration-form select:focus {
	border-color: color-mix(in srgb, var(--nvr-primary) 72%, white);
	outline: 2px solid color-mix(in srgb, var(--nvr-primary) 18%, transparent);
	outline-offset: 1px;
}

.nvr-inline-registration-form select option {
	color: #fff;
	background: var(--nvr-bg-dark);
}

.nvr-honeypot {
	position: absolute !important;
	left: -99999px !important;
}

.nvr-form-message {
	display: none;
	margin: 0;
	padding: 12px;
	border-radius: 10px;
	font-size: .8em;
}

.nvr-form-message.is-visible {
	display: block;
}

.nvr-form-message.is-success {
	border: 1px solid color-mix(in srgb, var(--nvr-success) 35%, transparent);
	color: color-mix(in srgb, var(--nvr-success) 70%, white);
	background: color-mix(in srgb, var(--nvr-success) 10%, transparent);
}

.nvr-form-message.is-warning {
	border: 1px solid rgba(255, 209, 92, .55);
	color: #ffe29a;
	background: rgba(255, 196, 46, .12);
}

.nvr-form-message.is-error {
	border: 1px solid color-mix(in srgb, var(--nvr-accent) 35%, transparent);
	color: color-mix(in srgb, var(--nvr-accent) 45%, white);
	background: color-mix(in srgb, var(--nvr-accent) 10%, transparent);
}

.nvr-submit {
	width: 100%;
}

.nvr-inline-registration-form .nvr-submit:disabled {
	cursor: not-allowed;
	opacity: .5;
}

.nvr-inline-registration-form.is-complete .nvr-submit:disabled {
	cursor: default;
	opacity: 1;
}

.nvr-registration-status {
	display: flex;
	width: 100%;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin-top: 9px;
	padding: 13px 15px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: calc(var(--nvr-button-radius) + 1px);
	color: var(--nvr-muted);
	background: rgba(255, 255, 255, .045);
	font-size: .84em;
	font-weight: 750;
	text-align: center;
}

.nvr-registration-status--success {
	border-color: color-mix(in srgb, var(--nvr-success) 36%, transparent);
	color: color-mix(in srgb, var(--nvr-success) 76%, white);
	background: color-mix(in srgb, var(--nvr-success) 10%, transparent);
}

/* Optional card elements and compact point labels. */
.nvr-points-short { display: none; }
.nvr-shell .nvr-event-card h3 a:hover,
.nvr-shell .nvr-event-card h3 a:focus-visible,
.nvr-shell .nvr-event-card h3 a:active { color: var(--nvr-primary) !important; }
.nvr-event-card.nvr-event-card--no-cover { grid-template-columns: minmax(0, 1fr) auto; }
.nvr-event-card--no-cover .nvr-event-actions { grid-column: auto; }
.nvr-training-card--no-date { grid-template-columns: minmax(0, 1fr) auto; }
.nvr-event-body, .nvr-training-copy { min-width: 0; }
.nvr-timer-copy h2 { overflow-wrap: anywhere; }

@media (max-width: 980px) {
	.nvr-event-card {
		grid-template-columns: 220px 1fr;
	}

	.nvr-event-actions {
		grid-column: 2;
		flex-direction: row;
	}

	.nvr-past-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nvr-account-layout,
	.nvr-detail-grid,
	.nvr-content-grid {
		grid-template-columns: 1fr;
	}

	.nvr-account-sidebar {
		position: static;
	}

	.nvr-account-menu {
		display: none;
	}

	.nvr-detail-aside {
		max-width: 580px;
	}

	.nvr-speakers-column .nvr-speaker-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.nvr-container {
		width: min(calc(100% - 28px), var(--nvr-container));
	}

	.nvr-live-section .nvr-container {
		width: min(calc(100% - 28px), 1160px);
	}

	.nvr-event-card {
		grid-template-columns: 1fr;
	}

	.nvr-event-archive .nvr-section-heading h2 { font-size: var(--nvr-upcoming-heading-mobile); }
	.nvr-past-archive .nvr-section-heading h2 { font-size: var(--nvr-past-heading-mobile); }
	.nvr-account .nvr-account-top h2 { font-size: var(--nvr-account-heading-mobile); }
	.nvr-event-archive .nvr-event-body h3 { font-size: var(--nvr-upcoming-card-mobile); }
	.nvr-event-archive .nvr-event-body h3.nvr-dynamic-title--long { font-size: calc(var(--nvr-upcoming-card-mobile) * .86); }
	.nvr-event-archive .nvr-event-body h3.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-upcoming-card-mobile) * .75); }
	.nvr-past-archive .nvr-event-body h3,
	.nvr-past-archive .nvr-past-body h3 { font-size: var(--nvr-past-card-mobile); }
	.nvr-past-archive .nvr-event-body h3.nvr-dynamic-title--long,
	.nvr-past-archive .nvr-past-body h3.nvr-dynamic-title--long { font-size: calc(var(--nvr-past-card-mobile) * .86); }
	.nvr-past-archive .nvr-event-body h3.nvr-dynamic-title--very-long,
	.nvr-past-archive .nvr-past-body h3.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-past-card-mobile) * .75); }
	.nvr-account .nvr-training-copy h3 { font-size: var(--nvr-account-card-mobile); }
	.nvr-account .nvr-training-copy h3.nvr-dynamic-title--long { font-size: calc(var(--nvr-account-card-mobile) * .86); }
	.nvr-account .nvr-training-copy h3.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-account-card-mobile) * .75); }
	.nvr-timer-copy h2 { font-size: var(--nvr-title-mobile, var(--nvr-timer-title-size-mobile)); }
	.nvr-detail-grid h1 { font-size: var(--nvr-detail-title-size-mobile); }
	.nvr-detail-grid h1.nvr-dynamic-title--long { font-size: calc(var(--nvr-detail-title-size-mobile) * .85); }
	.nvr-detail-grid h1.nvr-dynamic-title--very-long { font-size: calc(var(--nvr-detail-title-size-mobile) * .71); }
	.nvr-program-heading h2,
	.nvr-live-embed h2,
	.nvr-vod h2 { font-size: var(--nvr-detail-section-size-mobile); }

	.nvr-event-cover {
		min-height: 205px;
	}

	.nvr-event-actions {
		grid-column: auto;
		flex-direction: row;
	}

	.nvr-past-grid {
		grid-template-columns: 1fr;
	}

	.nvr-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.nvr-summary-card { padding: 12px 10px; gap: 8px; min-width: 0; }
	.nvr-summary-card > span { width: 32px; height: 32px; flex-shrink: 0; }

	.nvr-account-header-row {
		align-items: stretch;
		flex-direction: column;
	}

	.nvr-account-person--header {
		width: 100%;
	}

	.nvr-speakers-column .nvr-speaker-list {
		grid-template-columns: 1fr;
	}

	.nvr-training-date {
		display: flex;
		min-height: auto;
		justify-content: flex-start;
		width: fit-content;
		padding: 5px 9px;
		border-radius: 9px;
		gap: 5px;
		grid-column: 1;
		grid-row: 1;
	}

	.nvr-training-date strong {
		font-size: 1.15em;
	}

	.nvr-training-date span {
		margin-top: 0;
	}

	.nvr-event-card.nvr-event-card--no-cover { grid-template-columns: 1fr; }
	.nvr-training-card,
	.nvr-training-card--no-date {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 9px;
		padding: 12px;
	}
	.nvr-training-copy { display: contents; }
	.nvr-training-copy .nvr-tag-row { grid-column: 2; grid-row: 1; align-self: center; }
	.nvr-training-card--no-date .nvr-tag-row { grid-column: 1 / -1; }
	.nvr-training-copy h3 { grid-column: 1 / -1; grid-row: 2; margin: 0; }
	.nvr-training-copy p { grid-column: 1 / -1; grid-row: 3; margin: 0; font-size: .8em; }
	.nvr-training-actions { grid-column: 1 / -1; grid-row: 4; }
	.nvr-training-copy .nvr-tag { margin-bottom: 0; }
	.nvr-training-copy .nvr-tag-row { margin-bottom: 0; }
	.nvr-training-actions { gap: 7px; }
	.nvr-event-body > .nvr-tag-row,
	.nvr-training-copy .nvr-tag-row {
		flex-wrap: nowrap;
		gap: 5px;
		max-width: 100%;
		overflow-x: auto;
		padding-bottom: 3px;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}
	.nvr-event-body .nvr-tag,
	.nvr-training-copy .nvr-tag { flex: 0 0 auto; padding: 5px 8px; font-size: 11px; }
	.nvr-event-body .nvr-points-full,
	.nvr-training-copy .nvr-points-full,
	.nvr-timer-tags .nvr-points-full { display: none; }
	.nvr-event-body .nvr-points-short,
	.nvr-training-copy .nvr-points-short,
	.nvr-timer-tags .nvr-points-short { display: inline; }

	.nvr-inline-profile-fields {
		grid-template-columns: 1fr;
	}

	.nvr-inline-profile-fields label:last-child {
		grid-column: auto;
	}

	.nvr-countdown {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
	}

	.nvr-countdown div { min-width: 0; padding: 10px 3px; }
	.nvr-countdown strong { font-size: clamp(18px, 5vw, 24px); }
	.nvr-countdown small { font-size: 9px; letter-spacing: .03em; }

	.nvr-timer-copy {
		padding: 0 0 34px;
	}

	.nvr-widget.nvr-timer .nvr-carousel-arrow {
		top: 50%;
		width: 42px;
		height: 42px;
		transform: translateY(-50%);
	}

	.nvr-widget.nvr-timer .nvr-carousel-arrow:hover {
		transform: translateY(-50%) scale(1.08);
	}

	.nvr-carousel-arrow--prev { left: -34px; }
	.nvr-carousel-arrow--next { right: -34px; }

	.nvr-agenda-item {
		padding: 20px;
	}

	.nvr-agenda-main {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.nvr-agenda-time {
		width: fit-content;
	}

	.nvr-agenda-break {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

}

@media (max-width: 470px) {
	.nvr-widget.nvr-timer .nvr-carousel-arrow svg { width: 24px; height: 24px; }

	.nvr-carousel-arrow--prev { left: -20px; }
	.nvr-carousel-arrow--next { right: -20px; }
}

@media (prefers-reduced-motion: reduce) {
	.nvr-shell *,
	.nvr-widget * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
