/* ==========================================================================
   PlanetFive Theme Main Stylesheet
   ========================================================================== */

/* 1. Global Reset & Variables
   ========================================================================== */
:root {
	/* Light Theme Colors (Clean Blue/White Palette) */
	--primary-color: #2563eb;
	--primary-color-hover: #1d4ed8;
	--secondary-color: #0f172a;
	--body-bg: #f8fafc;
	--content-bg: #ffffff;
	--text-color: #334155;
	--text-muted: #64748b;
	--border-color: #e2e8f0;
	--header-bg: #ffffff;
	--header-text: #0f172a;
	--topbar-bg: #f8fafc;
	--topbar-text: #475569;
	--nav-bg: #ffffff;
	--nav-text: #0f172a;
	--hover-bg: #f1f5f9;
	--footer-bg: #f1f5f9;
	--footer-text: #475569;
	--card-bg: #ffffff;
	--card-shadow: none;
	
	/* Font Families */
	--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	
	/* Layout Sizes */
	--container-width: 1200px;
	--content-reading-width: 750px;
}

[data-theme="dark"] {
	/* Dark Theme Colors */
	--body-bg: #090a0f;
	--content-bg: #11131c;
	--text-color: #cbd5e1;
	--text-muted: #94a3b8;
	--border-color: #1e293b;
	--header-bg: #11131c;
	--header-text: #f8fafc;
	--topbar-bg: #0b0c10;
	--topbar-text: #94a3b8;
	--nav-bg: #11131c;
	--nav-text: #f8fafc;
	--hover-bg: #1e293b;
	--footer-bg: #07080b;
	--footer-text: #94a3b8;
	--card-bg: #11131c;
	--card-shadow: none;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: var(--font-primary);
	background-color: var(--body-bg);
	color: var(--text-color);
	margin: 0;
	padding: 0;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: var(--primary-color);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--primary-color-hover);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	color: var(--header-text);
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0.5em;
	line-height: 1.25;
}

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

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Skip link for accessibility */
.skip-link {
	background-color: var(--primary-color);
	color: #fff;
	left: 50%;
	padding: 10px 20px;
	position: absolute;
	transform: translateY(-100%);
	transition: transform 0.3s;
	z-index: 99999;
}
.skip-link:focus {
	transform: translateY(0);
}

/* 2. Container & Layout Wrappers
   ========================================================================== */
.pf-container {
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 12px;
	width: 100%;
}

.pf-main-sidebar-layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 20px;
	margin-top: 0;
	margin-bottom: 12px;
}

@media (max-width: 1024px) {
	.pf-main-sidebar-layout {
		grid-template-columns: 1fr;
	}
}

/* 3. Header Styling
   ========================================================================== */
.pf-topbar {
	background-color: var(--topbar-bg);
	color: var(--topbar-text);
	font-size: 0.85rem;
	padding: 4px 0;
	border-bottom: 1px solid var(--border-color);
}

.pf-topbar-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pf-topbar-left {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-grow: 1;
	overflow: hidden;
}

.pf-topbar-date {
	font-weight: 500;
	white-space: nowrap;
}

/* Breaking News Ticker */
.pf-ticker-container {
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	padding: 2px 10px 2px 2px;
	border-radius: 4px;
	overflow: hidden;
	gap: 12px;
	max-width: 70%;
}

.pf-ticker-badge {
	background-color: var(--primary-color);
	color: #ffffff;
	font-weight: 700;
	font-family: var(--font-heading);
	text-transform: uppercase;
	padding: 3px 8px;
	font-size: 0.75rem;
	border-radius: 3px;
	white-space: nowrap;
}

.pf-ticker-slider {
	overflow: hidden;
	position: relative;
	height: 20px;
	width: 100%;
}

.pf-ticker-list {
	list-style: none;
	padding: 0;
	margin: 0;
	position: absolute;
	width: 100%;
	animation: pf-ticker-animation 15s infinite linear;
}

