/*
Theme Name: Twenty Twenty-Five Child — Jewish Call
Theme URI: https://jewishcall.org
Description: Child theme for Jewish Call for Palestinian Rights. Adds the "Jewish Call" style variation (watermelon-inspired palette) and optional assets. Parent: Twenty Twenty-Five.
Author: Jewish Call for Palestinian Rights
Template: twentytwentyfive
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive-child
*/

/* Jewish Call visual system */
:root {
	--jc-base: #f5f3ee;
	--jc-surface: #fbfaf6;
	--jc-text: #1c1c1c;
	--jc-muted: #595959;
	--jc-red: #c45c4a;
	--jc-green: #2d5a4a;
	--jc-green-soft: #e6efe9;
	--jc-border: #d8ddd8;
}

:root {
	--wp--preset--color--base: var(--jc-base);
	--wp--preset--color--contrast: var(--jc-text);
	--wp--preset--color--accent-1: var(--jc-red);
	--wp--preset--color--accent-2: var(--jc-green);
	--wp--preset--color--accent-3: #1e3d32;
	--wp--preset--color--accent-4: var(--jc-muted);
	--wp--preset--color--accent-5: var(--jc-green-soft);
	--wp--preset--color--accent-6: #1a1a1a26;
}

body {
	background:
		radial-gradient(circle at 8% 10%, #ffffff66 0 120px, transparent 121px),
		radial-gradient(circle at 95% 85%, #2d5a4a12 0 220px, transparent 221px),
		var(--jc-base);
	color: var(--jc-text);
}

/* Accessible link colors (override low-contrast yellow). */
a,
.entry-content a,
.wp-block-navigation a,
footer a {
	color: #1f4f42 !important;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.12em;
}

a:hover,
.entry-content a:hover,
.wp-block-navigation a:hover,
footer a:hover {
	color: #163a31 !important;
}

a:visited,
.entry-content a:visited,
footer a:visited {
	color: #2e4b77 !important;
}

.wp-site-blocks {
	position: relative;
	z-index: 1;
}

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 20;
	background: #f5f3eef2;
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--jc-border);
}

header .wp-block-site-title,
footer .wp-block-site-title {
	font-weight: 700;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

/* Keep header title + icons on one line. */
header .wp-block-site-title {
	display: inline-flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	width: auto;
	font-size: clamp(1.35rem, 2.7vw, 2.35rem) !important;
}

header .wp-block-site-title a {
	white-space: nowrap;
}

/* Keep footer title + icons on one line as well. */
footer .wp-block-site-title {
	display: inline-flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	width: auto;
	font-size: clamp(1.15rem, 2vw, 1.75rem) !important;
}

footer .wp-block-site-title a {
	white-space: nowrap;
}

header .wp-block-navigation .wp-block-navigation-item__content {
	font-weight: 500;
}

main.wp-block-group {
	margin-top: clamp(16px, 2vw, 36px) !important;
}

main > .wp-block-group {
	padding-top: clamp(22px, 3vw, 52px) !important;
}

.wp-block-post-title {
	font-size: clamp(2.3rem, 5.2vw, 4.1rem) !important;
	line-height: 1.06;
	letter-spacing: -0.03em;
	max-width: 16ch;
	margin-bottom: 1.25rem !important;
	position: relative;
}

.wp-block-post-title::before {
	content: "☎";
	display: inline-block;
	font-size: 0.82em;
	line-height: 1;
	margin-right: 0.35rem;
	vertical-align: 0.05em;
	opacity: 0.9;
}

.wp-block-post-title::after {
	content: "";
	display: block;
	width: min(220px, 36vw);
	height: 6px;
	margin-top: 0.9rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--jc-red), var(--jc-green));
}

.entry-content {
	background: var(--jc-surface);
	border: 1px solid var(--jc-border);
	border-radius: 20px;
	padding: clamp(20px, 3vw, 38px) !important;
	box-shadow: 0 18px 42px #00000008;
}

.entry-content > p:first-of-type {
	font-size: clamp(1.2rem, 1.8vw, 1.55rem);
	line-height: 1.55;
	max-width: 68ch;
}

.entry-content > p:nth-of-type(2) {
	font-style: italic;
	color: var(--jc-muted);
	padding-bottom: 1rem;
	border-bottom: 1px dashed var(--jc-border);
}

