/*
Theme Name: Serrebi Projects (Twenty Twenty-Five Child)
Theme URI: https://projects.serrebiradio.com/
Description: Child theme for a simplified project downloads homepage.
Author: Codex
Template: twentytwentyfive
Version: 1.0.0
Text Domain: twentytwentyfive-serrebi-projects
*/

body.home {
	--sp-bg: #f6f1e8;
	--sp-surface: #fffdfa;
	--sp-surface-soft: #fbf7f1;
	--sp-border: #ddd1be;
	--sp-text: #2f261d;
	--sp-muted: #5e5144;
	--sp-accent: #7b4d28;
	--sp-accent-dark: #623b1d;
	--sp-shadow: 0 18px 45px rgba(64, 44, 22, 0.08);
	background:
		radial-gradient(circle at top left, rgba(224, 202, 170, 0.35), transparent 34%),
		radial-gradient(circle at top right, rgba(201, 221, 214, 0.35), transparent 28%),
		linear-gradient(180deg, #f8f4ec 0%, var(--sp-bg) 100%);
	color: var(--sp-text);
}

body.home .wp-site-blocks {
	min-height: 100vh;
}

body.home a {
	color: var(--sp-accent);
	text-underline-offset: 0.15em;
}

body.home a:hover,
body.home a:focus-visible {
	color: var(--sp-accent-dark);
}

body.home .wp-block-template-part > .wp-block-group {
	border-color: var(--sp-border) !important;
	background: rgba(255, 251, 245, 0.8);
	backdrop-filter: blur(10px);
}

body.home .wp-block-site-title a,
body.home footer .wp-block-paragraph {
	color: var(--sp-text);
	text-decoration: none;
}

body.home .sp-home-main {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.75rem);
}

body.home .sp-home-intro,
body.home .sp-home-apps,
body.home .sp-home-posts {
	background: rgba(255, 252, 246, 0.88);
	border: 1px solid var(--sp-border) !important;
	border-radius: 26px;
	box-shadow: var(--sp-shadow);
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
}

