/* Regole specifiche per la barra orizzontale */
.sidebar-horizontal .sidebar-avatar-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    margin: 0;
    transition: all .2s;
}

.sidebar-horizontal .sidebar-avatar-gradient img {
    width: 78px;
    height: 78px;
    border-radius: 50%;
    border: 3px solid #0f1014;
    background: #0f1014;
    display: block;
    object-fit: cover;
    margin: 0;
    z-index: 2;
    position: relative;
}

.sidebar-horizontal .sidebar-avatar-gradient img:hover {
    border-color: #9d0000;
    transform: scale(1.08);
    box-shadow: 0 6px 16px rgba(157, 0, 0, 0.4);
}
.sidebar-right-offcanvas {
    background: #0f1014 !important;
}
/* Contenitore interno sidebar avatar trasparente */
.sidebar-right-offcanvas-inner {
    background: transparent !important;
}
/* Pulsante apertura sidebar destra nella navbar */
#openSidebarRight {
    transition: background 0.2s, color 0.2s, border 0.2s;
}
#openSidebarRight svg, #openSidebarRight:hover svg, #openSidebarRight:focus svg, #openSidebarRight:active svg {
  opacity: 1 !important;
  display: inline-block !important;
  fill: currentColor !important;
  visibility: visible !important;
}

#openSidebarRight:hover,
#openSidebarRight:focus,
#openSidebarRight:active {
  background: none !important;
  color: inherit !important;
  border: none !important;
  box-shadow: none !important;
}

#openSidebarRight svg path,
#openSidebarRight:hover svg path,
#openSidebarRight:focus svg path,
#openSidebarRight:active svg path {
  fill: currentColor !important;
  stroke: currentColor !important;
  color: #3c6cff !important;
}

#openSidebarRight svg circle,
#openSidebarRight:hover svg circle,
#openSidebarRight:focus svg circle,
#openSidebarRight:active svg circle {
  fill: #3c6cff !important;
}

#openSidebarRight svg path[stroke="#fff"],
#openSidebarRight:hover svg path[stroke="#fff"],
#openSidebarRight:focus svg path[stroke="#fff"],
#openSidebarRight:active svg path[stroke="#fff"] {
  stroke: #fff !important;
}

/* Overlay scuro per sidebar destra offcanvas */
/* Overlay sidebar destra: nascosta di default */
/* Overlay sidebar destra: invisibile di default */
.sidebar-right-overlay {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.45);
    z-index: 1099;
    transition: opacity 0.25s, visibility 0s 0.25s;
}
.sidebar-right-overlay.show {
    visibility: visible;
    background: transparent;
    pointer-events: auto;
    transition: opacity 0.25s;
}

/* Sidebar offcanvas nascosta di default */
/* Sidebar offcanvas: nascosta di default */
/* Sidebar offcanvas: invisibile di default */
/* Sidebar offcanvas: ridotta e con sfondo #0f1014 */

.sidebar-right-offcanvas {
    position: fixed;
    top: 0;
    background: transparent !important;
    right: 0;
    height: 100vh;
    width: auto;
    min-width: 72px;
    max-width: 120px;
    background: #0f1014;
    box-shadow: -2px 0 16px #0003;
    z-index: 1200;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(.4,0,.2,1);
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.sidebar-right-offcanvas.open {
    transform: translateX(0);
}

/* Lista avatar: altezza massima e scroll */

/* Sidebar avatar canali seguiti scrollabile e sempre visibile */
.sidebar-right-avatar-list {
    flex: 1 1 auto;
    overflow-y: auto;
    height: 100vh;
    min-height: 0;
    max-height: 100vh;
    background: #0f1014 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    padding: 16px 8px 16px 8px;
    min-width: 72px;
    max-width: 90px;
    text-align: center;
}
/* ...definizione già presente sopra, riga orfana rimossa... */
@media (max-width: 991px) {
    .sidebar-right-offcanvas {
        
        min-width: 0;
    }
}
/* Sidebar avatar canali seguiti scrollabile */
.sidebar-right-avatar-list {
    height: 100vh;
    min-height: 0;
    max-height: 100vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ccc #fff;
    background: #0f1014 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
}

/* Pulsante chiusura sidebar trasparente */
#closeSidebarRight {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.sidebar-right-avatar-list::-webkit-scrollbar {
    width: 7px;
    background: #fff;
}
.sidebar-right-avatar-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 6px;
}

