.pfx-article{
	background:transparent;
	border:0;
	padding:0;
}
.pfx-single-block{margin-bottom:20px}
.pfx-featured{
	margin:0 0 20px;
	border-radius:18px;
	overflow:hidden;
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
}
.pfx-featured img{width:100%;height:auto}
.pfx-article-header{
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
	border-radius:16px;
	padding:22px 24px;
	margin-bottom:14px;
}
.pfx-article-header h1{
	font-size:34px;
	line-height:1.6;
	margin:0;
	letter-spacing:-.3px;
}
.pfx-single-meta-wrap{
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
	border-radius:13px;
	padding:12px 16px;
}
.pfx-single-meta{font-size:11px;gap:9px 16px}
.pfx-single-excerpt{
	background:linear-gradient(135deg,var(--pfx-card),var(--pfx-soft));
	border:1px solid var(--pfx-border);
	border-right:4px solid var(--pfx-accent);
	border-radius:14px;
	padding:17px 19px;
	font-size:14px;
	color:var(--pfx-muted);
}
.entry-content{
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
	border-radius:16px;
	padding:26px;
	font-size:16px;
}
.entry-content h2{font-size:25px;margin-top:2em}
.entry-content h3{font-size:20px;margin-top:1.7em}
.entry-content a{color:var(--pfx-accent);text-decoration:underline;text-underline-offset:3px}
.entry-content blockquote{
	margin:24px 0;
	border-right:4px solid var(--pfx-accent);
	background:var(--pfx-soft);
	padding:16px 20px;
	border-radius:10px;
}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{border:1px solid var(--pfx-border);padding:10px}
.entry-content ul,.entry-content ol{padding-right:24px}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li{margin:.35em 0}

.pfx-tags-box{
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
	border-radius:15px;
	padding:18px;
}
.pfx-tags-heading{font-size:13px;font-weight:800;margin-bottom:12px}
.pfx-tags{display:flex;gap:8px;flex-wrap:wrap}
.pfx-tags a{
	background:var(--pfx-soft);
	border:1px solid var(--pfx-border);
	color:var(--pfx-muted);
	padding:7px 11px;
	border-radius:999px;
	font-size:11px;
	transition:all .18s ease;
}
.pfx-tags a:hover{
	background:var(--pfx-accent);
	border-color:var(--pfx-accent);
	color:#05241f;
	transform:translateY(-1px);
}

