/**
 * Nouman Labs — Custom Styles
 *
 * Reading progress bar, card hovers, tag pills,
 * callout boxes, nav dots, responsive adjustments.
 */

/* ========================================
   READING PROGRESS BAR
   ======================================== */
.noumanlabs-progress-bar {
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 2px;
	background: #F82730;
	z-index: 9999;
	transition: width 0.1s linear;
	pointer-events: none;
}

/* ========================================
   TAG PILLS (block style: is-style-tag-pills)
   ======================================== */
.wp-block-post-terms.is-style-tag-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.wp-block-post-terms.is-style-tag-pills a {
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: 0.72rem;
	color: #55554F;
	background: #EDEADF;
	padding: 0.2rem 0.6rem;
	border-radius: 3px;
	text-decoration: none;
	text-transform: lowercase;
	transition: background 0.15s ease;
}

.wp-block-post-terms.is-style-tag-pills a:hover {
	background: #E0DCD2;
	color: #272729;
}

.wp-block-post-terms.is-style-tag-pills .wp-block-post-terms__separator {
	display: none;
}

/* ========================================
   CARD HOVER TRANSITIONS
   ======================================== */
.noumanlabs-lab-card {
	transition: border-color 0.2s ease;
}

.noumanlabs-lab-card:hover {
	border-color: #55554F !important;
}

/* Post navigation link cards */
.wp-block-post-navigation-link {
	transition: border-color 0.2s ease;
}

.wp-block-post-navigation-link:hover {
	border-color: #55554F !important;
}

/* ========================================
   CALLOUT BOX
   Using a group block with the class "noumanlabs-callout"
   ======================================== */
.noumanlabs-callout {
	background: #FBFAF3;
	border: 1px solid #E0DCD2;
	border-left: 3px solid #F82730;
	border-radius: 0 4px 4px 0;
	padding: 1.5rem;
}

.noumanlabs-callout-label {
	font-family: var(--wp--preset--font-family--jost);
	font-weight: 600;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: #F82730;
	margin-bottom: 0.4rem;
}

/* ========================================
   CODE BLOCK ENHANCEMENTS
   ======================================== */
.wp-block-code {
	overflow-x: auto;
}

/* Inline code within prose */
.wp-block-post-content :not(pre) > code {
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: 0.88em;
	background: #FBFAF3;
	border: 1px solid #E0DCD2;
	padding: 0.1em 0.35em;
	border-radius: 3px;
	color: #272729;
}

/* ========================================
   BODY TEXT REFINEMENTS
   ======================================== */
.wp-block-post-content {
	font-size: 1.05rem;
	line-height: 1.75;
}

.wp-block-post-content strong {
	font-weight: 500;
}

/* List marker color */
.wp-block-post-content li::marker {
	color: #F82730;
}

/* ========================================
   LINK UNDERLINE STYLING
   ======================================== */
.wp-block-post-content a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

/* ========================================
   FEATURED IMAGE BORDER
   ======================================== */
.single .wp-block-post-featured-image img {
	border-radius: 4px;
}

/* ========================================
   NAVIGATION SEPARATOR DOTS
   In post-terms displayed inline, use middle dots
   ======================================== */
.wp-block-post-terms:not(.is-style-tag-pills) .wp-block-post-terms__separator {
	margin: 0 0.15rem;
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */
@media (max-width: 768px) {
	/* Stack header on mobile */
	.wp-block-group.alignwide > .wp-block-site-title,
	.wp-block-group.alignwide > .wp-block-navigation {
		width: 100%;
	}

	/* Stack post navigation on mobile */
	.wp-block-post-navigation-link {
		flex-basis: 100%;
	}

	/* Reduce section spacing */
	.wp-block-group[style*="padding-bottom:var(--wp--preset--spacing--70)"] {
		padding-bottom: var(--wp--preset--spacing--60) !important;
	}
}