.entry-content h2.wp-block-heading {
	font-size: clamp(1.55rem, 2.3vw, 2.1rem);
	margin-top: clamp(1.8rem, 4.5vw, 3.4rem);
	padding-top: 0.9rem;
	border-top: 1px solid var(--jc-border);
	position: relative;
	/* Keep targeted section titles visible below sticky header on hash navigation. */
	scroll-margin-top: clamp(96px, 12vh, 140px);
}

/* Section heading accent bar */
.entry-content h2.wp-block-heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 74px;
	height: 4px;
	background: linear-gradient(90deg, var(--jc-red), var(--jc-green));
	border-radius: 999px;
}

.entry-content ul {
	padding-left: 1.25rem;
}

.entry-content li::marker {
	color: var(--jc-green);
}

.entry-content figure.wp-block-image img {
	border-radius: 14px;
	border: 1px solid var(--jc-border);
	box-shadow: 0 10px 28px #00000012;
}

blockquote {
	background: #ffffffa8;
	padding: 1rem 1.1rem;
	border-radius: 10px;
	border-left: 4px solid var(--jc-green);
}

footer.wp-block-template-part {
	margin-top: clamp(32px, 8vw, 96px);
	background: #e9eee8;
	border-top: 1px solid var(--jc-border);
	position: relative;
}

footer .wp-block-site-title {
	font-size: clamp(1.2rem, 1.4vw, 1.5rem);
}

footer .wp-block-navigation a {
	color: var(--jc-text) !important;
}

footer .wp-block-navigation a:hover {
	color: var(--jc-red) !important;
}

/* Editorial homepage template: sectioned layout */
.jc-home-main {
	margin-top: var(--wp--preset--spacing--60, clamp(24px, 4vw, 48px)) !important;
}

.jc-home-sections {
	--jc-content-width: min(100% - 2 * var(--wp--preset--spacing--50, 2rem), 720px);
}

.jc-section-hero {
	padding-left: var(--wp--preset--spacing--50, 2rem) !important;
	padding-right: var(--wp--preset--spacing--50, 2rem) !important;
}

.jc-section-hero .jc-hero-title,
.jc-section-hero .wp-block-post-title {
	font-size: clamp(2.2rem, 5vw, 4rem) !important;
	line-height: 1.08;
	letter-spacing: -0.03em;
	max-width: 14ch;
	margin-bottom: 0 !important;
}

.jc-section-hero .jc-hero-title::after,
.jc-section-hero .wp-block-post-title::after {
	content: "";
	display: block;
	width: min(200px, 32vw);
	height: 6px;
	margin-top: 0.85rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--jc-red), var(--jc-green));
}

.jc-section-content {
	padding-left: var(--wp--preset--spacing--50, 2rem) !important;
	padding-right: var(--wp--preset--spacing--50, 2rem) !important;
}

.jc-section-content .entry-content,
.jc-section-content .wp-block-post-content {
	max-width: var(--jc-content-width);
	margin-left: auto;
	margin-right: auto;
}

/* Typography: comfortable measure for long-form */
.entry-content p {
	max-width: 68ch;
}

.entry-content .has-large-font-size,
.entry-content > p:first-of-type {
	max-width: 68ch;
}

/* Section rhythm: first h2 after intro has less top margin */
.entry-content h2.wp-block-heading:first-of-type {
	margin-top: clamp(1.25rem, 3vw, 2.5rem) !important;
	padding-top: 0.5rem;
}

@media (max-width: 900px) {
	/* Mobile: hide header navigation entirely (removes hamburger menu). */
	header .wp-block-navigation {
		display: none !important;
	}

	.entry-content {
		border-radius: 14px;
	}

	.wp-block-post-title {
		font-size: clamp(2rem, 8.5vw, 2.8rem) !important;
	}

	.jc-section-hero .jc-hero-title,
	.jc-section-hero .wp-block-post-title {
		font-size: clamp(1.9rem, 9vw, 2.6rem) !important;
	}

	.jc-section-hero,
	.jc-section-content {
		padding-left: var(--wp--preset--spacing--40, 1.25rem) !important;
		padding-right: var(--wp--preset--spacing--40, 1.25rem) !important;
	}
}