.pfx-single-panel,
.pfx-rating-box{
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
	border-radius:17px;
	padding:20px;
	margin-bottom:22px;
	box-shadow:0 8px 25px rgba(15,23,42,.035);
}
.pfx-panel-heading{
	display:flex;align-items:center;justify-content:space-between;
	margin-bottom:15px;padding-right:10px;border-right:3px solid var(--pfx-accent)
}
.pfx-panel-heading h2{margin:0;font-size:18px}
.pfx-related .pfx-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.pfx-rating-box{
	display:grid;
	grid-template-columns:1fr auto;
	align-items:center;
	gap:16px;
	background:linear-gradient(135deg,var(--pfx-card),var(--pfx-soft));
}
.pfx-rating-box h2{margin:0 0 4px;font-size:17px}
.pfx-rating-box p{margin:0;color:var(--pfx-muted);font-size:11px}
.pfx-stars{display:flex;direction:ltr;gap:3px}
.pfx-stars button{
	border:0;background:transparent;
	color:#cbd3dc;
	font-size:27px;line-height:1;
	padding:2px;cursor:pointer;
	transition:transform .15s ease,color .15s ease;
}
.pfx-stars button:hover,
.pfx-stars button:hover ~ button{color:#f5b301;transform:scale(1.08)}
.pfx-rating-box.is-rated .pfx-stars{opacity:.55;pointer-events:none}
.pfx-rating-message{grid-column:1/-1;color:var(--pfx-accent);font-size:11px}

.pfx-comments-panel{padding:22px}
.comment-list{list-style:none!important;margin:0;padding:0!important}
.comment-list .comment{
	background:var(--pfx-soft);
	border:1px solid var(--pfx-border);
	border-radius:13px;
	padding:14px;
	margin:10px 0;
}
.comment-list .children{list-style:none!important;margin:12px 24px 0 0;padding:0}
.comment-author{display:flex;align-items:center;gap:9px}
.comment-author .avatar{border-radius:50%}
.comment-meta{font-size:10px;color:var(--pfx-muted)}
.comment-content{font-size:13px;margin-top:10px}
.comment-reply-link{display:inline-flex;margin-top:8px;color:var(--pfx-accent);font-size:10px}
.comment-form{display:grid;gap:10px}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{
	width:100%;
	border:1px solid var(--pfx-border);
	background:var(--pfx-soft);
	color:var(--pfx-text);
	border-radius:10px;
	padding:11px 12px;
}
.comment-form .submit{
	border:0;background:var(--pfx-accent);color:#05241f;
	border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer
}
.comment-reply-title{font-size:17px}

@media(max-width:640px){
	.pfx-article-header{padding:17px}
	.pfx-article-header h1{font-size:25px}
	.entry-content{font-size:15px;padding:18px}
	.pfx-related .pfx-post-grid{grid-template-columns:1fr}
	.pfx-rating-box{grid-template-columns:1fr}
	.pfx-stars{justify-content:flex-end}
}


/* Compact rating */
.pfx-rating-box{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 16px;
	padding:13px 16px;
	min-height:58px;
}
.pfx-rating-title{
	font-size:13px;
	font-weight:800;
	white-space:nowrap;
}
.pfx-rating-summary{
	display:flex;
	align-items:center;
	gap:8px;
	color:var(--pfx-muted);
	font-size:11px;
}
.pfx-rating-summary strong{
	color:var(--pfx-text);
	font-size:12px;
}
.pfx-rating-visual{
	position:relative;
	display:inline-block;
	direction:ltr;
	font-size:19px;
	line-height:1;
	letter-spacing:1px;
	width:max-content;
}
.pfx-rating-stars-base{
	color:#c8d0d9;
	display:block;
}
.pfx-rating-stars-fill{
	position:absolute;
	left:0;top:0;
	overflow:hidden;
	white-space:nowrap;
	color:#f5b301;
	display:block;
}
.pfx-rating-vote{
	display:flex;
	align-items:center;
	gap:6px;
	margin-right:auto;
	font-size:10px;
	color:var(--pfx-muted);
}
.pfx-stars{
	display:flex;
	direction:rtl;
	gap:1px;
}
.pfx-stars button{
	font-size:21px;
	padding:0 1px;
}
.pfx-rating-message{
	flex-basis:100%;
	margin:0;
	min-height:0;
	line-height:1.4;
}
.pfx-rating-message:empty{display:none}

.pfx-single-excerpt p{margin:0}


/* ===== PersianFX 1.5 article UX ===== */

/* Reading progress */
.pfx-reading-progress{
	position:fixed;
	z-index:10000;
	top:0;
	left:0;
	right:0;
	height:3px;
	background:transparent;
	pointer-events:none;
}
.pfx-reading-progress span{
	display:block;
	width:100%;
	height:100%;
	background:var(--pfx-accent);
	transform:scaleX(0);
	transform-origin:right center;
	box-shadow:0 0 10px color-mix(in srgb,var(--pfx-accent) 65%,transparent);
	will-change:transform;
}

/* TOC */
.pfx-toc{
	background:var(--pfx-card);
	border:1px solid var(--pfx-border);
	border-radius:15px;
	padding:15px 17px;
	box-shadow:0 6px 20px rgba(15,23,42,.035);
}
.pfx-toc-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding-bottom:10px;
	border-bottom:1px solid var(--pfx-border);
}
.pfx-toc-head strong{font-size:13px}
.pfx-toc-toggle{
	display:grid;
	place-items:center;
	width:28px;
	height:28px;
	border:1px solid var(--pfx-border);
	border-radius:8px;
	background:var(--pfx-soft);
	color:var(--pfx-text);
	cursor:pointer;
}
.pfx-toc-list{
	list-style:none!important;
	margin:11px 0 0!important;
	padding:0!important;
	display:grid;
	gap:3px;
}
.pfx-toc-list li{margin:0!important}
.pfx-toc-list a{
	display:block;
	padding:6px 8px;
	border-radius:8px;
	color:var(--pfx-muted);
	font-size:11px;
	line-height:1.7;
	transition:background .18s ease,color .18s ease;
}
.pfx-toc-list a:hover,
.pfx-toc-list a.is-active{
	background:var(--pfx-soft);
	color:var(--pfx-accent);
}
.pfx-toc-level-3{padding-right:14px}
.pfx-toc.is-collapsed .pfx-toc-list{display:none}
.pfx-sticky-toc{position:sticky;top:96px;z-index:5}
.entry-content h2,
.entry-content h3{scroll-margin-top:105px}

