.ivt-mobile-portal-header,
			.ivt-mobile-header-spacer,
			.ivt-mobile-menu-close {
				display: none;
			}

			/*
			 * The Breakdance sticky controller releases the teacher sidebar near
			 * the bottom of a tall page. Keep only the desktop teacher sidebar
			 * independently attached to the viewport; its own content may scroll.
			 */
			@media (min-width: 1025px) {

				body.ivt-teacher-portal-route
					.student-dashboard-layout
					> .pin-spacer:first-child
					> .bde-globalblock,
				body.ivt-teacher-portal-route
					.student-dashboard-layout
					> .bde-globalblock:first-child {
					position: fixed !important;
					top: 0 !important;
					right: auto !important;
					bottom: auto !important;
					left: 0 !important;
					z-index: 100 !important;
					width: 270px !important;
					height: 100vh !important;
					height: 100dvh !important;
					margin: 0 !important;
					-webkit-transform: none !important;
					transform: none !important;
				}

				body.ivt-teacher-portal-route
					.student-portal-sidebar {
					position: relative !important;
					top: 0 !important;
					right: auto !important;
					bottom: auto !important;
					left: 0 !important;
					width: 270px !important;
					max-width: 270px !important;
					height: 100vh !important;
					height: 100dvh !important;
					min-height: 0 !important;
					max-height: 100vh !important;
					max-height: 100dvh !important;
					overflow-x: hidden !important;
					overflow-y: auto !important;
					overscroll-behavior: contain !important;
					-webkit-overflow-scrolling: touch;
				}

				body.admin-bar.ivt-teacher-portal-route
					.student-dashboard-layout
					> .pin-spacer:first-child
					> .bde-globalblock,
				body.admin-bar.ivt-teacher-portal-route
					.student-dashboard-layout
					> .bde-globalblock:first-child {
					top: 32px !important;
					height: calc(100vh - 32px) !important;
					height: calc(100dvh - 32px) !important;
				}

				body.admin-bar.ivt-teacher-portal-route
					.student-portal-sidebar {
					top: 0 !important;
					height: calc(100vh - 32px) !important;
					height: calc(100dvh - 32px) !important;
					max-height: calc(100vh - 32px) !important;
					max-height: calc(100dvh - 32px) !important;
				}
			}

			@media (max-width: 1024px) {

				/*
				 * A mobil fejléc már 1024 px alatt átveszi a portál
				 * vezérlését. Ugyanezen a törésponton a Breakdance
				 * kétoszlopos shellt is egysávossá kell tenni, különben
				 * 768–1024 px között a tartalom a 220 px-es oldalsáv-
				 * oszlopba kerül.
				 */
				html.ivt-mobile-header-ready,
				html.ivt-mobile-header-ready body {
					width: 100% !important;
					max-width: 100% !important;
					overflow-x: clip !important;
				}

				html.ivt-mobile-header-ready #student-content-main,
				html.ivt-mobile-header-ready .student-dashboard-layout {
					display: block !important;
					grid-template-columns: minmax(0, 1fr) !important;
					width: 100% !important;
					max-width: 100% !important;
					min-width: 0 !important;
				}

				html.ivt-mobile-header-ready #student-content-main-0,
				html.ivt-mobile-header-ready #student-content,
				html.ivt-mobile-header-ready
					.student-dashboard-layout
					.student-main,
				html.ivt-mobile-header-ready
					.student-dashboard-layout
					.student-content {
					width: 100% !important;
					max-width: 100% !important;
					min-width: 0 !important;
					margin-left: 0 !important;
					box-sizing: border-box !important;
				}

				/*
				 * A sticky könyvtár pin-spacere egyes tanári oldalakon
				 * -40 px margót örököl. Mobilon ez húzta a címet a fix
				 * fejléc mögé.
				 */
				html.ivt-mobile-header-ready
					.student-dashboard-layout
					> .pin-spacer:first-child,
				html.ivt-mobile-header-ready
					#student-content-main
					> .pin-spacer:first-child {
					margin-top: 0 !important;
				}

				html.ivt-mobile-menu-open,
				body.ivt-mobile-menu-open {
					overflow: hidden !important;
					overscroll-behavior: none !important;
				}

				/*
				 * Az eredeti Breakdance fejléc addig látszik,
				 * amíg az új mobilfejléc el nem készült.
				 * Ez akadályozza meg a villanást és az üres felső sávot.
				 */
				html.ivt-mobile-header-ready
					.student-portal-header {
					display: none !important;
				}

				/* ==========================================
				   ÚJ MOBIL/TABLET FEJLÉC
				========================================== */

				.ivt-mobile-portal-header {
					position: fixed !important;
					top: 0 !important;
					left: 0 !important;
					right: 0 !important;
					z-index: 90000 !important;

					-webkit-backface-visibility: hidden !important;
					backface-visibility: hidden !important;
					-webkit-transform: translate3d(0, 0, 0) !important;
					transform: translate3d(0, 0, 0) !important;

					display: flex !important;
					align-items: center !important;
					justify-content: center !important;
					flex-wrap: nowrap !important;
					gap: 0 !important;

					width: 100% !important;
					max-width: 100% !important;
					min-width: 0 !important;

					height: auto !important;
					min-height: 74px !important;

					margin: 0 !important;

					padding-top:
						max(11px, env(safe-area-inset-top)) !important;
					padding-right:
						max(16px, env(safe-area-inset-right)) !important;
					padding-bottom: 11px !important;
					padding-left:
						max(16px, env(safe-area-inset-left)) !important;

					background: #ffffff !important;
					box-shadow:
						0 6px 20px rgba(8, 38, 83, 0.09) !important;

					-webkit-transform: translate3d(0, 0, 0) !important;
					transform: translate3d(0, 0, 0) !important;
					opacity: 1 !important;

					transition:
						transform 0.26s ease,
						opacity 0.2s ease !important;

					will-change: transform, opacity;
					box-sizing: border-box !important;
				}


				.ivt-mobile-portal-header.is-hidden {
					-webkit-transform:
						translate3d(0, -112%, 0) !important;
					transform:
						translate3d(0, -112%, 0) !important;
					opacity: 0 !important;
					pointer-events: none !important;
				}

				html.ivt-mobile-menu-open
					.ivt-mobile-portal-header {
					-webkit-transform:
						translate3d(0, 0, 0) !important;
					transform:
						translate3d(0, 0, 0) !important;
					opacity: 1 !important;
				}

				/*
				 * Mobilon a WordPress admin bar se tolhatja le
				 * a portálfejlécet. A fejléc mindig a viewport
				 * valódi felső széléhez rögzül.
				 */
				body.admin-bar
					.ivt-mobile-portal-header {
					top: 46px !important;
				}

				.ivt-mobile-header-spacer {
					display: block !important;

					width: 100% !important;
					height:
						var(--ivt-mobile-header-height, 74px) !important;
					min-height:
						var(--ivt-mobile-header-height, 74px) !important;

					margin: 0 !important;
					padding: 0 !important;

					pointer-events: none !important;
				}

				/* ==========================================
				   HAMBURGER – BAL OLDAL
				========================================== */

				.ivt-mobile-menu-toggle {
					position: absolute !important;
					top: 50% !important;
					right: max(16px, env(safe-area-inset-right)) !important;
					left: auto !important;
					z-index: 3 !important;

					display: inline-flex !important;
					align-items: center !important;
					justify-content: center !important;
					flex: 0 0 48px !important;

					transform: translateY(-50%) !important;

					width: 48px !important;
					height: 48px !important;
					min-width: 48px !important;
					min-height: 48px !important;

					margin: 0 !important;
					padding: 0 !important;

					background: #0b376f !important;
					border: 1px solid #0b376f !important;
					border-radius: 50% !important;

					color: #ffffff !important;
					cursor: pointer !important;

					box-shadow:
						0 7px 18px rgba(8, 46, 104, 0.2) !important;

					box-sizing: border-box !important;
				}

				.ivt-mobile-menu-toggle:hover,
				.ivt-mobile-menu-toggle:focus-visible {
					background: #082e68 !important;
					border-color: #082e68 !important;
					outline:
						3px solid rgba(59, 130, 246, 0.22) !important;
					outline-offset: 2px !important;
				}

				.ivt-mobile-menu-toggle-icon {
					position: relative !important;
					display: block !important;

					width: 23px !important;
					height: 16px !important;

					pointer-events: none !important;
				}

				.ivt-mobile-menu-toggle-icon::before,
				.ivt-mobile-menu-toggle-icon::after,
				.ivt-mobile-menu-toggle-icon span {
					position: absolute !important;
					left: 0 !important;

					display: block !important;

					width: 23px !important;
					height: 2px !important;

					background: #ffffff !important;
					border-radius: 999px !important;

					content: "" !important;
				}

				.ivt-mobile-menu-toggle-icon::before {
					top: 0 !important;
				}

				.ivt-mobile-menu-toggle-icon span {
					top: 7px !important;
				}

				.ivt-mobile-menu-toggle-icon::after {
					top: 14px !important;
				}

				html.ivt-mobile-menu-open
					.ivt-mobile-menu-toggle {
					visibility: hidden !important;
					opacity: 0 !important;
					pointer-events: none !important;
				}

				/* ==========================================
				   LOGÓ – JOBB OLDAL
				========================================== */

				.ivt-mobile-header-logo {
					display: flex !important;
					align-items: center !important;
					justify-content: center !important;

					width: 100% !important;
					max-width: calc(100% - 128px) !important;
					min-width: 0 !important;

					margin: 0 !important;
					padding: 0 !important;

					overflow: hidden !important;
					box-sizing: border-box !important;
				}

				.ivt-mobile-header-logo > * {
					display: flex !important;
					align-items: center !important;
					justify-content: center !important;

					width: auto !important;
					max-width: 100% !important;
					min-width: 0 !important;

					margin: 0 !important;
					padding: 0 !important;

					background: transparent !important;
					border: 0 !important;
					box-shadow: none !important;
				}

				.ivt-mobile-header-logo img,
				.ivt-mobile-header-logo picture,
				.ivt-mobile-header-logo svg {
					display: block !important;

					width: auto !important;
					max-width: min(230px, 100%) !important;
					height: auto !important;
					max-height: 48px !important;

					margin: 0 !important;
					object-fit: contain !important;
				}

				/* ==========================================
				   TELJES KÉPERNYŐS MENÜ – JOBBRÓL BALRA
				========================================== */

				.student-portal-sidebar {
					position: fixed !important;
					inset: 0 !important;
					z-index: 99999 !important;

					display: block !important;

					width: 100% !important;
					max-width: none !important;
					min-width: 100% !important;

					height: 100vh !important;
					height: 100dvh !important;
					min-height: 100vh !important;
					min-height: 100dvh !important;

					margin: 0 !important;

					padding-top:
						max(
							82px,
							calc(env(safe-area-inset-top) + 72px)
						) !important;
					padding-right:
						max(20px, env(safe-area-inset-right)) !important;
					padding-bottom:
						max(28px, env(safe-area-inset-bottom)) !important;
					padding-left:
						max(20px, env(safe-area-inset-left)) !important;

					overflow-x: hidden !important;
					overflow-y: auto !important;
					overscroll-behavior: contain !important;
					-webkit-overflow-scrolling: touch !important;

					background: #082e68 !important;

					visibility: hidden !important;
					opacity: 0 !important;
					pointer-events: none !important;

					-webkit-transform: none !important;
					transform: none !important;
					-webkit-clip-path: inset(0 0 0 100%) !important;
					clip-path: inset(0 0 0 100%) !important;

					transition:
						clip-path 0.32s ease,
						opacity 0.24s ease,
						visibility 0s linear 0.32s !important;

					contain: layout paint !important;
					will-change: clip-path, opacity;
					box-sizing: border-box !important;
				}

				.student-portal-sidebar.is-mobile-menu-open {
					visibility: visible !important;
					opacity: 1 !important;
					pointer-events: auto !important;

					-webkit-transform: none !important;
					transform: none !important;
					-webkit-clip-path: inset(0) !important;
					clip-path: inset(0) !important;

					transition:
						clip-path 0.32s ease,
						opacity 0.24s ease,
						visibility 0s linear 0s !important;
				}

				.student-portal-sidebar
					> *:not(.ivt-mobile-menu-close) {
					width: 100% !important;
					max-width: 720px !important;

					margin-right: auto !important;
					margin-left: auto !important;

					box-sizing: border-box !important;
				}

				/* ==========================================
				   BEZÁRÓGOMB
				========================================== */

				.ivt-mobile-menu-close {
					position: fixed !important;
					top: max(16px, env(safe-area-inset-top)) !important;
					right: max(18px, env(safe-area-inset-right)) !important;
					left: auto !important;
					z-index: 100001 !important;

					display: inline-flex !important;
					align-items: center !important;
					justify-content: center !important;

					width: 50px !important;
					height: 50px !important;
					min-width: 50px !important;
					min-height: 50px !important;

					margin: 0 !important;
					padding: 0 !important;

					background:
						rgba(255, 255, 255, 0.12) !important;
					border:
						1px solid rgba(255, 255, 255, 0.38) !important;
					border-radius: 50% !important;

					color: #ffffff !important;
					cursor: pointer !important;

					backdrop-filter: blur(8px) !important;
					-webkit-backdrop-filter: blur(8px) !important;

					box-shadow:
						0 8px 22px rgba(0, 0, 0, 0.17) !important;

					box-sizing: border-box !important;
				}

				.ivt-mobile-menu-close-icon {
					position: relative !important;
					display: block !important;

					width: 26px !important;
					height: 26px !important;

					pointer-events: none !important;
				}

				.ivt-mobile-menu-close-icon::before,
				.ivt-mobile-menu-close-icon::after {
					position: absolute !important;
					top: 12px !important;
					left: 1px !important;

					display: block !important;

					width: 24px !important;
					height: 2px !important;

					background: #ffffff !important;
					border-radius: 999px !important;

					content: "" !important;
					transform-origin: center !important;
				}

				.ivt-mobile-menu-close-icon::before {
					transform: rotate(45deg) !important;
				}

				.ivt-mobile-menu-close-icon::after {
					transform: rotate(-45deg) !important;
				}
			}

			@media (max-width: 782px) {

				body.admin-bar
					.ivt-mobile-portal-header {
					top: 46px !important;
				}

				body.admin-bar
					.ivt-mobile-menu-close {
					top: max(
						62px,
						calc(
							env(safe-area-inset-top) + 46px
						)
					) !important;
				}

				body.admin-bar
					.student-portal-sidebar {
					padding-top: max(
						128px,
						calc(
							env(safe-area-inset-top) + 118px
						)
					) !important;
				}
			}

			@media (max-width: 580px) {

				html.ivt-mobile-header-ready
					.ivt-sp .sp-table-wrap {
					overflow: visible !important;
				}

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders,
				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders tbody {
					display: block !important;
					width: 100% !important;
					min-width: 0 !important;
				}

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders thead {
					position: absolute !important;
					width: 1px !important;
					height: 1px !important;
					padding: 0 !important;
					margin: -1px !important;
					overflow: hidden !important;
					clip: rect(0 0 0 0) !important;
					clip-path: inset(50%) !important;
					white-space: nowrap !important;
					border: 0 !important;
				}

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders tbody tr {
					display: block !important;
					margin: 0 0 14px !important;
					padding: 8px 14px !important;
					border: 1px solid #e3eaf3 !important;
					border-radius: 14px !important;
					background: #ffffff !important;
					box-shadow: 0 8px 24px rgba(15, 45, 82, 0.06) !important;
				}

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders tbody td {
					display: grid !important;
					grid-template-columns: minmax(88px, 0.72fr) minmax(0, 1.28fr) !important;
					gap: 12px !important;
					align-items: center !important;
					width: 100% !important;
					padding: 10px 0 !important;
					border: 0 !important;
					border-bottom: 1px solid #edf1f5 !important;
					text-align: right !important;
					box-sizing: border-box !important;
				}

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders tbody td:last-child {
					border-bottom: 0 !important;
				}

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders tbody td::before {
					color: #61748d !important;
					font-size: 12px !important;
					font-weight: 800 !important;
					line-height: 1.35 !important;
					text-align: left !important;
				}

				html.ivt-mobile-header-ready .ivt-sp table.sp-orders tbody td:nth-child(1)::before { content: "Rendelés"; }
				html.ivt-mobile-header-ready .ivt-sp table.sp-orders tbody td:nth-child(2)::before { content: "Dátum"; }
				html.ivt-mobile-header-ready .ivt-sp table.sp-orders tbody td:nth-child(3)::before { content: "Állapot"; }
				html.ivt-mobile-header-ready .ivt-sp table.sp-orders tbody td:nth-child(4)::before { content: "Összeg"; }
				html.ivt-mobile-header-ready .ivt-sp table.sp-orders tbody td:nth-child(5)::before { content: "Részletek"; }

				html.ivt-mobile-header-ready
					.ivt-sp table.sp-orders .sp-downloads {
					display: flex !important;
					justify-content: flex-end !important;
				}
			}

			@media (min-width: 1200px) {

				.student-lessons-filter-panel {
					grid-template-columns:
						280px
						minmax(110px, 1fr)
						minmax(120px, 1fr)
						145px
						minmax(190px, 1.6fr)
						135px !important;
				}
			}

			@media (prefers-reduced-motion: reduce) {

				.ivt-mobile-portal-header,
				.student-portal-sidebar {
					transition: none !important;
				}
			}
