/**
 * News Portal Blocks Frontend Stylesheet
 *
 * Scoped styles reproducing News Portal classic widget layouts and styling
 * for the 8 migrated Gutenberg blocks.
 *
 * All theme-controlled dynamic colors (primary colors, title hovers, category badges,
 * active tabs, slider arrows, and social buttons) are inherited naturally from the
 * News Portal theme's dynamic styles.
 *
 * @package MysteryThemes_Toolkit
 * @since 1.1.0
 */

/* Clearfix */
.np-clearfix:before,
.np-clearfix:after,
.np-block-wrapper:before,
.np-block-wrapper:after,
.np-ads-wrapper:before,
.np-ads-wrapper:after,
.np-recent-posts-wrapper:before,
.np-recent-posts-wrapper:after,
.np-featured-posts-wrapper:before,
.np-featured-posts-wrapper:after,
.np-default-tabbed-wrapper:before,
.np-default-tabbed-wrapper:after,
.np-single-post:before,
.np-single-post:after,
.np-single-post-wrap:before,
.np-single-post-wrap:after,
.np-primary-block-wrap:before,
.np-primary-block-wrap:after,
.np-secondary-block-wrap:before,
.np-secondary-block-wrap:after {
	content: "";
	display: table;
	clear: both;
}

/* Global Widget Baseline */
.np-block.news_portal_ads_banner,
.np-block.news_portal_recent_posts,
.np-block.news_portal_social_media,
.np-block.news_portal_block_posts,
.np-block.news_portal_featured_posts,
.np-block.news_portal_tabbed_posts,
.np-block.news_portal_default_tabbed,
.np-block.news_portal_carousel,
.np-block.news_portal_featured_slider {
	display: block;
	width: 100%;
	margin-bottom: 30px;
	box-sizing: border-box;
}

.np-block.news_portal_ads_banner *,
.np-block.news_portal_recent_posts *,
.np-block.news_portal_social_media *,
.np-block.news_portal_block_posts *,
.np-block.news_portal_featured_posts *,
.np-block.news_portal_tabbed_posts *,
.np-block.news_portal_default_tabbed *,
.np-block.news_portal_carousel *,
.np-block.news_portal_featured_slider * {
	box-sizing: border-box;
}

/* Titles */
.np-block-title,
.widget-title {
	background: #f7f7f7;
	border: 1px solid #e1e1e1;
	border-left: none;
	border-right: none;
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 20px;
	padding: 6px 20px;
	text-transform: uppercase;
	text-align: left;
	line-height: 1.5;
	position: relative;
	clear: both;
}

.np-block-title a,
.widget-title a {
	color: inherit;
	text-decoration: none;
}

.np-title {
	position: relative;
}

/* Post Titles & Links */
.np-post-title.large-size,
.np-post-title.small-size {
	margin: 15px 0 10px;
	text-transform: capitalize;
}

