/* Oskurati — Mobile top contextual + bottom tab bar */

.osk-mobile-menu-btn,
.osk-mobile-header-search-wrap,
.osk-mobile-header-action,
.osk-mobile-msg-inbox-btn,
.osk-mobile-msg-common-btn,
.osk-mobile-msg-toolbar-btn {
	display: none;
}

/* Offcanvas / sheet: nascosti su desktop */
.osk-mobile-nav-offcanvas,
.osk-mobile-create-sheet {
	display: none !important;
}

@media (min-width: 992px) {
	.osk-mobile-msg-inbox-drawer,
	.osk-mobile-msg-common-drawer {
		display: none !important;
	}

	/* Desktop /messages — solo header MSG-31, zero toolbar mobile messenger */
	body[data-osk-page="messages"] .osk-mobile-msg-inbox-btn,
	body[data-osk-page="messages"] .osk-mobile-msg-common-btn,
	body[data-osk-page="messages"] .osk-mobile-msg-toolbar-btn,
	body.osk-msg-mobile-mode .osk-mobile-msg-inbox-btn,
	body.osk-msg-mobile-mode .osk-mobile-msg-common-btn {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	body[data-osk-page="messages"] .osk-mobile-menu-btn {
		display: none !important;
	}

	body[data-osk-page="messages"] .osk-mobile-header-search-wrap {
		display: none !important;
	}

	body[data-osk-page="messages"] .navbar-header,
	body[data-osk-page="messages"] .osk-header-center,
	body[data-osk-page="messages"] #oskHeaderActionWrap,
	body[data-osk-page="messages"] .osk-header-bar__action {
		display: flex !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	body[data-osk-page="messages"] .osk-header-actions,
	body[data-osk-page="messages"] .osk-header-shell > .dropdown.nav {
		display: flex !important;
	}
}

:root {
	--osk-mobile-bottom-h: 56px;
	--osk-mobile-top-h: 52px;
}

/* ── Bottom tab bar (tutte le pagine, mobile) ── */
.osk-mobile-bottom-nav {
	display: none;
}

.osk-newsfeed-nav__sidebar-btns {
	display: none;
}

@media (max-width: 991.98px) {
	body.osk-mobile-shell.osk-topnav-layout {
		--osk-mobile-bottom-total: calc(var(--osk-mobile-bottom-h) + env(safe-area-inset-bottom, 0px));
	}

	.osk-mobile-bottom-nav {
		display: grid !important;
		grid-template-columns: repeat(5, 1fr);
		align-items: end;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1060;
		height: calc(var(--osk-mobile-bottom-h) + env(safe-area-inset-bottom, 0px));
		padding: 0 4px env(safe-area-inset-bottom, 0px);
		background: rgba(10, 10, 10, 0.96);
		backdrop-filter: blur(16px) saturate(1.2);
		-webkit-backdrop-filter: blur(16px) saturate(1.2);
		border-top: 1px solid rgba(128, 128, 128, 0.16);
		box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.28);
	}

	.osk-mobile-bottom-nav__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
		gap: 3px;
		min-height: var(--osk-mobile-bottom-h);
		padding: 6px 2px 8px;
		border: 0;
		background: transparent;
		color: rgba(255, 255, 255, 0.55);
		text-decoration: none;
		font-size: 10px;
		font-weight: 600;
		line-height: 1;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		transition: color 0.15s ease;
	}

	.osk-mobile-bottom-nav__item span:not(.osk-mobile-bottom-nav__fab):not(.osk-mobile-bottom-nav__fab-label) {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.osk-mobile-bottom-nav__item svg {
		display: block;
		flex-shrink: 0;
	}

	.osk-mobile-bottom-nav__item svg.osk-mobile-bottom-nav__icon--video {
		width: 26px;
		height: 26px;
	}

	.osk-mobile-bottom-nav__item--video.is-active svg.osk-mobile-bottom-nav__icon--video,
	.osk-mobile-bottom-nav__item--video:active svg.osk-mobile-bottom-nav__icon--video {
		filter: drop-shadow(0 0 6px rgba(230, 0, 0, 0.35));
	}

	.osk-mobile-bottom-nav__item.is-active,
	.osk-mobile-bottom-nav__item:active {
		color: var(--main, #e60000);
	}

	.osk-mobile-bottom-nav__item--ghost {
		pointer-events: none;
		visibility: hidden;
	}

	.osk-mobile-bottom-nav__item--center {
		justify-content: flex-end;
		padding-bottom: 4px;
	}

	.osk-mobile-bottom-nav__fab {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		margin-top: -18px;
		border-radius: 50%;
		background: linear-gradient(145deg, #ff1a1a, #c40000);
		color: #fff;
		box-shadow: 0 6px 20px rgba(230, 0, 0, 0.42);
		border: 2px solid rgba(255, 255, 255, 0.12);
	}

	.osk-mobile-bottom-nav__item--center.is-active .osk-mobile-bottom-nav__fab {
		box-shadow: 0 8px 24px rgba(230, 0, 0, 0.55);
	}

	.osk-mobile-bottom-nav__fab-label {
		font-size: 10px;
		font-weight: 700;
		color: inherit;
		margin-top: 2px;
	}

	.osk-mobile-bottom-nav__avatar {
		width: 28px;
		height: 28px;
		border-radius: 50%;
		object-fit: cover;
		border: none;
		background: transparent;
	}

	.osk-mobile-bottom-nav__item--avatar {
		position: relative;
	}

	.osk-mobile-bottom-nav__badge {
		position: absolute;
		top: 4px;
		right: calc(50% - 22px);
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		background: #e10600;
		color: #fff;
		font-size: 9px;
		line-height: 16px;
		font-weight: 700;
		display: none;
		align-items: center;
		justify-content: center;
		pointer-events: none;
	}

	.osk-mobile-bottom-nav__badge:not(:empty) {
		display: inline-flex;
	}

	/* Spazio contenuto sotto la bottom bar */
	body.osk-topnav-layout .main-content {
		padding-bottom: var(--osk-mobile-bottom-total) !important;
	}

	body.osk-topnav-layout .oskurati-music-bar {
		bottom: var(--osk-mobile-bottom-total) !important;
	}

	body.osk-topnav-layout .oskurati-music-bar + .oskurati-music-queue,
	body.osk-topnav-layout .oskurati-music-now-playing {
		bottom: calc(var(--osk-mobile-bottom-total) + 56px) !important;
	}

	/* ── Top bar mobile: hamburger sinistra + azione dinamica destra ── */
	body.osk-topnav-layout .tag_header {
		height: auto;
		min-height: var(--osk-mobile-top-h);
		padding: 0 10px;
	}

	body.osk-topnav-layout .osk-header-shell {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "menu search action";
		align-items: center;
		gap: 8px;
		min-height: var(--osk-mobile-top-h);
		height: auto;
		width: 100%;
	}

	body.osk-topnav-layout .osk-mobile-menu-btn {
		grid-area: menu;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 1px solid rgba(128, 128, 128, 0.18);
		border-radius: 12px;
		background: rgba(128, 128, 128, 0.08);
		color: rgba(255, 255, 255, 0.92);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		transition: background 0.15s ease, border-color 0.15s ease;
	}

	body.osk-topnav-layout .osk-mobile-menu-btn.is-active {
		background: rgba(230, 0, 0, 0.14);
		border-color: rgba(230, 0, 0, 0.35);
		color: var(--main, #e60000);
	}

	body.osk-topnav-layout .osk-mobile-menu-btn__bars {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 18px;
	}

	body.osk-topnav-layout .osk-mobile-menu-btn__bars span {
		display: block;
		height: 2px;
		border-radius: 2px;
		background: currentColor;
		transition: transform 0.22s ease, opacity 0.18s ease;
	}

	body.osk-topnav-layout .osk-mobile-menu-btn.is-active .osk-mobile-menu-btn__bars span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	body.osk-topnav-layout .osk-mobile-menu-btn.is-active .osk-mobile-menu-btn__bars span:nth-child(2) {
		opacity: 0;
	}

	body.osk-topnav-layout .osk-mobile-menu-btn.is-active .osk-mobile-menu-btn__bars span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	body.osk-topnav-layout .osk-mobile-header-search-wrap {
		grid-area: search;
		display: flex !important;
		align-items: center;
		min-width: 0;
		width: 100%;
	}

	body.osk-topnav-layout .osk-mobile-header-search-wrap #oskGlobalSearchWrap,
	body.osk-topnav-layout .osk-mobile-header-search-wrap .osk-header-bar__search,
	body.osk-topnav-layout .osk-mobile-header-search-wrap .osk-global-search {
		display: block !important;
		width: 100%;
		max-width: none;
		flex: 1 1 auto;
		min-width: 0;
	}

	body.osk-topnav-layout .osk-mobile-header-search-wrap .osk-global-search__form {
		height: 38px;
		min-height: 38px;
		border-radius: 12px;
		background: rgba(128, 128, 128, 0.1);
		border: 1px solid rgba(128, 128, 128, 0.16);
	}

	body.osk-topnav-layout .osk-mobile-header-search-wrap .osk-global-search__input {
		font-size: 0.88rem;
		padding: 0 10px;
	}

	body.osk-topnav-layout .osk-mobile-header-search-wrap .osk-global-search__submit {
		width: 36px;
		flex-shrink: 0;
	}

	body.osk-topnav-layout .osk-mobile-header-search-wrap .osk-global-search__panel {
		left: 0;
		right: 0;
		width: auto;
		max-width: none;
		top: calc(100% + 6px);
	}

	body.osk-topnav-layout .osk-mobile-header-action {
		grid-area: action;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		min-width: 0;
	}

	body.osk-topnav-layout .osk-mobile-header-action #oskHeaderActionWrap {
		display: flex !important;
		align-items: center;
	}

	body.osk-topnav-layout .osk-mobile-header-search,
	body.osk-topnav-layout .navbar-header,
	body.osk-topnav-layout .osk-header-center,
	body.osk-topnav-layout .osk-header-actions,
	body.osk-topnav-layout .osk-header-shell > .dropdown.nav {
		display: none !important;
	}

	body.osk-mobile-shell .osk-header-bar__search-group,
	body.osk-mobile-shell .osk-header-bar__nav {
		display: none !important;
	}

	.osk-mobile-bottom-nav__fab {
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease;
	}

	.osk-mobile-bottom-nav__fab-plus {
		display: block;
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
		transform-origin: center;
	}

	#oskMobileCreateFab.is-open .osk-mobile-bottom-nav__fab {
		transform: rotate(45deg);
		box-shadow: 0 8px 24px rgba(230, 0, 0, 0.55);
	}

	#oskMobileCreateFab.is-open {
		color: var(--main, #e60000);
	}

	body.osk_create_sheet_open .osk-mobile-bottom-nav__item:not(#oskMobileCreateFab) {
		opacity: 0.45;
	}

	body.osk-topnav-layout {
		--osk-nav-h: var(--osk-mobile-top-h);
		--osk-nav-gap: 8px;
	}

	.osk-mobile-nav-offcanvas {
		display: block !important;
		position: fixed;
		inset: 0;
		z-index: 10100;
		pointer-events: none;
		visibility: hidden;
	}

	.osk-mobile-nav-offcanvas.is-open {
		pointer-events: none;
		visibility: visible;
	}

	.osk-mobile-nav-offcanvas.is-open .osk-mobile-nav-offcanvas__backdrop,
	.osk-mobile-nav-offcanvas.is-open .osk-mobile-nav-offcanvas__panel {
		pointer-events: auto;
	}

	.osk-mobile-nav-offcanvas__backdrop {
		position: absolute;
		top: var(--osk-mobile-top-h, 52px);
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(0, 0, 0, 0.52);
		opacity: 0;
		transition: opacity 0.24s ease;
	}

	.osk-mobile-nav-offcanvas.is-open .osk-mobile-nav-offcanvas__backdrop {
		opacity: 1;
	}

	.osk-mobile-nav-offcanvas__panel {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(88vw, 320px);
		max-width: 100%;
		display: flex;
		flex-direction: column;
		background: rgba(14, 14, 14, 0.98);
		border-right: 1px solid rgba(128, 128, 128, 0.16);
		box-shadow: 12px 0 40px rgba(0, 0, 0, 0.38);
		transform: translateX(-104%);
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
		padding: calc(12px + env(safe-area-inset-top, 0px)) 14px calc(16px + env(safe-area-inset-bottom, 0px));
		overflow: hidden;
	}

	.osk-mobile-nav-offcanvas.is-open .osk-mobile-nav-offcanvas__panel {
		transform: translateX(0);
	}

	.osk-mobile-nav-offcanvas__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		margin-bottom: 14px;
	}

	.osk-mobile-nav-offcanvas__logo img {
		display: block;
		height: 28px;
		width: auto;
		max-width: 150px;
		object-fit: contain;
	}

	.osk-mobile-nav-offcanvas__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border: 0;
		border-radius: 10px;
		background: rgba(128, 128, 128, 0.12);
		color: rgba(255, 255, 255, 0.85);
		cursor: pointer;
	}

	.osk-mobile-nav-offcanvas__menu {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding-right: 2px;
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.osk-mobile-nav-offcanvas__menu #oskHeaderContextual {
		display: block !important;
		width: 100%;
		overflow: visible;
	}

	.osk-mobile-nav-offcanvas__menu .osk-header-bar__contextual-pane {
		display: block !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-header-bar__contextual-pane.d-none {
		display: none !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-home-nav__inner,
	.osk-mobile-nav-offcanvas__menu .osk-newsfeed-nav__inner,
	.osk-mobile-nav-offcanvas__menu .osk-music-nav__inner,
	.osk-mobile-nav-offcanvas__menu .osk-topics-nav__inner {
		width: 100%;
	}

	.osk-mobile-nav-offcanvas__menu .osk-home-nav__filters,
	.osk-mobile-nav-offcanvas__menu .osk-newsfeed-nav__filters,
	.osk-mobile-nav-offcanvas__menu .osk-music-nav__filters,
	.osk-mobile-nav-offcanvas__menu .osk-music-nav__common-filters,
	.osk-mobile-nav-offcanvas__menu .osk-topics-nav__filters,
	.osk-mobile-nav-offcanvas__menu .osk-newsfeed-nav__sidebar-btns {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		overflow: visible;
		flex-wrap: nowrap;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.osk-mobile-nav-offcanvas__menu .osk-home-nav__chip,
	.osk-mobile-nav-offcanvas__menu .osk-newsfeed-nav__chip,
	.osk-mobile-nav-offcanvas__menu .osk-music-ai-nav__chip,
	.osk-mobile-nav-offcanvas__menu .osk-newsfeed-nav__sidebar-btn,
	.osk-mobile-nav-offcanvas__menu .home-chip {
		display: flex !important;
		align-items: center;
		width: 100%;
		justify-content: flex-start !important;
		min-height: 44px;
		height: auto;
		line-height: 1.2 !important;
		padding: 10px 12px !important;
		border-radius: 12px;
		font-size: 0.92rem;
		gap: 10px;
		text-align: left;
	}

	.osk-mobile-nav-offcanvas__menu .osk-home-nav__chip-label,
	.osk-mobile-nav-offcanvas__menu .osk-home-nav__chip-icon {
		display: inline-flex !important;
		flex-shrink: 0;
	}

	.osk-mobile-nav-offcanvas__menu .osk-home-nav__chip-icon svg {
		width: 18px;
		height: 18px;
	}

	body.osk_mobile_menu_open {
		overflow: hidden;
	}

	.osk-mobile-create-sheet {
		display: block !important;
		position: fixed;
		inset: 0;
		z-index: 1075;
		pointer-events: none;
		visibility: hidden;
	}

	.osk-mobile-create-sheet.is-open {
		pointer-events: auto;
		visibility: visible;
	}

	.osk-mobile-create-sheet__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.55);
		opacity: 0;
		transition: opacity 0.22s ease;
	}

	.osk-mobile-create-sheet.is-open .osk-mobile-create-sheet__backdrop {
		opacity: 1;
	}

	.osk-mobile-create-sheet__panel {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(16, 16, 16, 0.98);
		border-top: 1px solid rgba(128, 128, 128, 0.16);
		border-radius: 18px 18px 0 0;
		padding: 8px 16px calc(20px + var(--osk-mobile-bottom-total, 56px) + env(safe-area-inset-bottom, 0px));
		transform: translateY(105%);
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
		max-height: min(78vh, 520px);
		overflow-y: auto;
		pointer-events: none;
		z-index: 2;
	}

	.osk-mobile-create-sheet__panel > * {
		pointer-events: auto;
	}

	.osk-mobile-create-sheet__backdrop {
		z-index: 1;
	}

	.osk-mobile-create-sheet__head {
		position: relative;
		padding-right: 40px;
	}

	.osk-mobile-create-sheet__close {
		position: absolute;
		top: 0;
		right: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border: 0;
		border-radius: 10px;
		background: rgba(128, 128, 128, 0.12);
		color: #fff;
		cursor: pointer;
	}

	.osk-mobile-create-sheet.is-open .osk-mobile-create-sheet__panel {
		transform: translateY(0);
	}

	.osk-mobile-create-sheet__handle {
		width: 40px;
		height: 4px;
		border-radius: 999px;
		background: rgba(128, 128, 128, 0.35);
		margin: 4px auto 14px;
	}

	.osk-mobile-create-sheet__title {
		margin: 0 0 4px;
		font-size: 1.15rem;
		font-weight: 700;
		color: #fff;
	}

	.osk-mobile-create-sheet__lead {
		margin: 0 0 16px;
		font-size: 0.88rem;
		color: rgba(255, 255, 255, 0.58);
	}

	.osk-mobile-create-sheet__actions {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.osk-mobile-create-sheet__item {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px 14px;
		border-radius: 14px;
		background: rgba(128, 128, 128, 0.08);
		border: 1px solid rgba(128, 128, 128, 0.12);
		color: #fff;
		text-decoration: none;
		transition: background 0.15s ease, border-color 0.15s ease;
	}

	.osk-mobile-create-sheet__item:active {
		background: rgba(230, 0, 0, 0.1);
		border-color: rgba(230, 0, 0, 0.28);
	}

	.osk-mobile-create-sheet__icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		border-radius: 12px;
		background: rgba(230, 0, 0, 0.12);
		color: var(--main, #e60000);
		flex-shrink: 0;
	}

	.osk-mobile-create-sheet__icon--short {
		background: rgba(255, 255, 255, 0.08);
		color: #fff;
	}

	.osk-mobile-create-sheet__icon--live {
		background: rgba(230, 0, 0, 0.16);
		color: #ff6b6b;
	}

	.osk-mobile-create-sheet__icon--radio {
		background: rgba(196, 160, 255, 0.14);
		color: #c4a0ff;
	}

	.osk-mobile-create-sheet__copy {
		display: flex;
		flex-direction: column;
		gap: 2px;
		min-width: 0;
	}

	.osk-mobile-create-sheet__copy strong {
		font-size: 0.95rem;
		font-weight: 700;
	}

	.osk-mobile-create-sheet__copy span {
		font-size: 0.8rem;
		color: rgba(255, 255, 255, 0.55);
	}

	body.osk_create_sheet_open {
		overflow: hidden;
	}

	/* Messenger mobile — top bar: conversazioni | ricerca globale | in comune */
	body:not([data-osk-page="messages"]) .osk-mobile-msg-inbox-btn,
	body:not([data-osk-page="messages"]) .osk-mobile-msg-common-btn {
		display: none !important;
	}

	body[data-osk-page="messages"] .osk-mobile-menu-btn,
	body[data-osk-page="messages"] #oskHeaderActionWrap,
	body[data-osk-page="messages"] .osk-header-bar__action {
		display: none !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}

	body[data-osk-page="messages"] .osk-mobile-msg-inbox-btn {
		grid-area: menu;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 1px solid rgba(128, 128, 128, 0.18);
		border-radius: 12px;
		background: rgba(128, 128, 128, 0.08);
		color: rgba(255, 255, 255, 0.92);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	body[data-osk-page="messages"] .osk-mobile-header-action {
		display: none !important;
	}

	body[data-osk-page="messages"] .osk-mobile-msg-common-btn {
		grid-area: action;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 3;
		pointer-events: auto !important;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 1px solid rgba(128, 128, 128, 0.18);
		border-radius: 12px;
		background: rgba(128, 128, 128, 0.08);
		color: rgba(255, 255, 255, 0.92);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	body[data-osk-page="messages"] .osk-mobile-msg-toolbar-btn.is-active {
		background: rgba(230, 0, 0, 0.14);
		border-color: rgba(230, 0, 0, 0.35);
		color: var(--main, #e60000);
	}

	.osk-mobile-msg-inbox-drawer__head,
	.osk-mobile-msg-common-drawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 16px;
		border-bottom: 1px solid rgba(128, 128, 128, 0.14);
		flex: 0 0 auto;
	}

	.osk-mobile-msg-inbox-drawer__title,
	.osk-mobile-msg-common-drawer__title {
		margin: 0;
		font-size: 1rem;
		font-weight: 700;
		color: rgba(255, 255, 255, 0.94);
	}

	.osk-mobile-msg-inbox-drawer__close,
	.osk-mobile-msg-common-drawer__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		padding: 0;
		border: 1px solid rgba(128, 128, 128, 0.18);
		border-radius: 10px;
		background: rgba(128, 128, 128, 0.08);
		color: rgba(255, 255, 255, 0.9);
		cursor: pointer;
	}

	.osk-mobile-msg-inbox-drawer {
		display: block !important;
		position: fixed;
		inset: 0;
		z-index: 10300;
		pointer-events: none;
		visibility: hidden;
	}

	.osk-mobile-msg-inbox-drawer.is-open {
		pointer-events: auto;
		visibility: visible;
	}

	.osk-mobile-msg-inbox-drawer__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.52);
		opacity: 0;
		transition: opacity 0.24s ease;
	}

	.osk-mobile-msg-inbox-drawer.is-open .osk-mobile-msg-inbox-drawer__backdrop {
		opacity: 1;
	}

	.osk-mobile-msg-inbox-drawer__panel {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(92vw, 360px);
		max-width: 100%;
		display: flex;
		flex-direction: column;
		background: rgba(14, 14, 14, 0.98);
		border-right: 1px solid rgba(128, 128, 128, 0.16);
		box-shadow: 12px 0 40px rgba(0, 0, 0, 0.38);
		transform: translateX(-104%);
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
		overflow: hidden;
	}

	.osk-mobile-msg-inbox-drawer.is-open .osk-mobile-msg-inbox-drawer__panel {
		transform: translateX(0);
	}

	.osk-mobile-msg-inbox-drawer__dock {
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	body.osk_msg_inbox_drawer_open {
		overflow: hidden;
	}

	/* Drawer destro — In comune */
	.osk-mobile-msg-common-drawer {
		display: block !important;
		position: fixed;
		inset: 0;
		z-index: 10310;
		pointer-events: none;
		visibility: hidden;
	}

	.osk-mobile-msg-common-drawer.is-open {
		pointer-events: auto;
		visibility: visible;
	}

	.osk-mobile-msg-common-drawer__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.52);
		opacity: 0;
		transition: opacity 0.24s ease;
	}

	.osk-mobile-msg-common-drawer.is-open .osk-mobile-msg-common-drawer__backdrop {
		opacity: 1;
	}

	.osk-mobile-msg-common-drawer__panel {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(92vw, 360px);
		max-width: 100%;
		display: flex;
		flex-direction: column;
		background: rgba(14, 14, 14, 0.98);
		border-left: 1px solid rgba(128, 128, 128, 0.16);
		box-shadow: -12px 0 40px rgba(0, 0, 0, 0.38);
		transform: translateX(104%);
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
		overflow: hidden;
	}

	.osk-mobile-msg-common-drawer.is-open .osk-mobile-msg-common-drawer__panel {
		transform: translateX(0);
	}

	.osk-mobile-msg-common-drawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 16px;
		border-bottom: 1px solid rgba(128, 128, 128, 0.14);
		flex: 0 0 auto;
	}

	.osk-mobile-msg-common-drawer__title {
		margin: 0;
		font-size: 1rem;
		font-weight: 700;
		color: rgba(255, 255, 255, 0.94);
	}

	.osk-mobile-msg-common-drawer__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		padding: 0;
		border: 1px solid rgba(128, 128, 128, 0.18);
		border-radius: 10px;
		background: rgba(128, 128, 128, 0.08);
		color: rgba(255, 255, 255, 0.9);
		cursor: pointer;
	}

	.osk-mobile-msg-common-drawer__dock {
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	body.osk_msg_common_drawer_open {
		overflow: hidden;
	}

	/* Cookie banner — dark, sopra bottom nav (non copre FAB) */
	body.osk-mobile-shell .cc-window {
		left: 8px !important;
		right: 8px !important;
		bottom: calc(var(--osk-mobile-bottom-total, 56px) + 8px) !important;
		max-width: none !important;
		width: auto !important;
		z-index: 1055 !important;
		border-radius: 12px !important;
		box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45) !important;
	}

	body.osk-mobile-shell .cc-window .cc-message {
		font-size: 0.88rem;
		line-height: 1.45;
	}

	/* Menu offcanvas — shortcut categorie */
	.osk-mobile-nav-offcanvas__extras {
		flex-shrink: 0;
		padding: 0 4px 8px;
		border-top: 1px solid rgba(128, 128, 128, 0.14);
		margin-top: 4px;
	}

	.osk-mobile-nav-offcanvas__cats-btn {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		min-height: 44px;
		padding: 10px 12px;
		border: 0;
		border-radius: 12px;
		background: rgba(230, 0, 0, 0.12);
		color: #fff;
		font-size: 0.92rem;
		font-weight: 600;
		cursor: pointer;
	}

	.osk-mobile-nav-offcanvas__cats-btn svg {
		flex-shrink: 0;
		opacity: 0.9;
	}

	.osk-mobile-nav-offcanvas__cats-btn[hidden] {
		display: none !important;
	}

	/* Settings page — menu nel drawer sinistro (non nel contenuto) */
	body.osk-mobile-shell[data-osk-page="settings"] .osk-settings-sidebar-col {
		display: none !important;
	}

	body.osk-mobile-shell[data-osk-page="settings"] .container > h2.display-4 {
		font-size: 1.35rem;
		font-weight: 800;
		margin-bottom: 0.75rem !important;
	}

	body.osk-mobile-shell.osk-settings-mobile-nav #oskHeaderContextual.osk-mobile-menu-settings-hidden {
		display: none !important;
	}

	.osk-mobile-settings-nav-head {
		flex-shrink: 0;
		padding: 4px 12px 8px;
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.45);
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		overflow: visible !important;
		white-space: normal !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 2px;
		border: 0;
		background: transparent;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		min-height: 44px;
		padding: 10px 12px !important;
		border-radius: 12px;
		font-size: 0.92rem !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		color: rgba(255, 255, 255, 0.82) !important;
		white-space: normal !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a:hover {
		color: #fff !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a > div.d-flex.align-items-center {
		flex-wrap: nowrap !important;
		gap: 12px !important;
		min-width: 0;
		flex: 1 1 auto;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a > div svg {
		width: 20px !important;
		height: 20px !important;
		flex: 0 0 20px !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a > svg {
		display: none !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a:not(:last-child):after,
	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a.active:after {
		display: none !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a.active:before {
		border-radius: 12px !important;
		opacity: 0.14 !important;
	}

	.osk-mobile-nav-offcanvas__menu .osk-settings-nav a.active {
		color: var(--main, #e60000) !important;
	}

	/* Search hub — titolo pagina */
	body.osk-mobile-shell[data-osk-page="search"] .osk-search-hub__title,
	body.osk-mobile-shell[data-osk-page="search"] .osk-search-hub h1 {
		display: block !important;
		font-size: 1.35rem;
		font-weight: 800;
		margin: 0 0 12px;
		padding: 0 4px;
	}

	/* Newsfeed — composer commenti visibile su mobile */
	body.osk-mobile-shell .osk-nf-comment-composer--modal .osk-nf-comment-compose-open {
		display: flex !important;
		width: 100%;
	}

	body.osk-mobile-shell .comment-section .osk-nf-comment-composer--modal {
		display: block !important;
	}

	/* Messenger — copy empty state mobile vs desktop */
	.osk-msg-empty-copy--mobile {
		display: none;
	}

	@media (max-width: 991.98px) {
		.osk-msg-empty-copy--desktop {
			display: none;
		}

		.osk-msg-empty-copy--mobile {
			display: inline;
		}
	}
}

/* NAV-12 /messages mobile — header visibile (override style.css pt-messenger-locked) */
@media (max-width: 991.98px) {
	body.pt-messenger-locked.osk-mobile-shell.osk-topnav-layout[data-osk-page="messages"] .tag_header {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 10200 !important;
		height: auto !important;
		min-height: var(--osk-mobile-top-h, 52px) !important;
		max-height: var(--osk-mobile-top-h, 52px) !important;
		overflow: hidden !important;
	}

	body.pt-messenger-locked.osk-mobile-shell.osk-topnav-layout[data-osk-page="messages"] .main-content {
		margin-top: 0 !important;
		padding-top: var(--osk-msg-anchor-top, var(--osk-mobile-top-h, 52px)) !important;
		top: 0 !important;
	}
}

/* 13-14 laptop: navbar desktop compatta, senza hamburger.
   Chip + Video/Music/Newsfeed visibili. Messenger invariato. */
@media (min-width: 992px) and (max-width: 1439.98px) {
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-mobile-menu-btn,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-mobile-header-search-wrap,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-mobile-header-action,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-mobile-nav-offcanvas {
		display: none !important;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-shell {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) auto !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .navbar-header {
		grid-column: 1;
		display: block !important;
		justify-self: start;
		flex-shrink: 0;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .navbar-brand img {
		max-height: 32px;
		max-width: 108px;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-center {
		grid-column: 2;
		display: flex !important;
		align-items: center;
		justify-self: stretch;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		margin: 0;
		padding: 0 4px;
		overflow: visible !important;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-bar {
		gap: 5px;
		overflow-x: auto;
		overflow-y: hidden;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-bar__contextual,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-bar__nav,
	body.osk-topnav-layout:not([data-osk-page="messages"]) #oskTopNavWrap,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav {
		display: flex !important;
		flex: 0 0 auto;
		flex-shrink: 0;
		min-width: 0;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-home-nav__chip,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .home-chip,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-home-nav__cats-btn {
		height: 32px;
		min-height: 32px;
		width: 32px;
		padding: 0 !important;
		min-width: 32px;
		gap: 0;
		justify-content: center;
		font-size: 0;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-home-nav__chip-label,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-home-nav__cats-btn-label {
		display: none !important;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-home-nav__chip-icon,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-home-nav__chip-icon svg {
		width: 15px;
		height: 15px;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav {
		gap: 2px;
		padding-left: 6px;
		margin-left: 2px;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav__link,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav__btn {
		display: inline-flex !important;
		align-items: center;
		height: 32px;
		padding: 0 6px;
		gap: 4px;
		font-size: 0.75rem;
		min-width: 0;
		justify-content: flex-start;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav__label {
		display: inline !important;
		font-size: 0.75rem;
		line-height: 1;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav__link svg,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-top-nav__btn svg {
		width: 16px;
		height: 16px;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-bar__search-group {
		flex: 1 1 120px;
		min-width: 110px;
		max-width: 180px;
		gap: 4px;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-bar__action {
		margin-left: 0;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-actions,
	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-shell > .dropdown.nav {
		grid-column: 3;
		display: flex !important;
		justify-self: end;
		align-items: center;
		gap: 6px;
		flex-shrink: 0;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-user__name {
		display: none !important;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-user {
		max-width: none;
		padding: 0 6px 0 5px;
		height: 34px;
		gap: 0;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-feed-settings {
		width: 34px;
		height: 34px;
	}

	body.osk-topnav-layout:not([data-osk-page="messages"]) .osk-header-create__btn {
		height: 34px;
		padding: 0 10px !important;
		gap: 5px;
		font-size: 0.8rem;
	}
}
