/*
Theme Name: Shrijeet Child
Theme URI: https://shrijeetsingh.com
Description: Child theme for shrijeetsingh.com. Holds custom CSS and PHP so parent theme updates never overwrite your work. Parent: Kadence.
Author: Shrijeet Singh
Author URI: https://shrijeetsingh.com
Template: kadence
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: shrijeet-child
*/

/* ---------------------------------------------------------------
   Design tokens
   Change a value here and it updates everywhere it is used.
   --------------------------------------------------------------- */

:root {
	--sh-accent: #185FA5;
	--sh-accent-dark: #0C447C;
	--sh-text: #1A1A1A;
	--sh-text-muted: #5F5E5A;
	--sh-border: #E5E5E5;
	--sh-surface: #FFFFFF;
	--sh-surface-alt: #F7F7F5;
	--sh-content-width: 760px;
}

/* ---------------------------------------------------------------
   Reading experience
   Body copy is the product. Everything here serves the article.
   --------------------------------------------------------------- */

body {
	color: var(--sh-text);
}

.entry-content {
	font-size: 1.0625rem;
	line-height: 1.75;
}

.entry-content > p {
	margin-bottom: 1.5em;
}

/* Long-form comfort: cap measure even inside wide containers */
.single .entry-content > *:not(.alignwide):not(.alignfull) {
	max-width: var(--sh-content-width);
}

.entry-content h2 {
	margin-top: 2.5em;
	margin-bottom: 0.6em;
	line-height: 1.3;
}

.entry-content h3 {
	margin-top: 2em;
	margin-bottom: 0.5em;
}

.entry-content a {
	color: var(--sh-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.entry-content a:hover {
	color: var(--sh-accent-dark);
}

/* Code should look like code, not like a quote */
.entry-content code {
	font-size: 0.9em;
	background: var(--sh-surface-alt);
	padding: 0.15em 0.4em;
	border-radius: 3px;
}

.entry-content pre {
	font-size: 0.875rem;
	line-height: 1.6;
	border: 1px solid var(--sh-border);
	border-radius: 6px;
	padding: 1.25rem;
	overflow-x: auto;
}

.entry-content blockquote {
	border-left: 3px solid var(--sh-accent);
	border-radius: 0;
	padding-left: 1.25rem;
	font-style: normal;
	color: var(--sh-text-muted);
}

/* ---------------------------------------------------------------
   Ad slots
   Reserved height stops layout shift, which is what actually
   costs you Core Web Vitals once AdSense is live.
   --------------------------------------------------------------- */

.sh-ad {
	display: block;
	margin: 2.5rem auto;
	text-align: center;
	min-height: 90px;
}

.sh-ad--leaderboard { min-height: 90px; }
.sh-ad--in-feed     { min-height: 250px; }
.sh-ad--sidebar     { min-height: 600px; }

/* Sticky sidebar unit. The highest-RPM slot on the page because
   it stays viewable for the whole scroll. */
.sh-ad--sticky {
	position: sticky;
	top: 100px;
}

@media (max-width: 1024px) {
	.sh-ad--sticky { position: static; }
}

/* ---------------------------------------------------------------
   Newsletter block
   --------------------------------------------------------------- */

.sh-optin {
	background: #E6F1FB;
	border-radius: 12px;
	padding: 1.5rem;
	margin: 2.5rem 0;
}

.sh-optin h3 {
	margin-top: 0;
	color: var(--sh-accent-dark);
}

.sh-optin p {
	color: var(--sh-accent);
	margin-bottom: 1rem;
}

/* ---------------------------------------------------------------
   Author box — this is an E-E-A-T signal, not decoration.
   AdSense reviewers look for it.
   --------------------------------------------------------------- */

.sh-author {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	border: 1px solid var(--sh-border);
	border-radius: 12px;
	padding: 1.5rem;
	margin: 3rem 0;
}

.sh-author img {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	flex-shrink: 0;
}

.sh-author p {
	margin: 0.35rem 0 0;
	color: var(--sh-text-muted);
	font-size: 0.9375rem;
}

/* ---------------------------------------------------------------
   Accessibility floor
   --------------------------------------------------------------- */

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--sh-accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