.np-post-title.large-size a,
.np-post-title.small-size a {
	color: #333;
	display: block;
	font-size: 16px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.np-post-title.small-size {
	line-height: 22px;
	margin: 2px 0 3px;
}

.np-post-title.small-size a {
	font-size: 14px;
	font-weight: 500;
}

/* Post Meta */
.np-post-meta {
	font-size: 12px;
	color: #a6a6a6;
	margin-bottom: 6px;
}

.np-post-meta span,
.np-post-meta span a {
	color: #a6a6a6;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	transition: all 0.5s ease;
	display: inline-block;
	text-decoration: none;
}

.np-post-meta span {
	margin-right: 15px;
}

/* Post Excerpt */
.np-post-excerpt {
	margin-top: 12px;
	font-size: 14px;
	color: #555;
	line-height: 1.6;
}

.np-post-excerpt p {
	margin-bottom: 0;
}

/* Thumbnails & Hover Zoom Effect */
.np-post-thumb,
.np-slide-thumb {
	overflow: hidden;
}

.np-post-thumb img,
.np-slide-thumb img {
	width: 100%;
	height: auto;
	display: block;
	transition: all 0.3s ease;
	transform: scale(1) rotate(0deg);
	opacity: 1;
}

.np-post-thumb:hover img,
.np-slide-thumb:hover img {
	transform: scale(1.05) rotate(1deg);
	opacity: 0.8;
}

/* Category Badge Buttons */
.post-cats-list {
	margin-bottom: 8px;
}

.category-button {
	display: inline-block;
	margin-right: 6px;
	margin-bottom: 4px;
}

.category-button a {
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 8px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	letter-spacing: 0.5px;
	transition: background-color 0.2s ease;
}

/* --------------------------------------------------------------------------
   1. Ads Banner
   -------------------------------------------------------------------------- */
.news_portal_ads_banner {
	text-align: center;
}

.news_portal_ads_banner img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   2. Recent Posts (Classic Widget Matching - No border, exact spacing)
   -------------------------------------------------------------------------- */
.news_portal_recent_posts .np-recent-posts-wrapper ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.news_portal_recent_posts .np-recent-posts-wrapper ul li {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: none;
}

.news_portal_recent_posts .np-recent-posts-wrapper .np-single-post {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: none;
	clear: both;
	overflow: hidden;
}

.news_portal_recent_posts .np-recent-posts-wrapper .np-post-thumb {
	float: left;
	width: 30%;
}

.news_portal_recent_posts .np-recent-posts-wrapper .np-post-content {
	float: left;
	margin-left: 4%;
	width: 66%;
}

/* --------------------------------------------------------------------------
   3. Social Media (Classic Widget Matching)
   -------------------------------------------------------------------------- */
.mt-social-icons-wrapper {
	text-align: center;
	margin-bottom: -20px;
}

.news_portal_social_media .social-link {
	display: inline-block;
	vertical-align: top;
	margin-bottom: 10px;
}

.news_portal_social_media .social-link a {
	color: #fff;
	display: block;
	margin-right: 10px;
	padding: 7px 14px;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.news_portal_social_media .social-link i {
	font-size: 14px;
	color: #fff;
}

/* --------------------------------------------------------------------------
   4. Block Posts
   -------------------------------------------------------------------------- */
/* Layout 1: Primary 48% (Large Post) + Secondary 49% (Small Posts List) */
.news_portal_block_posts .layout1 .np-primary-block-wrap {
	float: left;
	width: 48%;
}

.news_portal_block_posts .layout1 .np-secondary-block-wrap {
	float: right;
	width: 49%;
}

.news_portal_block_posts .layout1 .np-secondary-block-wrap .np-single-post {
	border-bottom: 1px solid #e1e1e1;
	margin-bottom: 12px;
	padding-bottom: 12px;
	clear: both;
	overflow: hidden;
}

.news_portal_block_posts .layout1 .np-secondary-block-wrap .np-single-post:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.news_portal_block_posts .layout1 .np-secondary-block-wrap .np-post-thumb {
	float: left;
	width: 30%;
}

.news_portal_block_posts .layout1 .np-secondary-block-wrap .np-post-content {
	float: right;
	width: 66%;
}

/* Layout 2: Two Big Posts (47% each) + 4 Small Posts (47% each in 2 columns) */
.news_portal_block_posts .layout2 .np-primary-block-wrap,
.news_portal_block_posts .layout2 .np-secondary-block-wrap {
	margin-left: -3%;
	width: 103%;
	clear: both;
}

.news_portal_block_posts .layout2 .np-primary-block-wrap {
	margin-bottom: 10px;
}

.news_portal_block_posts .layout2 .np-primary-block-wrap .np-single-post,
.news_portal_block_posts .layout2 .np-secondary-block-wrap .np-single-post {
	display: inline-block;
	float: none;
	margin-left: 3%;
	margin-right: -4px;
	vertical-align: top;
	width: 47%;
	box-sizing: border-box;
}

.news_portal_block_posts .layout2 .np-secondary-block-wrap .np-single-post {
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

.news_portal_block_posts .layout2 .np-secondary-block-wrap .np-post-thumb {
	float: left;
	width: 30%;
}

.news_portal_block_posts .layout2 .np-secondary-block-wrap .np-post-content {
	float: right;
	width: 66%;
}

/* Layout 3: Hero Overlay (Top Full-width) + 3 Small Cards (Bottom 31.33% each) */
.news_portal_block_posts .layout3 .np-primary-block-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	clear: both;
}

.news_portal_block_posts .layout3 .np-primary-block-wrap .np-single-post {
	position: relative;
}

.news_portal_block_posts .layout3 .np-primary-block-wrap .np-single-post .np-post-content {
	bottom: 0;
	left: 0;
	padding: 20px;
	position: absolute;
	width: 100%;
	background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.85)) repeat scroll 0 0;
	box-sizing: border-box;
}