.pf-ticker-item {
	height: 20px;
	line-height: 20px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pf-ticker-item a {
	color: var(--topbar-text);
}
.pf-ticker-item a:hover {
	color: var(--primary-color);
}

@keyframes pf-ticker-animation {
	0%   { top: 0px; }
	15%  { top: 0px; }
	20%  { top: -20px; }
	35%  { top: -20px; }
	40%  { top: -40px; }
	55%  { top: -40px; }
	60%  { top: -60px; }
	75%  { top: -60px; }
	80%  { top: -80px; }
	95%  { top: -80px; }
	100% { top: 0px; }
}

.pf-topbar-socials {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pf-social-link {
	color: var(--topbar-text);
	display: inline-flex;
	transition: opacity 0.2s, transform 0.2s;
}

.pf-social-link:hover {
	opacity: 0.8;
	transform: scale(1.1);
}

.pf-social-link svg {
	width: 16px;
	height: 16px;
}

/* Header Main (Logo & Ad Row) */
.pf-header-main {
	background-color: var(--header-bg);
	padding: 12px 0;
}

.pf-header-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.site-branding {
	flex-shrink: 0;
}

.site-title {
	font-size: 2.2rem;
	margin: 0;
	font-family: var(--font-heading);
	text-transform: uppercase;
	letter-spacing: -1px;
}

.site-title a {
	color: var(--header-text);
}

.site-description {
	margin: 5px 0 0 0;
	color: var(--text-muted);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 500;
}

.pf-header-ad {
	max-width: 728px;
	width: 100%;
}

@media (max-width: 900px) {
	.pf-header-flex {
		flex-direction: column;
		text-align: center;
	}
	.pf-header-ad {
		display: none; /* Hide desktop size header ad on small viewports */
	}
}

/* Primary Navigation Bar styling */
.pf-nav-bar {
	background-color: var(--nav-bg);
	position: relative;
	z-index: 100;
	border-bottom: 1px solid var(--border-color);
	width: 100%;
}

.pf-nav-sticky {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	animation: pf-nav-slide-down 0.25s ease-out;
}

@keyframes pf-nav-slide-down {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}

.pf-nav-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.main-navigation {
	flex-grow: 1;
}

.primary-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}

.primary-menu-list li {
	position: relative;
}

.primary-menu-list a {
	color: var(--nav-text);
	display: block;
	padding: 12px 14px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.2s ease, border-color 0.2s ease;
	border-bottom: 2px solid transparent;
}

.primary-menu-list a:hover,
.primary-menu-list li.current-menu-item > a {
	background-color: transparent;
	color: var(--primary-color);
	border-bottom-color: var(--primary-color);
}

/* Multi-level Dropdown Styles */
.primary-menu-list li:hover > ul {
	display: block;
}

.primary-menu-list ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: var(--nav-bg);
	min-width: 220px;
	list-style: none;
	padding: 8px 0;
	margin: 0;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
	border-radius: 8px;
	border: 1px solid var(--border-color);
}

.primary-menu-list ul a {
	padding: 10px 20px;
	font-size: 0.85rem;
	border-bottom: none;
	text-transform: none;
	font-weight: 500;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.primary-menu-list ul a:hover {
	background-color: var(--hover-bg);
	color: var(--primary-color);
}

.pf-menu-toggle {
	display: none;
	background: none;
	border: none;
	color: var(--nav-text);
	cursor: pointer;
	padding: 15px;
}

.pf-menu-toggle svg {
	width: 24px;
	height: 24px;
}

.pf-menu-toggle .icon-close {
	display: none;
}

.pf-menu-toggle.is-active .icon-menu {
	display: none;
}

.pf-menu-toggle.is-active .icon-close {
	display: block;
}

.pf-nav-actions {
	display: flex;
	align-items: center;
	gap: 5px;
}

.pf-action-btn {
	background: none;
	border: none;
	color: var(--nav-text);
	cursor: pointer;
	padding: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s;
}

.pf-action-btn:hover {
	background-color: rgba(255,255,255,0.1);
}

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

/* Light / Dark Icon Display logic */
.theme-icon-light { display: none; }
.theme-icon-dark { display: block; }
[data-theme="dark"] .theme-icon-light { display: block; }
[data-theme="dark"] .theme-icon-dark { display: none; }

/* Responsive Mobile Navigation rules */
@media (max-width: 768px) {
	.pf-menu-toggle {
		display: block;
	}
	.main-navigation {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: var(--nav-bg);
		border-bottom: 2px solid var(--primary-color);
	}
	.main-navigation.is-active {
		display: block;
	}
	.primary-menu-list {
		flex-direction: column;
	}
	.primary-menu-list a {
		padding: 15px 20px;
		border-bottom: 1px solid rgba(255,255,255,0.05);
	}
	.primary-menu-list ul {
		position: static;
		box-shadow: none;
		background-color: rgba(0,0,0,0.1);
		padding-left: 20px;
	}
}

/* Fullscreen Search Overlay */
.pf-search-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(11, 12, 14, 0.95);
	backdrop-filter: blur(8px);
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.pf-search-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.pf-search-close-btn {
	position: absolute;
	top: 30px;
	right: 40px;
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	padding: 10px;
}

.pf-search-close-btn svg {
	width: 32px;
	height: 32px;
}

.pf-search-overlay-content {
	max-width: 600px;
	width: 90%;
	text-align: center;
}

.pf-search-overlay-title {
	color: #ffffff;
	font-size: 1.8rem;
	margin-bottom: 30px;
}

.pf-search-form {
	display: flex;
	position: relative;
	border-bottom: 2px solid #ffffff;
}

.pf-search-label {
	flex-grow: 1;
}

.pf-search-input {
	width: 100%;
	background: none;
	border: none;
	color: #ffffff;
	font-size: 1.5rem;
	padding: 15px 0;
	font-family: var(--font-primary);
}

.pf-search-input:focus {
	outline: none;
}

.pf-search-submit-btn {
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	padding: 15px;
}

.pf-search-submit-btn svg {
	width: 24px;
	height: 24px;
}

/* 4. Advertisement Placements styling
   ========================================================================== */
.pf-ad-wrapper {
	text-align: center;
	margin: 10px auto;
	overflow: hidden;
	position: relative;
}

.pf-ad-label {
	display: block;
	font-size: 0.65rem;
	color: var(--text-muted);
	letter-spacing: 1.5px;
	margin-bottom: 5px;
	text-align: center;
}

.pf-ad-wrapper ins.adsbygoogle {
	margin: 0 auto;
}

/* Responsive ad widths */
.pf-ad-header {
	min-height: 90px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.pf-ad-below_nav,
.pf-ad-home_top,
.pf-ad-home_mid,
.pf-ad-footer {
	min-height: 90px;
	background-color: var(--border-color);
	border-radius: 4px;
}

.pf-ad-sidebar_top,
.pf-ad-sidebar_mid {
	min-height: 250px;
	max-width: 300px;
}

.pf-ad-inline-content,
.pf-ad-mid-content {
	clear: both;
	margin: 30px 0;
	min-height: 90px;
}

.pf-ad-admin-placeholder {
	background-color: var(--border-color);
	border: 2px dashed var(--text-muted);
	padding: 15px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.pf-ad-admin-label {
	color: var(--primary-color);
	font-weight: 700;
	margin-bottom: 8px;
}

.pf-ad-admin-text {
	font-size: 0.8rem;
	color: var(--text-color);
}

.pf-ad-margin-bottom {
	margin-bottom: 25px;
}

/* Hide mobile ads on desktop */
.pf-mobile-only {
	display: none;
}

@media (max-width: 768px) {
	.pf-mobile-only {
		display: block;
	}
	.pf-ad-header,
	.pf-ad-below_nav,
	.pf-ad-home_top,
	.pf-ad-home_mid {
		display: none; /* Hide larger desktop slots on mobile */
	}
}

/* 5. Magazine Hero Section (Grid Layout)
   ========================================================================== */
.pf-hero-magazine-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 8px;
	margin-top: 10px;
	margin-bottom: 16px;
}

.pf-hero-item-large {
	position: relative;
	height: 480px;
}

.pf-hero-items-small-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 8px;
	height: 480px;
}

.pf-hero-card {
	position: relative;
	overflow: hidden;
	height: 100%;
	width: 100%;
	border-radius: 12px;
	box-shadow: var(--card-shadow);
}

.pf-hero-img-link {
	display: block;
	width: 100%;
	height: 100%;
}

.pf-hero-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pf-hero-img-placeholder {
	width: 100%;
	height: 100%;
	background-color: var(--border-color);
}

.pf-hero-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 25px;
	background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0) 100%);
	color: #ffffff;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	height: 70%;
}

