/*
 * Mahan Cloud Blog — long-form reading styles (single posts and pages only).
 */

/* ---------- Header ---------- */
.entry-header { padding: var(--sp-5) 0 var(--sp-2); }
.entry-header .cat-label { margin-bottom: var(--sp-3); }
.entry-title {
	font-size: clamp(1.75rem, 1.25rem + 2.1vw, 2.625rem);
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: -0.3px;
}
.entry-dek {
	margin-top: var(--sp-3);
	font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
	line-height: 1.95;
	color: var(--mc-ink-2);
}
.entry-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2) var(--sp-5);
	margin-top: var(--sp-5);
	padding-top: var(--sp-4);
	border-top: 1px solid var(--mc-border);
	font-size: var(--fs-sm);
	color: var(--mc-ink-3);
}
.entry-author {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	color: var(--mc-ink);
	text-decoration: none;
}
.entry-author:hover { color: var(--mc-brand); }
.entry-author-avatar { display: block; border-radius: 50%; }
.entry-meta-item { display: inline-flex; align-items: center; gap: 6px; }
.entry-meta-item .icon { color: var(--mc-brand-light); }

.entry-hero { margin-block: var(--sp-5) var(--sp-6); }
.entry-hero-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--radius-lg);
	background: var(--mc-surface);
}
.entry-hero figcaption,
.entry-content figcaption,
.entry-content .wp-caption-text {
	margin-top: var(--sp-2);
	font-size: var(--fs-xs);
	line-height: 1.8;
	color: var(--mc-ink-3);
	text-align: center;
}

.about-header { padding-bottom: var(--sp-5); }

/* ---------- Prose ---------- */
.entry-content {
	font-size: 1.0625rem;
	line-height: 2;
	color: #1f2b36;
	overflow-wrap: break-word;
}
@media (min-width: 769px) {
	.entry-content { font-size: 1.125rem; }
}
.entry-content > * { margin-block: 0 1.35em; }
.entry-content > *:last-child { margin-bottom: 0; }

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 { margin-block: 2em 0.7em; line-height: 1.6; }
.entry-content h2 {
	position: relative;
	padding-inline-start: 16px;
	font-size: clamp(1.3125rem, 1.15rem + 0.6vw, 1.625rem);
}
.entry-content h2::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.35em;
	bottom: 0.35em;
	width: 4px;
	border-radius: 4px;
	background: var(--mc-brand-light);
}
.entry-content h3 { font-size: clamp(1.1875rem, 1.1rem + 0.35vw, 1.3125rem); }
.entry-content h4 { font-size: 1.0625rem; }

.entry-content a {
	color: var(--mc-brand);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
.entry-content a:hover { text-decoration-thickness: 2px; }

.entry-content ul,
.entry-content ol { padding-inline-start: 1.4em; }
.entry-content li { margin-block: 0.4em; padding-inline-start: 0.2em; }
.entry-content li::marker { color: var(--mc-brand); font-weight: 700; }
.entry-content ol { list-style: persian; }
.entry-content li > ul,
.entry-content li > ol { margin-top: 0.4em; }

.entry-content strong { font-weight: 700; color: var(--mc-ink); }

.entry-content blockquote,
.entry-content .wp-block-quote {
	margin-inline: 0;
	padding: 18px 22px;
	border-inline-start: 4px solid var(--mc-brand-light);
	border-radius: var(--radius);
	background: #f3faf8;
	font-size: 1.0625rem;
	color: var(--mc-ink);
}
.entry-content blockquote p { margin: 0; }
.entry-content blockquote p + p { margin-top: 0.8em; }
.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
	display: block;
	margin-top: 10px;
	font-size: var(--fs-sm);
	font-style: normal;
	color: var(--mc-ink-3);
}
.entry-content .wp-block-pullquote {
	padding: 24px 0;
	border-block: 2px solid var(--mc-border);
	text-align: center;
	font-size: 1.25rem;
	font-weight: 600;
}
.entry-content .wp-block-pullquote blockquote { border: 0; background: none; padding: 0; }

