/* Hesham Saad theme 2.0.71 (2.0.73: Load more button removed): archive hero short description, category full description, infinite scroll UI. Logical properties only (RTL-safe). */

/* —— Hero: title + short description side by side —— */
.hs-archive-hero__row { display: block; }
.hs-archive-hero__desc {
	margin: 0.75rem 0 0;
	font-size: 1rem;
	line-height: 1.6;
	color: #525866;
	text-align: start;
	text-wrap: pretty;
	max-inline-size: 40rem;
}
@media (min-width: 768px) {
	.hs-archive-hero__row--has-desc {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		column-gap: 3rem;
	}
	.hs-archive-hero__row--has-desc .hs-archive-hero__desc {
		margin: 0;
		font-size: 1.0625rem;
		justify-self: start;
	}
}

/* —— Category full description (page 1 only) —— */
.hs-archive-full-desc {
	margin-block-start: 3rem;
	padding-block-start: 2.5rem;
	border-block-start: 1px solid var(--border, #e5e7eb);
}
.hs-archive-full-desc__prose { color: var(--foreground, #0e121b); font-size: 1rem; line-height: 1.75; max-inline-size: 46rem; }
.hs-archive-full-desc__prose > :first-child { margin-block-start: 0; }
.hs-archive-full-desc__prose > :last-child { margin-block-end: 0; }
.hs-archive-full-desc__prose :is(p, ul, ol, blockquote, table, figure) { margin-block: 0 1.1em; }
.hs-archive-full-desc__prose :is(h2, h3, h4) { font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; margin-block: 1.6em 0.6em; }
.hs-archive-full-desc__prose h2 { font-size: 1.5rem; }
.hs-archive-full-desc__prose h3 { font-size: 1.25rem; }
.hs-archive-full-desc__prose h4 { font-size: 1.0625rem; }
.hs-archive-full-desc__prose :is(ul, ol) { padding-inline-start: 1.4em; }
.hs-archive-full-desc__prose ul { list-style: disc; }
.hs-archive-full-desc__prose ol { list-style: decimal; }
.hs-archive-full-desc__prose li + li { margin-block-start: 0.35em; }
.hs-archive-full-desc__prose a { color: var(--brand, #e8892b); text-decoration: underline; text-underline-offset: 3px; }
.hs-archive-full-desc__prose blockquote { border-inline-start: 3px solid var(--border, #e5e7eb); padding-inline-start: 1rem; color: #525866; }
.hs-archive-full-desc__prose img { max-inline-size: 100%; block-size: auto; }

/* —— Infinite scroll —— */
/* Real pagination stays in the HTML; once JS runs it is visually hidden (not display:none) and reappears on keyboard focus. */
.hs-infinite-ready .hs-blog-pagination:not(:focus-within) {
	position: absolute !important;
	inline-size: 1px; block-size: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap; border: 0;
}
.hs-infinite__sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.hs-infinite__sentinel { block-size: 1px; }
.hs-infinite__controls { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding-block: 2rem 0.5rem; min-block-size: 5.5rem; text-align: center; }
.hs-infinite__loader[hidden], .hs-infinite__msg[hidden] { display: none; }
.hs-infinite__loader { display: inline-flex; align-items: center; gap: 0.625rem; color: #525866; font-size: 0.9375rem; }
.hs-infinite__spinner { inline-size: 1.125rem; block-size: 1.125rem; border-radius: 50%; border: 2px solid color-mix(in srgb, currentColor 25%, transparent); border-block-start-color: currentColor; animation: hs-inf-spin .8s linear infinite; }
.hs-infinite__msg { color: #525866; font-size: 0.875rem; margin: 0; }
@keyframes hs-inf-spin { to { transform: rotate(360deg); } }

/* Skeleton rows reserve the incoming batch height (no layout shift). */
.hs-infinite__skeleton { list-style: none; }
.hs-infinite__skeleton-card { display: grid; grid-template-columns: minmax(0, 1fr) var(--hs-blog-list-thumb, 15rem); gap: 1.75rem; padding-block: 1.5rem; block-size: 100%; box-sizing: border-box; }
.hs-infinite__skeleton-lines { display: flex; flex-direction: column; gap: 0.75rem; }
.hs-infinite__skeleton-line, .hs-infinite__skeleton-thumb { border-radius: 0.375rem; background: linear-gradient(90deg, #eef0f3 25%, #f6f7f9 37%, #eef0f3 63%); background-size: 400% 100%; animation: hs-inf-shimmer 1.4s ease infinite; }
.hs-infinite__skeleton-line { block-size: 0.875rem; }
.hs-infinite__skeleton-line--title { block-size: 1.5rem; inline-size: 85%; }
.hs-infinite__skeleton-line--short { inline-size: 40%; }
.hs-infinite__skeleton-thumb { aspect-ratio: 16 / 10; }
@media (max-width: 639px) {
	.hs-infinite__skeleton-card { grid-template-columns: minmax(0, 1fr); }
	.hs-infinite__skeleton-thumb { grid-row: 1; aspect-ratio: 16 / 9; }
}
@keyframes hs-inf-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
@media (prefers-reduced-motion: reduce) {
	.hs-infinite__spinner, .hs-infinite__skeleton-line, .hs-infinite__skeleton-thumb { animation: none; }
}
.hs-blog-list-item__title[tabindex="-1"]:focus { outline: none; }
.hs-blog-list-item__title[tabindex="-1"]:focus-visible { outline: 2px solid var(--brand, #e8892b); outline-offset: 4px; }