body.home .sp-home-intro {
	background:
		radial-gradient(circle at top right, rgba(228, 210, 186, 0.4), transparent 40%),
		linear-gradient(180deg, #fffdf9 0%, #f7f2ea 100%);
}

body.home .sp-home-intro .wp-block-post-title {
	font-size: clamp(2.25rem, 6vw, 4rem);
	letter-spacing: -0.03em;
	line-height: 1;
	margin-bottom: 0.4rem;
	max-width: 12ch;
}

body.home .sp-home-intro .wp-block-post-title a {
	color: var(--sp-text);
	text-decoration: none;
}

body.home .sp-home-intro .wp-block-post-title a:hover,
body.home .sp-home-intro .wp-block-post-title a:focus-visible {
	color: var(--sp-accent-dark);
}

body.home .sp-home-intro .wp-block-paragraph {
	color: var(--sp-muted);
	font-size: clamp(1.02rem, 1.5vw, 1.16rem);
	line-height: 1.75;
	margin: 0;
	max-width: 60ch;
}

body.home .sp-home-apps .wp-block-post-content,
body.home .sp-home-posts .wp-block-query {
	margin-top: 0;
}

body.home .sp-home-posts > .wp-block-heading {
	color: #6b563d;
	font-size: clamp(0.95rem, 1.5vw, 1.1rem) !important;
	line-height: 1.4;
	margin-bottom: 0.5rem;
}

body.home .wp-block-query .wp-block-post-template {
	gap: 1rem;
	list-style: none;
	margin: 1.35rem 0 0;
	padding: 0;
}

body.home .wp-block-query .wp-block-post-template > li {
	list-style: none;
	margin: 0;
}

body.home .sp-home-post-card {
	background: linear-gradient(180deg, var(--sp-surface) 0%, var(--sp-surface-soft) 100%);
	border: 1px solid var(--sp-border) !important;
	border-radius: 22px;
	box-shadow: 0 12px 30px rgba(64, 44, 22, 0.06);
	padding-left: clamp(1rem, 2vw, 1.5rem);
	padding-right: clamp(1rem, 2vw, 1.5rem);
}

body.home .sp-home-post-card .wp-block-post-title {
	font-size: clamp(1.28rem, 2vw, 1.58rem);
	line-height: 1.25;
	margin: 0;
	max-width: 22ch;
}

body.home .sp-home-post-card .wp-block-post-title a {
	color: var(--sp-text);
	text-decoration: none;
}

body.home .sp-home-post-card .wp-block-post-title a:hover,
body.home .sp-home-post-card .wp-block-post-title a:focus-visible {
	color: var(--sp-accent-dark);
}

body.home .sp-home-post-card .wp-block-post-date,
body.home .sp-home-post-card .wp-block-post-date a {
	color: var(--sp-muted);
	font-size: 0.95rem;
	text-decoration: none;
}

body.home .sp-home-post-card .wp-block-post-excerpt {
	margin-top: 0;
	max-width: 68ch;
}

body.home .sp-home-post-card .wp-block-post-excerpt__excerpt {
	color: var(--sp-muted);
	font-size: 1rem;
	line-height: 1.75;
}

body.home .gah-catalog {
	gap: 1.75rem;
}

body.home .gah-intro {
	background: linear-gradient(180deg, #fffdf8 0%, #f7f1e6 100%);
	border: 1px solid var(--sp-border);
	border-radius: 22px;
	box-shadow: 0 12px 32px rgba(64, 44, 22, 0.05);
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
}

body.home .gah-kicker {
	color: #7b5a3a;
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	margin-bottom: 0.55rem;
}

body.home .gah-summary {
	color: #43362b;
	font-size: clamp(1.04rem, 1.5vw, 1.18rem);
	line-height: 1.75;
	max-width: 58ch;
}

body.home .gah-stats {
	gap: 0.7rem;
	margin-top: 1.15rem;
}

body.home .gah-stats li {
	background: rgba(255, 255, 255, 0.82);
	border-color: #dccdb7;
	color: #584938;
	padding: 0.45rem 0.85rem;
}

body.home .gah-stats strong {
	color: var(--sp-accent);
}

body.home .gah-grid {
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

body.home .gah-card {
	background: linear-gradient(180deg, var(--sp-surface) 0%, var(--sp-surface-soft) 100%);
	border-color: var(--sp-border);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(64, 44, 22, 0.07);
	gap: 1rem;
	padding: 1.25rem;
}

body.home .gah-card:hover,
body.home .gah-card:focus-within {
	border-color: #cdb89f;
	box-shadow: 0 16px 36px rgba(64, 44, 22, 0.1);
	transform: translateY(-1px);
}

body.home .gah-card-header {
	align-items: flex-start;
}

body.home .gah-name {
	color: var(--sp-text);
	font-size: 1.18rem;
	line-height: 1.3;
}

body.home .gah-lang {
	background: #efe3d1;
	border-color: #e0d0b9;
	color: #5c4934;
	font-size: 0.78rem;
}

body.home .gah-desc {
	color: var(--sp-muted);
	font-size: 0.98rem;
	line-height: 1.7;
}

body.home .gah-version {
	background: #f4eadc;
	border-color: #e2d3be;
	border-radius: 999px;
	color: #5a4329;
	padding: 0.35rem 0.7rem;
}

body.home .gah-version-muted {
	color: #6d5c49;
}

body.home .gah-btn {
	border-radius: 999px;
	min-height: 2.75rem;
	padding: 0.65rem 1.1rem;
}

body.home .gah-btn:focus-visible {
	outline-color: var(--sp-accent);
}

body.home .gah-btn-primary {
	background: var(--sp-accent);
	border-color: var(--sp-accent);
}

body.home .gah-btn-primary:hover {
	background: var(--sp-accent-dark);
	border-color: var(--sp-accent-dark);
}

body.home .gah-btn-secondary {
	background: #fffdfa;
	border-color: #d8c8b3;
	color: var(--sp-text) !important;
}

body.home .gah-btn-secondary:hover {
	background: #f5ede3;
	border-color: #ccb89d;
}

@media (max-width: 781px) {
	body.home .sp-home-intro,
	body.home .sp-home-apps,
	body.home .sp-home-posts {
		border-radius: 20px;
	}

	body.home .sp-home-post-card .wp-block-group.is-layout-flex {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.45rem;
	}

	body.home .sp-home-post-card .wp-block-post-title {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .gah-card {
		transition: none;
	}

	body.home .gah-card:hover,
	body.home .gah-card:focus-within {
		transform: none;
	}
}

/* Visually hide content while keeping it available to screen readers. */
.sp-sr-only {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Strong, theme-consistent focus ring for keyboard and screen-reader users. */
body.home a:focus-visible,
body.home button:focus-visible,
body.home input:focus-visible,
body.home select:focus-visible,
body.home textarea:focus-visible,
body.home [tabindex]:focus-visible {
	outline: 3px solid var(--sp-accent-dark);
	outline-offset: 3px;
	border-radius: 4px;
}

/* The language emoji should sit visually next to the text without screen-reader noise. */
body.home .gah-lang-icon {
	margin-right: 0.3rem;
}

/* Slightly tighten muted text contrast for readers using zoom or low-vision setups. */
body.home .gah-desc {
	color: #3b3025;
}
body.home .gah-version-muted {
	color: #4f4133;
}