/* Code: always LTR, scroll inside its box */
.entry-content code,
.entry-content kbd,
.entry-content samp {
	direction: ltr;
	unicode-bidi: isolate;
	font-family: var(--mc-mono);
	font-size: 0.86em;
}
.entry-content :not(pre) > code {
	padding: 2px 6px;
	border-radius: 6px;
	background: #edf3f4;
	color: #0b4f45;
	overflow-wrap: anywhere;
}
.entry-content kbd {
	padding: 1px 6px;
	border: 1px solid var(--mc-border-strong);
	border-bottom-width: 2px;
	border-radius: 6px;
	background: #fff;
}
.entry-content pre,
.entry-content .wp-block-code {
	direction: ltr;
	text-align: left;
	max-width: 100%;
	overflow-x: auto;
	padding: 18px 20px;
	border-radius: var(--radius);
	background: #0f1d24;
	color: #dceeea;
	font-family: var(--mc-mono);
	font-size: 0.875rem;
	line-height: 1.75;
	tab-size: 4;
	white-space: pre;
	-webkit-overflow-scrolling: touch;
}
.entry-content pre code { padding: 0; background: none; color: inherit; font-size: inherit; white-space: inherit; overflow-wrap: normal; }

/* Tables: the scroll wrapper keeps wide tables inside the column */
.entry-content .table-scroll {
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid var(--mc-border);
	border-radius: var(--radius);
	-webkit-overflow-scrolling: touch;
}
.entry-content .wp-block-table { overflow: visible; }
.entry-content .wp-block-table .table-scroll { margin-bottom: 0; }
.entry-content table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.8;
}
.entry-content th,
.entry-content td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--mc-border);
	text-align: start;
	vertical-align: top;
}
.entry-content thead th {
	background: var(--mc-surface);
	font-weight: 700;
	color: var(--mc-ink);
	white-space: nowrap;
}
.entry-content tbody tr:last-child td { border-bottom: 0; }
.entry-content .wp-block-table table { border: 0; }
.entry-content .wp-block-table thead { border-bottom: 0; }
.entry-content .wp-block-table td,
.entry-content .wp-block-table th { border-inline: 0; border-top: 0; }

/* Media */
.entry-content img,
.entry-content video { max-width: 100%; height: auto; border-radius: var(--radius); }
.entry-content figure { margin-inline: 0; }
.entry-content .wp-block-image img { display: block; }
.entry-content .wp-caption { max-width: 100%; }
.entry-content iframe,
.entry-content embed,
.entry-content object { max-width: 100%; }
.entry-content .wp-block-embed__wrapper iframe { width: 100%; }

.entry-content .alignwide {
	width: min(960px, 100vw - 2 * var(--gutter));
	max-width: none;
	margin-inline: calc(50% - min(480px, 50vw - var(--gutter)));
}
.entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
}
.entry-content .alignfull img { border-radius: 0; }
.entry-content .aligncenter { margin-inline: auto; text-align: center; }
.entry-content .aligncenter img { margin-inline: auto; }
.entry-content .alignleft { float: left; margin: 0.4em 0 1em 1.5em; max-width: 50%; }
.entry-content .alignright { float: right; margin: 0.4em 1.5em 1em 0; max-width: 50%; }
.entry-content::after { content: ""; display: table; clear: both; }

.entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.entry-content .gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.entry-content .gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.entry-content .gallery-item { margin: 0; }
.entry-content .gallery img { width: 100%; }