.news_portal_block_posts .layout3 .np-primary-block-wrap .np-single-post .np-post-title {
	line-height: 26px;
	margin: 5px 0;
}

.news_portal_block_posts .layout3 .np-primary-block-wrap .np-single-post .np-post-title a {
	color: #fff;
	font-size: 20px;
	text-transform: capitalize;
}

.news_portal_block_posts .layout3 .np-primary-block-wrap .np-single-post .np-post-meta span,
.news_portal_block_posts .layout3 .np-primary-block-wrap .np-single-post .np-post-meta span a {
	color: #ccc;
	font-size: 14px;
	font-weight: 500;
}

.news_portal_block_posts .layout3 .np-secondary-block-wrap {
	margin-top: 20px;
	width: 102%;
	margin-left: -2%;
	clear: both;
	overflow: hidden;
}

.news_portal_block_posts .layout3 .np-secondary-block-wrap .np-single-post {
	border: medium none;
	float: left;
	margin-bottom: 0;
	margin-left: 2%;
	padding: 0;
	width: 31.33%;
	box-sizing: border-box;
}

.news_portal_block_posts .layout3 .np-secondary-block-wrap .np-single-post .np-post-thumb,
.news_portal_block_posts .layout3 .np-secondary-block-wrap .np-single-post .np-post-content {
	float: none;
	width: 100%;
}

.news_portal_block_posts .layout3 .np-secondary-block-wrap .np-single-post .np-post-content {
	margin-top: 10px;
}