/* Sidebar avatar canali seguiti */
/* La sidebar avatar non ha sfondo bianco, eredita il colore della sidebar principale */

.sidebar-right-avatar-list h5 {
    font-size: 1rem;
    margin-bottom: 12px;
    color: #9d0000;
    font-weight: 600;
}
.sidebar-right-avatar-list img {
    transition: box-shadow 0.2s;
}
.sidebar-right-avatar-list img:hover {
    box-shadow: 0 0 0 3px #9d000033;
}
.sidebar-right-avatar-list a {
    display: block;
}

/* Titolo dei canali */
.channels-title {
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 600;
}

/* Barra orizzontale centrata */
.sidebar-horizontal {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow-x: auto;
    white-space: nowrap;
    background: #0f1014;
    padding: 10px;
    margin-bottom: 20px;
    height: 210px;
}

.rounded-circle {
    position: relative;
    margin-bottom: 0;
    width: 70px;
    height: 70px;
    object-fit: cover;
    border: none;
}

.badge {
    display: block !important;
}

.text-center.mx-2 {
    height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Stili per il nome del canale nella barra delle sottoscrizioni */
.sidebar-horizontal .channel-name {
    font-size: 12px;
    color: #fff;
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 3px;
    text-align: center;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Selettore più specifico per i nomi nella barra */
.sidebar-horizontal .text-center.mx-2 .channel-name {
    font-size: 12px;
    color: #fff;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 3px;
    text-align: center;
}

/* Selettore ultra-specifico per forzare la visibilità */
div.sidebar-horizontal div.text-center.mx-2 div.channel-name {
    font-size: 12px;
    color: #fff;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 3px;
    text-align: center;
}

/* Selettore generico per i nomi dei canali (fallback) */
.channel-name {
    font-size: 12px;
    color: #fff;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Stili per il nome del canale nell'header (timeline) */
.tag_profile_cover .channel-name {
    font-size: 28px;
    font-weight: 900;
    color: #fff;
    margin-bottom: 6px;
    text-shadow: 0 3px 10px rgba(0,0,0,0.9);
    letter-spacing: 0.8px;
    line-height: 1.1;
    white-space: nowrap;
    overflow: visible;
    text-overflow: unset;
}

.tag_profile_cover .channel-name a {
    color: #fff !important;
    text-decoration: none;
    transition: all 0.3s ease;
    display: block;
}

.tag_profile_cover .channel-name a:hover {
    color: #ff3c3c !important;
    text-shadow: 0 3px 10px rgba(255, 60, 60, 0.8);
    transform: translateX(3px);
}

/* Responsive per barra degli iscritti - Mobile */
@media (max-width: 768px) {
    .sidebar-horizontal {
        height: 190px !important;
        padding: 5px 10px !important;
        margin-bottom: 15px !important;
        overflow-x: auto !important;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    
    .sidebar-horizontal .text-center.mx-2 {
        margin: 0 3px !important;
        min-width: 78px !important;
        flex-shrink: 0 !important;
        height: 80px !important;
    }
    
    .sidebar-horizontal .channel-name {
        font-size: 11px;
        max-width: 78px;
        margin-top: 3px;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .sidebar-horizontal .badge {
        font-size: 9px !important;
        padding: 1px 4px !important;
        margin-top: 3px !important;
    }

    .sidebar-horizontal .sidebar-avatar-gradient {
        width: 78px !important;
        height: 78px !important;
    }

    .sidebar-horizontal .sidebar-avatar-gradient img {
        width: 72px !important;
        height: 72px !important;
    }

    .channels-title {
        font-size: 18px;
        margin-bottom: 10px;
    }
}

/* Responsive per barra degli iscritti - Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .sidebar-horizontal {
        height: 180px !important;
        padding: 8px !important;
    }
    
    .sidebar-horizontal .rounded-circle {
        width: 65px !important;
        height: 65px !important;
    }
    
    .sidebar-horizontal .text-center.mx-2 .channel-name {
        font-size: 11px;
        max-width: 65px;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sidebar-horizontal .sidebar-avatar-gradient {
        width: 80px !important;
        height: 80px !important;
    }

    .sidebar-horizontal .sidebar-avatar-gradient img {
        width: 74px !important;
        height: 74px !important;
    }
}

/* Badge "Nuovo" per pagina video singolo */
.tag_video_title .badge.bg-danger {
    font-size: 12px !important;
    padding: 4px 8px !important;
    margin-left: 8px !important;
    vertical-align: middle;
    line-height: 1.2;
    font-weight: 500;
    border-radius: 3px;
    display: inline-block !important;
}

/* Design moderno e compatto per l'header del canale */
.tag_profile_cover {
    background: #0f1014 !important;
    background-color: #0f1014 !important;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    max-width: 1500px;
    margin: 0 auto;
}

/* Overlay per migliorare la leggibilità dei testi nella lista video - sfumatura dal centro verso l'esterno come sfondo */
.tag_video_grid {
    position: relative;
}

.tag_video_grid::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    background: radial-gradient(circle at center, rgba(15, 16, 20, 0.7) 0%, rgba(15, 16, 20, 0.4) 25%, rgba(15, 16, 20, 0.2) 50%, rgba(15, 16, 20, 0.1) 75%, transparent 100%);
    pointer-events: none;
    z-index: -1;
}



.tag_profile_cover .cover-container img {
    height: 140px;
    object-fit: contain !important;
    filter: brightness(0.9) contrast(1.1);
    width: 100%;
}

.channel-avatar {
    border: 3px solid #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,0.4);
    transition: all 0.3s ease;
    background: linear-gradient(135deg, #ff3c3c, #ff6b6b, #ff9d00, #00ff9d, #009dff, #9d00ff);
    width: 100px;
    height: 100px;
}

.channel-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0,0,0,0.5);
}

/* Miglioramenti aggiuntivi per la visibilità */
.info-container {
    padding: 8px 0;
}



.channel-handle {
    font-size: 16px;
    color: #ccc;
    margin-bottom: 8px;
    font-weight: 500;
    opacity: 0.9;
}

.channel-stats {
    font-size: 15px;
    color: #aaa;
    margin-bottom: 12px;
    font-weight: 500;
    opacity: 0.8;
}

.action-btn-circle {
    background: linear-gradient(135deg, #1a1b1f, #2a2b2f);
    border: none;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0 6px;
    cursor: pointer;
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    overflow: hidden;
}

.action-btn-circle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #9d0000, #ff3c3c);
    opacity: 0;
    transition: opacity 0.4s ease;
    border-radius: 50%;
}

.action-btn-circle:hover {
    background: linear-gradient(135deg, #2a2b2f, #3a3b3f);
    transform: scale(1.1) translateY(-2px);
    box-shadow: 0 8px 20px rgba(157, 0, 0, 0.4);
}

.action-btn-circle:hover::before {
    opacity: 0.1;
}

.action-btn-circle:active {
    transform: scale(0.95) translateY(0);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.action-btn-circle svg {
    width: 20px;
    height: 20px;
    color: #fff;
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
}

.action-btn-circle:hover svg {
    color: #ff6b6b;
    transform: scale(1.1);
    filter: drop-shadow(0 2px 4px rgba(255, 107, 107, 0.4));
}

/* Effetto glow per i pulsanti */
.action-btn-circle::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #9d0000, #ff3c3c, #ff9d00);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: -1;
}

.action-btn-circle:hover::after {
    opacity: 0.3;
    animation: pulse-glow 2s infinite;
}

@keyframes pulse-glow {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(1.05);
    }
}

/* Miglioramento per i pulsanti di iscrizione e notifica */
.tag_profile_cover .btn {
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
}

.tag_profile_cover .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.tag_vid_page_nav {
    background: #0f1014;
    border-radius: 12px;
    padding: 8px 16px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    max-width: 1200px;
    margin: 0 auto;
}

.tag_vid_page_sub_nav .btn {
    padding: 10px 18px;
    margin: 0 4px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    border: none;
}

.tag_vid_page_sub_nav .btn:hover {
    transform: translateY(-2px);
}

.tag_vid_page_sub_nav .btn.btn-main {
    background: #9d0000;
    color: #fff;
    box-shadow: 0 4px 12px rgba(157, 0, 0, 0.4);
}

.tag_vid_page_sub_nav .btn.content {
    background: transparent;
    color: #ccc;
    border: 1px solid #333;
}

.tag_vid_page_sub_nav .btn.content:hover {
    background: #1a1b1f;
    color: #fff;
    border-color: #555;
}

/* Responsive per header canale */
@media (max-width: 768px) {
    .tag_profile_cover .cover-container img {
        height: 100px;
    }
    
    .channel-avatar {
        width: 90px !important;
        height: 90px !important;
    }
    
    .tag_profile_cover .channel-name {
        font-size: 24px;
    }
    
    .tag_vid_page_nav {
        padding: 6px 12px;
    }
    
    .tag_vid_page_sub_nav .btn {
        padding: 8px 14px;
        font-size: 13px;
        margin: 0 2px;
    }

    .action-btn-circle {
        width: 44px;
        height: 44px;
        margin: 0 4px;
    }

    .action-btn-circle svg {
        width: 18px;
        height: 18px;
    }

    .action-btn-circle:hover {
        transform: scale(1.08) translateY(-1px);
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .channel-avatar {
        width: 95px !important;
        height: 95px !important;
    }
    
    .tag_profile_cover .channel-name {
        font-size: 26px;
    }

    .action-btn-circle {
        width: 46px;
        height: 46px;
    }

    .action-btn-circle svg {
        width: 19px;
        height: 19px;
    }
}

/* Menu utente e form ricerca: restano in primo piano sulla pagina newsfeed, anche sopra la barra mobile */
.tag_search_menu,
.tag_noti_menu,
.tag_user_menu {
    z-index: 10100 !important;
}

/* Menu utente: full-screen sopra il newsfeed, senza gap (desktop e mobile) */
body.user_menu_open .tag_user_menu:not(.osk-nav-drawer) {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Backdrop full-screen quando un menu e' aperto */
body.search_menu_open .head_menu_backdrop,
body.noti_menu_open .head_menu_backdrop,
body.user_menu_open .head_menu_backdrop {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    min-height: 100vh !important;
}

body.user_menu_open .tag_user_menu .p-4 {
    flex: 1 1 auto;
    min-height: 0;
}

/* Concept D: pannello fullscreen – regole base in user-menu-dashboard.css */
body.user_menu_open .tag_user_menu.umd-menu .umd-shell {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 1240px !important;
	height: calc(100vh - 32px) !important;
	height: calc(100dvh - 32px) !important;
	max-height: calc(100vh - 32px) !important;
	max-height: calc(100dvh - 32px) !important;
	min-height: 0 !important;
}

@media (max-width: 991px) {
	body.user_menu_open .tag_user_menu.umd-menu {
		overflow: hidden !important;
		min-height: 0 !important;
	}

	body.user_menu_open .tag_user_menu.umd-menu .umd-shell {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		max-height: 100dvh !important;
		min-height: 0 !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		border-radius: 0 !important;
	}
}

/* Sidebar e backdrop sopra newsfeed quando un menu è aperto */
body.search_menu_open .head_sidebar,
body.noti_menu_open .head_sidebar,
body.user_menu_open .head_sidebar {
    z-index: 10099 !important;
}

body.search_menu_open .head_menu_backdrop,
body.noti_menu_open .head_menu_backdrop,
body.user_menu_open .head_menu_backdrop {
    z-index: 10098 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ricerca e notifiche: pannello laterale a destra della sidebar, visibili quando aperti */
body.search_menu_open .tag_search_menu,
body.noti_menu_open .tag_noti_menu {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: min(420px, 100vw) !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    background: var(--body-bg) !important;
    box-shadow: 4px 0 24px rgb(0 0 0 / 14%) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Contenuto scrollabile nei menu ricerca/notifiche */
body.search_menu_open .tag_search_menu .w-100.p-4,
body.noti_menu_open .tag_noti_menu .w-100.p-4 {
    flex: 1 1 auto;
    min-height: 0;
}

/* Ricerca e notifiche: full-screen su mobile */
@media (max-width: 991.98px) {
    body.search_menu_open .tag_search_menu,
    body.noti_menu_open .tag_noti_menu {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }
}

/* Menu ricerca: scrollabile */
.tag_search_menu {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* ===== HOME HERO — featured slider con badge integrato ===== */
.home-hero-wrap {
	padding-top: 1rem;
	padding-bottom: 0;
	margin-bottom: 2rem;
	width: 100%;
	max-width: 100%;
}
@media (min-width: 992px) {
	.home-page-shell .home-hero-wrap {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}
.home-hero.home-hero--featured {
	min-height: 0;
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(128,128,128,.14);
	box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 10px 32px rgba(0,0,0,.08);
}
.home-hero.home-hero--featured .swiper_feat_vid,
.home-hero.home-hero--featured .swiper-wrapper,
.home-hero.home-hero--featured .swiper-slide {
	min-height: 400px;
	height: 400px;
}
.home-hero.home-hero--featured .swiper-slide {
	position: relative;
}
.home-hero__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(0,0,0,.58);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,.12);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
	max-width: calc(100% - 2rem);
}
.home-hero__badge-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--main, #e60000);
	box-shadow: 0 0 0 3px rgba(230,0,0,.18);
	flex-shrink: 0;
}
.home-hero__link {
	display: block;
	position: absolute;
	inset: 0;
}
.home-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1.02);
}
.home-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 42%, rgba(0,0,0,.12) 100%),
	            linear-gradient(to top, rgba(0,0,0,.55) 0%, transparent 55%);
}
.home-hero__content {
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.5rem 1.5rem 1.4rem;
	z-index: 2;
	max-width: 72%;
}
.home-hero__title {
	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.28;
	margin-bottom: .35rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.home-hero__title a:hover {
	color: rgba(255,255,255,.92) !important;
}
.home-hero__meta {
	font-size: .86rem;
	margin-bottom: 0;
}
.home-hero__channel {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: .45rem;
	color: rgba(255,255,255,.92);
	text-decoration: none;
	max-width: 100%;
}
.home-hero__channel:hover {
	color: #fff;
	text-decoration: none;
}
.home-hero__channel-avatar {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid rgba(255,255,255,.25);
	flex-shrink: 0;
}
.home-hero__channel-name {
	font-size: .88rem;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.home-hero__cta .btn {
	border-radius: 6px;
	font-weight: 600;
	transition: transform .18s ease, box-shadow .18s ease;
}
.home-hero__cta .btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0,0,0,.22);
}

/* Shorts home: card verticali stile Reels */
.tag_short_home {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 0.5rem 0;
    gap: 1rem;
}
.tag_short_home_list {
    flex-shrink: 0;
    scroll-snap-align: start;
    width: 140px;
    min-width: 140px;
    aspect-ratio: 9/16;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transition: transform 0.2s, box-shadow 0.2s;
}
.tag_short_home_list:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.tag_short_home_list a {
    display: block;
    height: 100%;
    position: relative;
}
.tag_short_home_list img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.tag_short_home_list .info {
    background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
    padding-top: 3rem;
}
.tag_short_create a {
    border: 2px dashed rgba(0,0,0,0.2);
    color: var(--body-color);
}
.tag_short_create a:hover {
    border-color: var(--main-color, #dc3545);
    color: var(--main-color, #dc3545);
}

/* Canali che segui: titolo e barra */
.channels-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
}
.sidebar-horizontal {
    padding-bottom: 0.5rem;
}

/* Griglia video In tendenza: card arrotondate */
.tag_video_grid .tag_video_grid_list {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: box-shadow 0.2s, transform 0.2s;
}
.tag_video_grid .tag_video_grid_list:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}
.tag_video_grid .tag_video_grid_list .thumb {
    border-radius: 12px 12px 0 0;
}

@media (max-width: 991.98px) {
    .home-hero-wrap { padding-top: .75rem; margin-bottom: 1.5rem; }
    .home-hero.home-hero--featured .swiper_feat_vid,
    .home-hero.home-hero--featured .swiper-wrapper,
    .home-hero.home-hero--featured .swiper-slide { min-height: 300px; height: 300px; }
    .home-hero__content { max-width: 92%; padding: 1rem; }
    .home-hero__title { font-size: 1.25rem; }
    .home-hero__badge { top: .75rem; left: .75rem; font-size: .62rem; padding: 5px 10px; }
    .home-hero__channel-avatar { width: 24px; height: 24px; }
    .home-hero__channel-name { font-size: .82rem; }
    .tag_short_home_list {
        width: 120px;
        min-width: 120px;
    }
}
@media (max-width: 575.98px) {
    .home-hero-wrap { margin-bottom: 1.25rem; }
    .home-hero.home-hero--featured .swiper_feat_vid,
    .home-hero.home-hero--featured .swiper-wrapper,
    .home-hero.home-hero--featured .swiper-slide { min-height: 240px; height: 240px; }
    .home-hero__content { max-width: 100%; padding: .85rem .9rem; }
    .home-hero__title { font-size: 1.05rem; -webkit-line-clamp: 2; }
    .home-hero__meta { font-size: .78rem; }
    .home-hero__badge { max-width: calc(100% - 1.5rem); }
    .home-hero__cta .btn { padding: .35rem .75rem !important; font-size: .82rem; }
}