.entry-content hr,
.entry-content .wp-block-separator {
	width: 120px;
	height: 0;
	margin: 2.5em auto;
	border: 0;
	border-top: 2px solid var(--mc-border-strong);
}
.entry-content mark { background: #d7f5ec; color: inherit; padding: 0 3px; border-radius: 3px; }
.entry-content abbr[title] { text-decoration: underline dotted; }

/* Notes (a common editorial pattern: a paragraph with class "note") */
.entry-content .note,
.entry-content .is-style-note {
	padding: 16px 20px;
	border: 1px solid #cfe7f2;
	border-radius: var(--radius);
	background: var(--mc-sky-soft);
	font-size: 1rem;
}

.page-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--sp-5); font-weight: 600; }
.page-links a,
.page-links > span:not(.page-links-title) {
	display: inline-flex;
	min-width: 40px;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--mc-border);
	border-radius: var(--radius-sm);
	text-decoration: none;
}

/* ---------- Post footer ---------- */
.entry-footer {
	display: grid;
	gap: var(--sp-5);
	margin-top: var(--sp-6);
	padding-top: var(--sp-5);
	border-top: 1px solid var(--mc-border);
}
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.tag-list a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 4px 12px;
	border-radius: var(--radius-sm);
	background: var(--mc-surface);
	font-size: var(--fs-sm);
	color: var(--mc-ink-2);
	text-decoration: none;
}
.tag-list a:hover { background: var(--mc-brand-soft); color: var(--mc-brand); }

.share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); }
.share-title { font-size: var(--fs-sm); font-weight: 700; color: var(--mc-ink-2); }
.share-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--mc-border);
	border-radius: 12px;
	background: #fff;
	color: var(--mc-ink-2);
	font-size: var(--fs-sm);
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
.share-link:hover { border-color: var(--mc-brand); color: var(--mc-brand); background: var(--mc-brand-soft); }
.share-copy.is-copied { border-color: var(--mc-brand); color: var(--mc-brand); }
.share-status { flex-basis: 100%; min-height: 1px; font-size: var(--fs-xs); color: var(--mc-brand); }
.share-status:empty { display: none; }

/* ---------- Author box ---------- */
.author-box {
	display: flex;
	align-items: flex-start;
	gap: var(--sp-4);
	margin-top: var(--sp-6);
	padding: var(--sp-5);
	border: 1px solid var(--mc-border);
	border-radius: var(--radius-lg);
	background: var(--mc-surface);
}
.author-avatar { display: block; flex: none; border-radius: 50%; }
.author-box-eyebrow { font-size: var(--fs-xs); font-weight: 700; color: var(--mc-brand); }
.author-box-title { font-size: var(--fs-md); line-height: 1.6; }
.author-box-title a { color: var(--mc-ink); text-decoration: none; }
.author-box-title a:hover { color: var(--mc-brand); }
.author-box-bio { margin-top: 6px; font-size: 0.9375rem; line-height: 1.9; color: var(--mc-ink-2); }
.author-box .text-link { margin-top: var(--sp-2); font-size: var(--fs-sm); }

.after-article { margin-top: var(--sp-6); }
.after-article .widget + .widget { margin-top: var(--sp-5); }
.widget-title { margin-bottom: var(--sp-3); font-size: var(--fs-md); }