/* Layout 4: Alternate Grid (3 Columns) */
.news_portal_block_posts .layout4 .np-block-posts-wrapper {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.news_portal_block_posts .layout4 .np-block-posts-wrapper .np-alt-grid-post {
	display: flex;
	flex-direction: column;
	width: 33.333%;
	box-sizing: border-box;
}

.news_portal_block_posts .layout4 .np-block-posts-wrapper .np-alt-grid-post .np-post-content {
	background: #f2f2f2;
	height: 242px;
	overflow: hidden;
	padding: 11px 15px 15px;
	box-sizing: border-box;
}

.news_portal_block_posts .layout4 .np-block-posts-wrapper .np-alt-grid-post:nth-child(2) {
	flex-direction: column-reverse;
}

.news_portal_block_posts .layout4 .np-block-posts-wrapper .np-alt-grid-post .np-post-content .np-post-excerpt {
	line-height: 27px;
	margin-top: 10px;
	overflow: hidden;
	height: 110px;
}

/* --------------------------------------------------------------------------
   5. Featured Posts (4 Columns in a Row with Classic #f2f2f2 Background)
   -------------------------------------------------------------------------- */
.news_portal_featured_posts .np-block-wrapper {
	background: #f2f2f2 none repeat scroll 0 0;
	padding: 20px;
	box-sizing: border-box;
}

.news_portal_featured_posts .np-block-wrapper .np-block-title,
.news_portal_featured_posts .np-block-wrapper .widget-title {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-left: none;
	border-right: none;
	margin: 0 0 20px;
	padding: 6px 20px;
}

.news_portal_featured_posts .np-featured-posts-wrapper {
	margin-left: -2%;
	width: 102%;
	clear: both;
	overflow: hidden;
}

.news_portal_featured_posts .np-single-post-wrap {
	float: left;
	margin-left: 2%;
	width: 23%;
	box-sizing: border-box;
}

.news_portal_featured_posts .np-single-post {
	clear: both;
	overflow: hidden;
}

.news_portal_featured_posts .np-single-post .np-post-content {
	background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
	float: left;
	padding: 0;
	position: static;
	margin-left: 4%;
	width: 54%;
	box-sizing: border-box;
}

.news_portal_featured_posts .np-single-post-wrap .np-post-thumb {
	float: left;
	width: 42%;
}

.news_portal_featured_posts .np-single-post-wrap .np-post-content .np-post-title a {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.news_portal_featured_posts .np-single-post-wrap .np-post-content .np-post-title {
	line-height: 20px;
	margin: 0 0 2px;
}

.news_portal_featured_posts .np-single-post-wrap .np-post-content .np-post-meta .byline {
	display: block;
}

.news_portal_featured_posts .np-single-post-wrap .np-post-content .np-post-meta span,
.news_portal_featured_posts .np-single-post-wrap .np-post-content .np-post-meta span a {
	color: #989898;
	text-decoration: none;
	font-size: 12px;
}

/* --------------------------------------------------------------------------
   6. Default Tabbed (Classic Tabbed Posts Design)
   -------------------------------------------------------------------------- */
.news_portal_default_tabbed ul.widget-tabs {
	margin: 0;
	padding: 0;
	list-style: none;
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.news_portal_default_tabbed ul.widget-tabs li {
	display: inline-block;
	margin-right: -4px;
	padding: 5px 0;
	text-align: center;
	width: 50%;
	position: relative;
	box-sizing: border-box;
	list-style: none;
	vertical-align: top;
}

.news_portal_default_tabbed ul.widget-tabs li a {
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	display: block;
	font-size: 13px;
	text-decoration: none;
	padding: 4px 10px;
}

.news_portal_default_tabbed ul.widget-tabs li.ui-tabs-active,
.news_portal_default_tabbed ul.widget-tabs li:hover {
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.news_portal_default_tabbed ul.widget-tabs li.ui-tabs-active:before,
.news_portal_default_tabbed ul.widget-tabs li:hover:before {
	border-bottom: 5px solid #fff;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	bottom: 0;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.news_portal_default_tabbed .np-tabbed-section {
	border: 1px solid #e1e1e1;
	border-top: none;
	margin-top: 0;
	padding: 20px;
	background: #fff;
	box-sizing: border-box;
	clear: both;
}

.news_portal_default_tabbed .np-post-thumb {
	float: left;
	width: 30%;
}

.news_portal_default_tabbed .np-post-content {
	float: right;
	width: 66%;
}

.news_portal_default_tabbed .np-single-post {
	border-bottom: 1px solid #e1e1e1;
	margin-bottom: 12px;
	padding-bottom: 12px;
	clear: both;
	overflow: hidden;
}

.news_portal_default_tabbed .np-single-post:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.news_portal_default_tabbed .np-post-meta span,
.news_portal_default_tabbed .np-post-meta span a {
	font-size: 12px;
	color: #a6a6a6;
}

.news_portal_default_tabbed .np-post-meta span {
	margin-right: 10px;
}

.news_portal_default_tabbed #comments ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.news_portal_default_tabbed #comments ul li.np-single-comment,
.news_portal_default_tabbed .np-single-comment {
	border-bottom: 1px solid #e1e1e1;
	margin-bottom: 12px;
	padding-bottom: 12px;
	clear: both;
	overflow: hidden;
	list-style: none;
}

.news_portal_default_tabbed #comments ul li:last-child,
.news_portal_default_tabbed .np-single-comment:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.news_portal_default_tabbed #comments ul .np-comment-avatar {
	float: left;
	width: 25%;
}

.news_portal_default_tabbed #comments ul .np-comment-avatar img {
	width: 100%;
	height: auto;
	border-radius: 50%;
	display: block;
}

.news_portal_default_tabbed #comments ul .np-comment-desc-wrap {
	float: right;
	width: 71%;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
}

.news_portal_default_tabbed #comments ul .np-comment-desc-wrap strong {
	color: #222;
}

.news_portal_default_tabbed #comments ul .np-comment-desc-wrap a {
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   7. Carousel
   -------------------------------------------------------------------------- */
.news_portal_carousel .np-block-title-nav-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
	clear: both;
}

.news_portal_carousel .np-block-title-nav-wrap .widget-title,
.news_portal_carousel .np-block-title-nav-wrap .np-block-title {
	margin-bottom: 0;
	padding: 6px 20px;
	flex-grow: 1;
}

.news_portal_carousel .carousel-nav-action {
	display: flex;
	gap: 6px;
	margin-left: 10px;
}

.news_portal_carousel .carousel-controls {
	width: 32px;
	height: 32px;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 3px;
	transition: background-color 0.2s ease;
	background: #212121;
}

.news_portal_carousel .np-single-post {
	position: relative;
	overflow: hidden;
}

.news_portal_carousel .np-single-post .np-post-content {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.85));
	box-sizing: border-box;
}

.news_portal_carousel .np-single-post .np-post-title a {
	color: #fff;
	font-size: 15px;
}

.news_portal_carousel .np-single-post .np-post-meta span,
.news_portal_carousel .np-single-post .np-post-meta span a {
	color: #ddd;
}