.pf-hero-badge-wrap {
	margin-bottom: 10px;
	pointer-events: auto;
}

.category-badge {
	background-color: var(--hover-bg);
	color: var(--primary-color);
	text-transform: uppercase;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.65rem;
	padding: 4px 10px;
	border-radius: 30px;
	display: inline-block;
	letter-spacing: 0.5px;
	transition: all 0.2s ease;
	border: 1px solid var(--border-color);
}

.category-badge:hover {
	transform: translateY(-1px);
	filter: brightness(0.95);
}

/* Category Badge Colors */
.badge-news { background-color: #eff6ff !important; color: #2563eb !important; border-color: #bfdbfe !important; }
.badge-entertainment { background-color: #faf5ff !important; color: #7c3aed !important; border-color: #e9d5ff !important; }
.badge-sports { background-color: #ecfdf5 !important; color: #059669 !important; border-color: #a7f3d0 !important; }
.badge-music { background-color: #fdf2f8 !important; color: #db2777 !important; border-color: #fbcfe8 !important; }
.badge-lifestyle { background-color: #fffbeb !important; color: #d97706 !important; border-color: #fde68a !important; }

.pf-hero-title {
	margin-bottom: 10px;
	font-family: var(--font-heading);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.25;
}

.pf-hero-card-large .pf-hero-title {
	font-size: 1.8rem;
}

.pf-hero-card-small .pf-hero-title {
	font-size: 1rem;
	margin-bottom: 0px;
}

.pf-hero-title a {
	color: #ffffff;
	pointer-events: auto;
}
.pf-hero-title a:hover {
	color: #e2e8f0;
}

.pf-hero-meta {
	font-size: 0.8rem;
	color: #cbd5e0;
	display: flex;
	gap: 15px;
	align-items: center;
}

.pf-hero-meta-item {
	display: flex;
	align-items: center;
	gap: 5px;
}

.pf-hero-meta-item svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 900px) {
	.pf-hero-magazine-grid {
		grid-template-columns: 1fr;
	}
	.pf-hero-item-large {
		height: 350px;
	}
	.pf-hero-items-small-grid {
		height: 350px;
	}
	.pf-hero-card-large .pf-hero-title {
		font-size: 1.4rem;
	}
}

@media (max-width: 600px) {
	.pf-hero-items-small-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		height: auto;
		gap: 15px;
	}
	.pf-hero-card-small {
		height: 200px;
	}
}

/* Secondary Homepage Breaking News */
.pf-home-ticker-section {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 4px;
	display: flex;
	align-items: center;
	padding: 10px 15px;
	margin-top: 0;
	margin-bottom: 12px;
	gap: 15px;
	overflow: hidden;
}

.pf-home-ticker-badge {
	background-color: var(--primary-color);
	color: #ffffff;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 0.75rem;
	padding: 4px 10px;
	border-radius: 3px;
	white-space: nowrap;
	letter-spacing: 0.5px;
}

.pf-home-ticker-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	overflow: hidden;
	gap: 20px;
}

.pf-home-ticker-slides {
	flex-grow: 1;
	overflow: hidden;
}

.pf-home-ticker-slide {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: none;
}

.pf-home-ticker-slide.is-active {
	display: block;
}

.pf-home-ticker-slide a {
	color: var(--text-color);
	font-weight: 600;
	font-size: 0.9rem;
}

.pf-home-ticker-slide a:hover {
	color: var(--primary-color);
}

.pf-home-ticker-nav {
	display: flex;
	gap: 5px;
}

.pf-home-ticker-prev,
.pf-home-ticker-next {
	background-color: var(--border-color);
	border: none;
	cursor: pointer;
	padding: 5px;
	border-radius: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--text-color);
	transition: background-color 0.2s;
}

.pf-home-ticker-prev:hover,
.pf-home-ticker-next:hover {
	background-color: var(--primary-color);
	color: #ffffff;
}

.pf-home-ticker-prev svg,
.pf-home-ticker-next svg {
	width: 16px;
	height: 16px;
}

/* 6. Section Headers
   ========================================================================== */
.pf-section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: 2px solid var(--border-color);
	margin-bottom: 25px;
	position: relative;
}