/* ---------- Previous / next ---------- */
.post-navigation { margin-top: var(--sp-6); }
.post-navigation .nav-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-4);
}
.post-navigation .nav-next { grid-column: 2; text-align: end; }
.post-navigation a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	padding: var(--sp-4) var(--sp-5);
	border: 1px solid var(--mc-border);
	border-radius: var(--radius-lg);
	color: var(--mc-ink);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.post-navigation a:hover { border-color: #cfe3de; box-shadow: var(--shadow); }
.post-navigation .nav-next a { align-items: flex-end; }
.nav-dir { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: 700; color: var(--mc-brand); }
.nav-title { font-weight: 700; line-height: 1.7; }

/* ---------- Related ---------- */
.related {
	margin-top: var(--sp-7);
	padding: var(--sp-7) 0;
	background: var(--mc-surface);
	border-top: 1px solid var(--mc-border);
}
/* ---------- Comments ---------- */
.comments { margin-block: var(--sp-7); }
.comments-title { font-size: var(--fs-lg); margin-bottom: var(--sp-4); }
.comment-list { list-style: none; }
.comment-list .children { list-style: none; padding-inline-start: var(--sp-5); }
.comment-body {
	margin-bottom: var(--sp-4);
	padding: var(--sp-4) var(--sp-5);
	border: 1px solid var(--mc-border);
	border-radius: var(--radius);
}
.comment-author { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.comment-author .avatar { border-radius: 50%; }
.comment-author .says { display: none; }
.comment-metadata { font-size: var(--fs-xs); }
.comment-metadata a { color: var(--mc-ink-3); text-decoration: none; }
.comment-content { margin-top: var(--sp-2); }
.reply a { font-size: var(--fs-sm); font-weight: 600; }
.comment-respond { margin-top: var(--sp-5); padding: var(--sp-5); border-radius: var(--radius-lg); background: var(--mc-surface); }
.comment-reply-title { font-size: var(--fs-md); margin-bottom: var(--sp-2); }
.comment-notes,
.logged-in-as { font-size: var(--fs-sm); color: var(--mc-ink-2); margin-bottom: var(--sp-3); }
.comment-form p { margin-bottom: var(--sp-3); }
.comment-form label { display: block; margin-bottom: 4px; font-size: var(--fs-sm); font-weight: 600; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--mc-border-strong);
	border-radius: var(--radius);
	background: #fff;
}
.comment-form input:focus,
.comment-form textarea:focus { outline: 3px solid rgba(10, 125, 104, 0.35); border-color: var(--mc-brand); }
.comment-form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.comment-form .comment-form-cookies-consent label { font-weight: 400; }
.comment-form .form-submit .button { border: 0; }

/* ---------- About page ---------- */
.about-topics,
.about-team,
.about-contact { margin-top: var(--sp-7); }
.about-topics .section-title,
.about-team .section-title { margin-bottom: var(--sp-4); }
.about-topic-nav .topic-nav-label { display: none; }
.team-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-4);
	list-style: none;
}
.team-member {
	display: flex;
	gap: var(--sp-4);
	padding: var(--sp-4) var(--sp-5);
	border: 1px solid var(--mc-border);
	border-radius: var(--radius-lg);
}
.team-name { font-size: var(--fs-base); line-height: 1.7; }
.team-name a { color: var(--mc-ink); text-decoration: none; }
.team-name a:hover { color: var(--mc-brand); }
.team-bio { margin-top: 4px; font-size: var(--fs-sm); line-height: 1.9; color: var(--mc-ink-2); }
.about-contact { margin-bottom: var(--sp-7); }
.contact-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-5);
	padding: var(--sp-5) var(--sp-6);
	border: 1px solid #d5ede6;
	border-radius: 20px;
	background: #f3fbf8;
}
.contact-title { font-size: var(--fs-md); }
.contact-panel p { margin-top: 4px; color: var(--mc-ink-2); font-size: 0.9375rem; }

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
	.entry-hero { padding-inline: 0; }
	.entry-hero-img { border-radius: 0; }
	.entry-hero figcaption { padding-inline: var(--gutter); }
	.related { padding: var(--sp-6) 0; }
	.team-list { grid-template-columns: minmax(0, 1fr); }
	.contact-panel { flex-direction: column; align-items: flex-start; padding: var(--sp-5); }
}

@media (max-width: 480px) {
	.entry-content { line-height: 1.95; }
	.entry-content pre,
	.entry-content .wp-block-code { margin-inline: calc(-1 * var(--gutter)); border-radius: 0; padding-inline: var(--gutter); }
	.entry-content blockquote { padding: 14px 16px; }
	.entry-content .alignleft,
	.entry-content .alignright { float: none; max-width: 100%; margin: 0 0 1.35em; }
	.entry-content .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.entry-meta { gap: var(--sp-2) var(--sp-4); }
	.author-box { flex-direction: column; padding: var(--sp-4); }
	.post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); }
	.post-navigation .nav-next { grid-column: auto; }
	/* Icon-only on small screens; the label stays available to screen readers. */
	.share-copy-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
}