/* --------------------------------------------------------------------------
   8. Featured Slider (Classic Slider 50% + Featured 2x2 Grid 50%)
   -------------------------------------------------------------------------- */
.news_portal_featured_slider {
	margin: 0 0 25px;
	clear: both;
}

.news_portal_featured_slider .slider-posts {
	float: left;
	width: 50%;
	margin: 0;
	padding: 0;
	position: relative;
}

.news_portal_featured_slider .np-single-slide-wrap {
	position: relative;
	overflow: hidden;
}

.news_portal_featured_slider .np-slide-content-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 20px;
	background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8)) repeat scroll 0 0;
	box-sizing: border-box;
}

.news_portal_featured_slider .np-slide-content-wrap .post-title a {
	color: #fff;
	font-size: 20px;
	line-height: 26px;
	text-decoration: none;
}

.news_portal_featured_slider .np-slide-content-wrap .np-post-meta span,
.news_portal_featured_slider .np-slide-content-wrap .np-post-meta span a {
	color: #cccccc;
	font-size: 14px;
	font-weight: 500;
}

.news_portal_featured_slider .slider-posts .lSAction {
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 9;
}

.news_portal_featured_slider .slider-posts .lSAction > a {
	background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	line-height: 32px;
	margin: 0 2px;
	opacity: 1;
	position: static;
	text-align: center;
	width: 32px;
	height: 32px;
}

.news_portal_featured_slider .featured-posts {
	float: right;
	width: 50%;
	padding: 0;
}

.news_portal_featured_slider .featured-posts .np-single-post-wrap {
	float: left;
	margin-bottom: 5px;
	padding-left: 5px;
	position: relative;
	width: 50%;
	box-sizing: border-box;
}

.news_portal_featured_slider .featured-posts .np-single-post {
	position: relative;
	overflow: hidden;
}

.news_portal_featured_slider .featured-posts .np-single-post .np-post-content {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 15px;
	background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8)) repeat scroll 0 0;
	box-sizing: border-box;
}

.news_portal_featured_slider .featured-posts .np-single-post .np-post-content .np-post-title {
	line-height: 20px;
	margin: 2px 0 3px;
}

.news_portal_featured_slider .featured-posts .np-single-post .np-post-content .np-post-title a {
	font-size: 15px;
	color: #fff;
	text-decoration: none;
}

.news_portal_featured_slider .featured-posts .np-single-post .np-post-meta span,
.news_portal_featured_slider .featured-posts .np-single-post .np-post-meta span a {
	font-size: 12px;
	color: #cccccc;
	text-decoration: none;
}

/* LightSlider Visibility Fallback */
.cS-hidden {
	height: 1px;
	opacity: 0;
	overflow: hidden;
}

/* Responsive Rules */
@media (max-width: 840px) {
	.news_portal_block_posts .layout1 .np-primary-block-wrap,
	.news_portal_block_posts .layout1 .np-secondary-block-wrap,
	.news_portal_featured_slider .slider-posts,
	.news_portal_featured_slider .featured-posts {
		float: none;
		width: 100%;
	}

	.news_portal_featured_slider .featured-posts {
		margin-top: 10px;
	}

	.news_portal_featured_posts .np-single-post-wrap {
		width: 48%;
		margin-bottom: 15px;
	}

	.news_portal_block_posts .layout3 .np-secondary-block-wrap .np-single-post {
		width: 48%;
		margin-bottom: 15px;
	}

	.news_portal_block_posts .layout4 .np-alt-grid-post {
		width: 100%;
	}
}

@media (max-width: 580px) {
	.news_portal_block_posts .layout2 .np-single-post,
	.news_portal_featured_posts .np-single-post-wrap,
	.news_portal_block_posts .layout3 .np-secondary-block-wrap .np-single-post,
	.news_portal_featured_slider .featured-posts .np-single-post-wrap {
		width: 100%;
		margin-left: 0;
		padding-left: 0;
		float: none;
	}

	.news_portal_featured_posts .np-featured-posts-wrapper,
	.news_portal_block_posts .layout2 .np-primary-block-wrap,
	.news_portal_block_posts .layout2 .np-secondary-block-wrap,
	.news_portal_block_posts .layout3 .np-secondary-block-wrap {
		margin-left: 0;
		width: 100%;
	}
}
