/**
 * NetHub Featured Posts Widget - Specific Styles
 * Core carousel and navigation logic inherited from flickity-carousel-base.css
 */

/* --- Blog Card Design --- */
.nethub-posts-carousel-wrapper .blog-card {
    cursor: pointer;
    background: #ffffff;
    border-radius: 32px;
    border: 1px solid var(--brand-border-color);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.nethub-posts-carousel-wrapper .card-image { 
    height: 240px; 
    background-size: cover; 
    background-position: center; 
    border-radius: 31px 31px 0 0;
    flex-shrink: 0; 
}

.nethub-posts-carousel-wrapper .card-tag { 
    position: absolute; 
    top: 20px; 
    left: 20px; 
    background: var(--brand-teal); 
    color: #fff; 
    padding: 6px 14px; 
    border-radius: 100px; 
    font-size: 11px; 
    font-weight: 700; 
    text-transform: uppercase; 
}

.nethub-posts-carousel-wrapper .card-body { 
    padding: 32px; 
    display: flex; 
    flex-direction: column; 
    flex-grow: 1; 
}

.nethub-posts-carousel-wrapper .card-date { 
    color: var(--brand-teal); 
    font-weight: 700; 
    font-size: 13px; 
    margin-bottom: 12px; 
}

.nethub-posts-carousel-wrapper .card-body .h4 { 
    font-size: 20px; 
    font-weight: 800; 
    color: var(--text-dark); 
    line-height: 1.3; 
    margin-bottom: 0;
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nethub-posts-carousel-wrapper .contents { margin-top: 15px; }
.nethub-posts-carousel-wrapper .contents p { 
    color: var(--text-muted); 
    font-size: 15px; 
    line-height: 1.6; 
    margin-bottom: 25px; 
}

.nethub-posts-carousel-wrapper .full-card-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}

.nethub-posts-carousel-wrapper .read-more { 
    margin-top: auto; 
    display: flex; 
    text-decoration: none; 
    color: var(--text-dark); 
    font-weight: 700; 
    font-size: 14px; 
    transition: color 0.3s ease; 
}

.nethub-posts-carousel-wrapper .carousel-cell:hover .read-more { 
    color: var(--brand-teal); 
}

.nethub-posts-carousel-wrapper .read-more .btn-arrow {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.nethub-posts-carousel-wrapper .carousel-cell:hover .read-more .btn-arrow {
    transform: translateX(5px);
}

/* --- Layout Contained Specifics --- */
.nethub-posts-carousel-wrapper.layout-contained .blog-card {
    background: #fff;
    border-radius: 32px;
    border: 1px solid var(--brand-border-color);
	padding: 32px;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nethub-posts-carousel-wrapper.layout-contained .blog-card:hover {
	box-shadow: unset;
}

.nethub-posts-carousel-wrapper.layout-contained .card-image { 
    height: 160px; 
    background-size: cover; 
    background-position: center; 
    border-radius: 24px;
    position: relative;
}

.nethub-posts-carousel-wrapper.layout-contained .card-body { padding: 32px 0 0 0; flex-grow: 1; display: flex; flex-direction: column; }

.nethub-posts-carousel-wrapper.layout-contained .card-body .h4 {
    font-size: 17px;
    font-weight: 700;
	line-height: 1.4;
	-webkit-line-clamp: 2;
}

/* --- Tablet / Mobile Hover & Utility Bar Adjustments --- */
@media (min-width: 768px) {
    .nethub-posts-carousel-wrapper .blog-card:hover {
        transform: translateY(-10px);
        border-color: var(--brand-teal);
        box-shadow: 0 20px 40px rgba(0, 136, 149, 0.08);
        z-index: 10;
    }
}

@media (min-width: 768px) and (max-width: 1399px) {
	.nethub-container-card .e-child .nethub-posts-carousel-wrapper .carousel-cell {
		width: 100%;
	}
}

@media (max-width: 1024px) {
    .nethub-posts-carousel-wrapper.full-width .carousel-cell { width: calc(60% - 15px) !important; } 
}

@media (max-width: 767px) {
	
	.nethub-carousel-wrapper .carousel-cell {
        width: 100% !important;
    }
	
    .nethub-posts-carousel-wrapper .blog-card { transform: none !important; }
	
	.nethub-posts-carousel-wrapper.layout-contained .mobile-nav-container {
		margin-top: 0;
	}
}