.pf-section-title {
	margin-bottom: -2px;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: -0.5px;
}

.pf-section-title span {
	border-bottom: 2px solid var(--primary-color);
	display: inline-block;
	padding-bottom: 8px;
}

.pf-section-view-all {
	color: var(--text-muted);
	font-size: 0.75rem;
	font-weight: 700;
	padding-bottom: 8px;
}

.pf-section-view-all:hover {
	color: var(--primary-color);
}

/* 7. Latest News & Post Card grids
   ========================================================================== */
.pf-latest-news-section {
	margin-bottom: 12px;
}

.pf-latest-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.pf-post-card {
	background-color: var(--card-bg);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--border-color);
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pf-post-card-thumb {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
}

.pf-post-card-thumb-link {
	display: block;
	width: 100%;
	height: 100%;
}

.pf-post-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pf-post-card-img-placeholder {
	width: 100%;
	height: 100%;
	background-color: var(--border-color);
}

.pf-post-card-badge {
	position: absolute;
	top: 8px;
	left: 8px;
}

.pf-post-card-info {
	padding: 8px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.pf-post-card-title {
	font-size: 1.1rem;
	line-height: 1.35;
	margin-bottom: 6px;
	font-weight: 600;
}

.pf-post-card-title a {
	color: var(--header-text);
	transition: color 0.2s ease;
}

.pf-post-card:hover .pf-post-card-title a {
	color: var(--primary-color);
}

.pf-post-card-meta {
	font-size: 0.7rem;
	color: var(--text-muted);
	margin-top: auto;
}

@media (max-width: 1024px) {
	.pf-latest-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 550px) {
	.pf-latest-grid {
		grid-template-columns: 1fr;
	}
}

/* 8. Bottom Homepage category loops
   ========================================================================== */
.pf-home-bottom-row {
	display: grid;
	grid-template-columns: 3fr 1.3fr;
	gap: 12px;
	margin-bottom: 16px;
}

.pf-columns-category-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.pf-post-list-item {
	display: flex;
	gap: 10px;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--border-color);
}

.pf-post-list-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.pf-post-list-thumb {
	width: 80px;
	height: 60px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 4px;
}

.pf-post-list-thumb-link {
	display: block;
	width: 100%;
	height: 100%;
}

.pf-post-list-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pf-post-list-img-placeholder {
	width: 100%;
	height: 100%;
	background-color: var(--border-color);
}

.pf-post-list-info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.pf-post-list-title {
	font-size: 0.85rem;
	line-height: 1.35;
	font-weight: 600;
	margin-bottom: 5px;
}

.pf-post-list-title a {
	color: var(--header-text);
}
.pf-post-list-title a:hover {
	color: var(--primary-color);
}

.pf-post-list-meta {
	font-size: 0.75rem;
	color: var(--text-muted);
}

@media (max-width: 1024px) {
	.pf-home-bottom-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.pf-columns-category-grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}
}

/* 9. Sidebar Widgets styling
   ========================================================================== */
.widget {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 4px;
	padding: 12px;
	margin-bottom: 12px;
	box-shadow: none;
}

.widget-title {
	font-size: 0.95rem;
	text-transform: uppercase;
	border-bottom: 2px solid var(--border-color);
	margin-bottom: 12px;
	position: relative;
}

.widget-title span {
	border-bottom: 2px solid var(--primary-color);
	display: inline-block;
	padding-bottom: 6px;
	margin-bottom: -2px;
}

/* Hide Search feature inside sidebar */
.pf-sidebar .widget_search,
.pf-sidebar .search-form,
.pf-sidebar .wp-block-search {
	display: none !important;
}

/* Stay Connected widget */
.pf-social-followers-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
}

.pf-follower-card {
	display: flex;
	align-items: center;
	padding: 10px 15px;
	border-radius: 4px;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 500;
}

.pf-follower-icon {
	display: inline-flex;
	margin-right: 12px;
}
.pf-follower-icon svg {
	width: 20px;
	height: 20px;
}

.pf-follower-name {
	flex-grow: 1;
}

.pf-follower-count {
	font-weight: 700;
	margin-right: 5px;
}

.pf-follower-subtext {
	opacity: 0.8;
	font-size: 0.75rem;
}