/* Copy link */
.pfx-copy-link-box{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:42px;
}
.pfx-copy-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	border:1px solid var(--pfx-border);
	border-radius:10px;
	padding:8px 12px;
	background:var(--pfx-card);
	color:var(--pfx-muted);
	cursor:pointer;
	transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.pfx-copy-link svg{
	width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.pfx-copy-link:hover,
.pfx-copy-link.is-copied{
	border-color:color-mix(in srgb,var(--pfx-accent) 50%,var(--pfx-border));
	background:color-mix(in srgb,var(--pfx-accent) 8%,var(--pfx-card));
	color:var(--pfx-accent);
}
.pfx-copy-status{font-size:11px;color:var(--pfx-accent)}

/* Author box */
.pfx-author-box{
	display:grid;
	grid-template-columns:96px minmax(0,1fr);
	gap:18px;
	align-items:start;
}
.pfx-author-avatar img{
	width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--pfx-soft)
}
.pfx-author-kicker{font-size:10px;color:var(--pfx-accent);font-weight:800}
.pfx-author-content h2{font-size:18px;margin:2px 0 5px}
.pfx-author-content p{margin:0;color:var(--pfx-muted);font-size:12px;line-height:2}
.pfx-author-actions{
	display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:10px
}
.pfx-author-actions a{color:var(--pfx-accent)}
.pfx-author-socials{display:flex;gap:6px;margin-top:12px}
.pfx-author-socials a{
	display:grid;place-items:center;width:31px;height:31px;border-radius:9px;
	background:var(--pfx-soft);border:1px solid var(--pfx-border);color:var(--pfx-muted)
}
.pfx-author-socials a:hover{color:var(--pfx-accent);border-color:var(--pfx-accent)}
.pfx-author-socials svg{width:16px;height:16px;fill:currentColor;stroke:currentColor}

/* Prev / next */
.pfx-post-navigation{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	padding:14px;
}
.pfx-nav-card{
	display:grid;
	grid-template-columns:94px minmax(0,1fr);
	gap:11px;
	align-items:center;
	min-height:86px;
	padding:9px;
	border:1px solid var(--pfx-border);
	border-radius:12px;
	background:var(--pfx-soft);
	transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.pfx-nav-card:hover{
	transform:translateY(-2px);
	border-color:color-mix(in srgb,var(--pfx-accent) 45%,var(--pfx-border));
	background:var(--pfx-card);
}
.pfx-nav-card.is-empty{visibility:hidden}
.pfx-nav-thumb{
	width:94px;aspect-ratio:16/10;overflow:hidden;border-radius:9px;background:var(--pfx-card)
}
.pfx-nav-thumb img{width:100%;height:100%;object-fit:cover}
.pfx-nav-copy{min-width:0}
.pfx-nav-copy span{display:block;color:var(--pfx-muted);font-size:9px;margin-bottom:3px}
.pfx-nav-copy strong{
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
	font-size:12px;line-height:1.75
}

/* Better page links */
.pfx-page-links{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 20px}

@media(max-width:640px){
	.pfx-author-box{grid-template-columns:68px minmax(0,1fr);gap:12px}
	.pfx-author-avatar img{width:68px;height:68px}
	.pfx-post-navigation{grid-template-columns:1fr}
	.pfx-nav-card.is-empty{display:none}
	.pfx-nav-card{grid-template-columns:80px minmax(0,1fr)}
	.pfx-nav-thumb{width:80px}
}


/* Keep the professional table/quote rules above older single.css defaults. */
.entry-content .pfx-table-scroll table,
.entry-content .wp-block-table table{
	border-collapse:separate;
	border-spacing:0;
	border:0;
}
.entry-content .pfx-table-scroll th,
.entry-content .pfx-table-scroll td,
.entry-content .wp-block-table th,
.entry-content .wp-block-table td{
	border-top:0;
	border-right:0;
	padding:12px 14px;
}
.entry-content blockquote,
.entry-content .pfx-editorial-quote{
	border:1px solid var(--pfx-border);
	border-right:4px solid var(--pfx-accent);
	border-radius:14px;
	background:linear-gradient(135deg,var(--pfx-soft),var(--pfx-card));
	padding:22px 24px 22px 58px;
}