.pf-follower-facebook { background-color: #1877f2; }
.pf-follower-twitter { background-color: #1da1f2; }
.pf-follower-instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.pf-follower-youtube { background-color: #ff0000; }
.pf-follower-tiktok { background-color: #010101; }

/* Most Read widget */
.pf-most-read-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.pf-most-read-item {
	display: flex;
	gap: 15px;
	padding: 12px 0;
	border-bottom: 1px solid var(--border-color);
}

.pf-most-read-item:first-child {
	padding-top: 0;
}

.pf-most-read-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.pf-most-read-rank {
	background-color: rgba(37, 99, 235, 0.05);
	color: var(--primary-color);
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-weight: 700;
	border-radius: 50%;
	font-size: 1rem;
	flex-shrink: 0;
	border: 1px solid rgba(37, 99, 235, 0.15);
}

[data-theme="dark"] .pf-most-read-rank {
	background-color: rgba(37, 99, 235, 0.1);
	color: #3b82f6;
	border-color: rgba(37, 99, 235, 0.2);
}

.pf-most-read-content {
	display: flex;
	align-items: center;
}

.pf-most-read-link {
	color: var(--header-text);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.35;
}

.pf-most-read-link:hover {
	color: var(--primary-color);
}

/* 10. Newsletter banner
   ========================================================================== */
.pf-newsletter-bar {
	background-color: #eff6ff;
	color: #0f172a;
	border-radius: 4px;
	padding: 16px;
	margin-top: 0;
	margin-bottom: 12px;
	border: 1px solid #bfdbfe;
}

[data-theme="dark"] .pf-newsletter-bar {
	background-color: #11131c;
	color: #cbd5e1;
	border-color: #1e293b;
}

.pf-newsletter-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.pf-newsletter-left {
	display: flex;
	align-items: center;
	gap: 25px;
}

.pf-newsletter-icon {
	background-color: rgba(37, 99, 235, 0.08);
	padding: 15px;
	border-radius: 50%;
	display: inline-flex;
	color: var(--primary-color);
}

.pf-newsletter-icon svg {
	width: 32px;
	height: 32px;
}

.pf-newsletter-title {
	color: #0f172a;
	font-size: 1.4rem;
	margin-bottom: 5px;
}

[data-theme="dark"] .pf-newsletter-title {
	color: #ffffff;
}

.pf-newsletter-sub {
	color: #475569;
	font-size: 0.9rem;
	margin: 0;
}

[data-theme="dark"] .pf-newsletter-sub {
	color: #94a3b8;
}

.pf-newsletter-right {
	width: 40%;
}

.pf-newsletter-form {
	display: flex;
	gap: 10px;
}

.pf-newsletter-input {
	flex-grow: 1;
	background-color: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	padding: 12px 20px;
	color: #0f172a;
	font-family: var(--font-primary);
}

[data-theme="dark"] .pf-newsletter-input {
	background-color: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.15);
	color: #ffffff;
}

.pf-newsletter-btn {
	background-color: var(--primary-color);
	color: #ffffff;
	border: none;
	border-radius: 6px;
	padding: 12px 25px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s;
	font-family: var(--font-heading);
}

.pf-newsletter-btn:hover {
	background-color: var(--primary-color-hover);
}

@media (max-width: 900px) {
	.pf-newsletter-inner {
		flex-direction: column;
		text-align: center;
	}
	.pf-newsletter-left {
		flex-direction: column;
		gap: 15px;
	}
	.pf-newsletter-right {
		width: 100%;
	}
}

/* 11. Archive & Search layouts
   ========================================================================== */
.pf-archive-header-wrap {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 4px;
	padding: 16px;
	margin-top: 15px;
	box-shadow: none;
}

.pf-breadcrumbs {
	font-size: 0.8rem;
	color: var(--text-muted);
	margin-bottom: 10px;
}

.pf-breadcrumbs a {
	color: var(--text-muted);
}
.pf-breadcrumbs a:hover {
	color: var(--primary-color);
}

.pf-breadcrumb-sep {
	margin: 0 8px;
	font-size: 0.75rem;
}

.pf-archive-title {
	font-size: 1.6rem;
	margin: 0;
	text-transform: capitalize;
}

.pf-archive-description {
	color: var(--text-muted);
	margin-top: 6px;
	font-size: 0.9rem;
}

.pf-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.pf-archive-inline-ad {
	grid-column: 1 / -1;
}

@media (max-width: 768px) {
	.pf-archive-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.pf-archive-grid {
		grid-template-columns: 1fr;
	}
}

.pf-pagination-wrap {
	margin-top: 20px;
}

/* Pagination numbers styling */
.pf-pagination-wrap .nav-links {
	display: flex;
	gap: 8px;
	justify-content: center;
}

.pf-pagination-wrap .page-numbers {
	width: 38px;
	height: 38px;
	background-color: #ffffff;
	color: #1e293b;
	border: none;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 0.95rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	text-decoration: none;
	transition: all 0.2s ease;
	margin: 0 3px;
}

.pf-pagination-wrap .page-numbers.dots {
	background-color: transparent;
	border: none;
	box-shadow: none;
	color: #64748b;
	width: auto;
	min-width: 20px;
}

.pf-pagination-wrap .page-numbers.next,
.pf-pagination-wrap .page-numbers.prev {
	width: auto;
	padding: 0 18px;
	border-radius: 20px;
}

.pf-pagination-wrap .page-numbers.current {
	background-color: var(--primary-color);
	color: #ffffff;
	box-shadow: none;
}

.pf-pagination-wrap .page-numbers:hover:not(.dots):not(.current) {
	background-color: #f8fafc;
	color: var(--primary-color);
	transform: translateY(-1px);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);
}

.pf-pagination-wrap .page-numbers svg {
	width: 16px;
	height: 16px;
}

.pf-no-posts-found {
	text-align: center;
	padding: 50px 20px;
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 6px;
}

.pf-no-posts-found p {
	color: var(--text-muted);
	margin-bottom: 25px;
}

.pf-no-posts-found .pf-search-form {
	max-width: 400px;
	margin: 0 auto;
	border-bottom-color: var(--border-color);
}

.pf-no-posts-found .pf-search-input {
	color: var(--text-color);
}
.pf-no-posts-found .pf-search-submit-btn {
	color: var(--text-color);
}

/* 12. Single Article page typography
   ========================================================================== */
.pf-single-article {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 4px;
	padding: 16px;
	box-shadow: none;
	margin-bottom: 16px;
}

.pf-single-badge-wrap {
	margin-bottom: 10px;
}

.pf-single-title {
	font-size: 2.2rem;
	line-height: 1.2;
	letter-spacing: -0.5px;
	margin-bottom: 10px;
}

.pf-single-excerpt {
	font-size: 1.1rem;
	color: var(--text-muted);
	line-height: 1.45;
	margin-bottom: 15px;
	font-weight: 500;
}

.pf-single-meta-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid var(--border-color);
	border-bottom: 1px solid var(--border-color);
	padding: 8px 0;
	margin-bottom: 16px;
	gap: 20px;
	flex-wrap: wrap;
}

.pf-single-meta-author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pf-author-avatar-wrap img {
	border-radius: 50%;
}

.pf-author-text-meta {
	display: flex;
	flex-direction: column;
	font-size: 0.8rem;
}

.pf-byline-text {
	color: var(--text-muted);
}

.pf-author-name-link {
	font-weight: 700;
	color: var(--header-text);
}

.pf-single-meta-dates {
	display: flex;
	gap: 20px;
	font-size: 0.8rem;
	color: var(--text-muted);
}

.pf-meta-label {
	font-weight: 600;
	margin-right: 5px;
	color: var(--header-text);
}

.pf-single-meta-stats {
	display: flex;
	gap: 20px;
	font-size: 0.8rem;
	color: var(--text-muted);
}

.pf-stats-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.pf-stats-item svg {
	width: 14px;
	height: 14px;
}

.pf-stats-item a {
	color: var(--text-muted);
}
.pf-stats-item a:hover {
	color: var(--primary-color);
}

.pf-single-featured-img {
	margin-bottom: 40px;
	border-radius: 6px;
	overflow: hidden;
}

.pf-single-img {
	width: 100%;
}

.pf-single-content-container {
	display: flex;
	gap: 30px;
	position: relative;
}

/* Share Column */
.pf-single-share-column {
	width: 60px;
	flex-shrink: 0;
}

.pf-share-bar {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pf-share-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: transform 0.2s, background-color 0.2s;
}

.pf-share-btn svg {
	width: 18px;
	height: 18px;
}

.pf-share-btn:hover {
	transform: translateY(-3px);
}

.pf-share-facebook { background-color: #1877f2; }
.pf-share-twitter { background-color: #1da1f2; }
.pf-share-whatsapp { background-color: #25d366; }
.pf-share-telegram { background-color: #0088cc; }
.pf-share-email { background-color: #6c757d; }

.pf-single-body-text {
	max-width: var(--content-reading-width);
	width: 100%;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--text-color);
}

.pf-single-body-text p {
	margin-top: 0;
	margin-bottom: 1.5em;
}

.pf-single-tags {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 35px 0;
	font-size: 0.85rem;
	flex-wrap: wrap;
}

.pf-tags-label {
	font-weight: 700;
	text-transform: uppercase;
}

.pf-tags-list a {
	background-color: var(--body-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
	padding: 5px 12px;
	border-radius: 4px;
	margin-right: 5px;
	margin-bottom: 5px;
	display: inline-block;
}

.pf-tags-list a:hover {
	background-color: var(--primary-color);
	color: #ffffff;
	border-color: var(--primary-color);
}

/* Author Box */
.author-box {
	display: flex;
	gap: 25px;
	background-color: var(--body-bg);
	border: 1px solid var(--border-color);
	padding: 30px;
	border-radius: 6px;
	margin-top: 40px;
}

.author-avatar img {
	border-radius: 50%;
}

.author-info {
	display: flex;
	flex-direction: column;
}

.author-name {
	font-size: 1.1rem;
	margin-bottom: 10px;
}

.author-name a {
	color: var(--header-text);
}

.author-bio {
	font-size: 0.95rem;
	color: var(--text-muted);
	line-height: 1.5;
}

.author-bio p {
	margin: 0;
}

/* Post Navigation (Next / Prev links) */
.post-navigation {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 6px;
	padding: 25px;
	margin-bottom: 30px;
	box-shadow: var(--card-shadow);
}

.post-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.nav-previous-item,
.nav-next-item {
	width: 50%;
}

.nav-next-item {
	text-align: right;
}

.post-navigation a {
	display: flex;
	flex-direction: column;
	color: var(--header-text);
}

.post-navigation .nav-meta {
	font-size: 0.75rem;
	color: var(--text-muted);
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 5px;
}

.post-navigation .nav-title {
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
}

.post-navigation a:hover .nav-title {
	color: var(--primary-color);
}

@media (max-width: 800px) {
	.pf-single-article {
		padding: 25px;
	}
	.pf-single-title {
		font-size: 1.8rem;
	}
	.pf-single-content-container {
		flex-direction: column;
	}
	.pf-single-share-column {
		width: 100%;
		margin-bottom: 15px;
	}
	.pf-share-bar {
		position: static;
		flex-direction: row;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.author-box {
		flex-direction: column;
		text-align: center;
		align-items: center;
		padding: 20px;
	}
	.post-navigation .nav-links {
		flex-direction: column;
		gap: 15px;
	}
	.nav-previous-item,
	.nav-next-item {
		width: 100%;
	}
	.nav-next-item {
		text-align: left;
	}
}

/* Related posts block */
.related-posts-area {
	margin-bottom: 40px;
}

.related-section-title {
	font-size: 1.25rem;
	text-transform: uppercase;
	border-bottom: 2px solid var(--border-color);
	margin-bottom: 25px;
	position: relative;
}

.related-section-title span {
	border-bottom: 2px solid var(--primary-color);
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: -2px;
}

.related-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

@media (max-width: 600px) {
	.related-posts-grid {
		grid-template-columns: 1fr;
	}
}

/* 13. Comments Area styling
   ========================================================================== */
.comments-area {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 4px;
	padding: 16px;
	box-shadow: none;
	margin-bottom: 24px;
}

.comments-title {
	font-size: 1.25rem;
	text-transform: uppercase;
	border-bottom: 2px solid var(--border-color);
	margin-bottom: 30px;
	position: relative;
}

.comments-title span {
	border-bottom: 2px solid var(--primary-color);
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: -2px;
}

.comment-list {
	list-style: none;
	padding: 0;
	margin: 0 0 40px 0;
}

.comment-list .comment-body {
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--border-color);
	padding-bottom: 25px;
}

.comment-list li:last-child > .comment-body {
	border-bottom: none;
	padding-bottom: 0;
}

.comment-avatar img {
	border-radius: 50%;
}

.comment-meta {
	margin-bottom: 8px;
	font-size: 0.85rem;
}

.comment-author {
	font-weight: 700;
	color: var(--header-text);
}

.comment-metadata {
	color: var(--text-muted);
	margin-left: 10px;
}

.comment-content {
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--text-color);
}

.reply {
	margin-top: 10px;
}

.comment-reply-link {
	background-color: var(--body-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 4px;
	display: inline-block;
}

.comment-reply-link:hover {
	background-color: var(--primary-color);
	color: #ffffff;
	border-color: var(--primary-color);
}

/* Threaded comments offset indentation */
.comment-list .children {
	list-style: none;
	padding-left: 50px;
	margin: 0;
}

@media (max-width: 600px) {
	.comments-area {
		padding: 20px;
	}
	.comment-list .comment-body {
		flex-direction: column;
		gap: 10px;
	}
	.comment-list .children {
		padding-left: 20px;
	}
}

/* Comment Form formatting */
.comment-respond {
	margin-top: 40px;
}

.comment-reply-title {
	font-size: 1.25rem;
	text-transform: uppercase;
	border-bottom: 2px solid var(--border-color);
	margin-bottom: 25px;
	position: relative;
}

.comment-reply-title span {
	border-bottom: 2px solid var(--primary-color);
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: -2px;
}

.comment-form p {
	margin-bottom: 20px;
}

.comment-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 0.9rem;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	background-color: var(--body-bg);
	border: 1px solid var(--border-color);
	padding: 12px 15px;
	border-radius: 4px;
	color: var(--text-color);
	font-family: var(--font-primary);
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--primary-color);
}

.pf-submit-btn {
	background-color: var(--primary-color);
	color: #ffffff;
	border: none;
	border-radius: 4px;
	padding: 12px 30px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s;
	font-family: var(--font-heading);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.pf-submit-btn:hover {
	background-color: var(--primary-color-hover);
}

/* 14. Static Pages Card Overrides
   ========================================================================== */
.pf-static-page-card {
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 6px;
	padding: 40px;
	box-shadow: var(--card-shadow);
	margin-bottom: 30px;
}

.pf-page-header {
	margin-bottom: 25px;
	border-bottom: 1px solid var(--border-color);
	padding-bottom: 15px;
}

.pf-page-title {
	font-size: 2.2rem;
	margin: 0;
}

.pf-page-body-text {
	font-size: 1.05rem;
	line-height: 1.65;
}

@media (max-width: 600px) {
	.pf-static-page-card {
		padding: 20px;
	}
	.pf-page-title {
		font-size: 1.6rem;
	}
}

/* 15. Error 404 styles
   ========================================================================== */
.pf-error-section {
	text-align: center;
	background-color: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: 6px;
	padding: 50px 30px;
	box-shadow: var(--card-shadow);
}

.pf-error-num {
	font-size: 7rem;
	font-weight: 800;
	font-family: var(--font-heading);
	color: var(--primary-color);
	line-height: 1;
	margin-bottom: 10px;
}

.pf-error-title {
	font-size: 1.8rem;
	margin-bottom: 15px;
}

.pf-error-body {
	max-width: 600px;
	margin: 0 auto 40px auto;
}

.pf-error-body p {
	color: var(--text-muted);
	margin-bottom: 25px;
}

.pf-error-search .pf-search-form {
	max-width: 400px;
	margin: 0 auto;
	border-bottom-color: var(--border-color);
}
.pf-error-search .pf-search-input {
	color: var(--text-color);
}
.pf-error-search .pf-search-submit-btn {
	color: var(--text-color);
}

.pf-error-recent-posts {
	margin-top: 50px;
	text-align: left;
}

.pf-recent-posts-title {
	font-size: 1.2rem;
	text-transform: uppercase;
	border-bottom: 2px solid var(--border-color);
	margin-bottom: 25px;
	position: relative;
}

.pf-recent-posts-title span {
	border-bottom: 2px solid var(--primary-color);
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: -2px;
}

.pf-error-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
}

@media (max-width: 768px) {
	.pf-error-posts-grid {
		grid-template-columns: 1fr;
	}
}

/* 16. Footer Section styling
   ========================================================================== */
.site-footer {
	background-color: var(--footer-bg);
	color: var(--footer-text);
	padding: 40px 0 0 0;
	border-top: 1px solid var(--border-color);
}

.site-footer .widget {
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
	box-shadow: none !important;
}

.pf-footer-ad-container {
	margin-bottom: 25px;
}

.pf-footer-grid {
	display: grid;
	gap: 24px;
	padding-bottom: 30px;
}

.pf-footer-cols-1 {
	grid-template-columns: 1fr;
}

.pf-footer-cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

.pf-footer-cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.pf-footer-cols-4 {
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
}

.footer-widget-title {
	color: var(--header-text);
	font-size: 0.95rem;
	text-transform: uppercase;
	margin-bottom: 15px;
	font-family: var(--font-heading);
	font-weight: 700;
	border-bottom: 2px solid var(--border-color);
	padding-bottom: 6px;
}

.pf-footer-about-text {
	font-size: 0.85rem;
	line-height: 1.5;
}

.pf-footer-contact-info {
	font-size: 0.85rem;
	margin-top: 10px;
	color: var(--header-text);
}

.pf-footer-links-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.pf-footer-links-list li {
	margin-bottom: 8px;
}

.pf-footer-links-list a {
	color: var(--footer-text);
	font-size: 0.85rem;
	transition: color 0.2s;
}

.pf-footer-links-list a:hover {
	color: var(--primary-color);
}

.pf-footer-social-box {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.pf-footer-social-icon {
	width: 32px;
	height: 32px;
	background-color: var(--hover-bg);
	color: var(--footer-text);
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s, transform 0.2s;
	border: 1px solid var(--border-color);
}

.pf-footer-social-icon:hover {
	background-color: var(--primary-color);
	color: #ffffff;
	transform: translateY(-2px);
}

.pf-footer-social-icon svg {
	width: 14px;
	height: 14px;
}

/* Footer Bottom Bar styling */
.pf-footer-bottom {
	border-top: 1px solid var(--border-color);
	padding: 15px 0;
	background-color: transparent;
}

.pf-footer-bottom-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.75rem;
	color: var(--text-muted);
}

.pf-footer-copyright p {
	margin: 0;
}

.pf-footer-brand-name {
	color: var(--header-text);
	font-weight: 700;
}

.footer-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 15px;
}

.footer-menu-list a {
	color: var(--text-muted);
}

.footer-menu-list a:hover {
	color: var(--primary-color);
}

@media (max-width: 900px) {
	.pf-footer-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 600px) {
	.pf-footer-grid {
		grid-template-columns: 1fr !important;
	}
	.pf-footer-bottom-flex {
		flex-direction: column;
		text-align: center;
		gap: 15px;
	}
	.footer-menu-list {
		justify-content: center;
		flex-wrap: wrap;
	}
}

/* Layout and sidebar updates */
.pf-margin-bottom {
	margin-bottom: 24px;
}

.pf-latest-grid-two-cols {
	grid-template-columns: repeat(2, 1fr) !important;
}

@media (min-width: 1025px) {
	.pf-main-sidebar-layout .pf-sidebar {
		position: sticky;
		top: 100px;
		align-self: start;
	}
}

@media (max-width: 550px) {
	.pf-latest-grid-two-cols {
		grid-template-columns: 1fr !important;
	}
}

/* Card and content hover feedback transitions */
.pf-post-card-thumb img,
.pf-hero-img-link img,
.pf-post-list-thumb img {
	transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.4s ease;
}

/* 1. Zoom image on hover */
.pf-post-card:hover .pf-post-card-thumb img,
.pf-hero-card:hover .pf-hero-img-link img {
	transform: scale(1.06);
	filter: brightness(0.98);
}

.pf-post-list-item:hover .pf-post-list-thumb img {
	transform: scale(1.08);
}

/* 2. Raise card container, add drop shadow like a button */
.pf-post-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08), 0 4px 6px rgba(0, 0, 0, 0.04);
	border-color: #cbd5e1;
}

/* 3. Hero card hover shadow and elevation */
.pf-hero-card {
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pf-hero-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.pf-hero-card:hover .pf-hero-title a {
	color: var(--primary-color) !important;
}

/* 4. Small lists slide slightly right */
.pf-post-list-item {
	transition: transform 0.3s ease;
}

.pf-post-list-item:hover {
	transform: translateX(4px);
}

.pf-post-list-item:hover .pf-post-list-title a {
	color: var(--primary-color);
}
