/* Supplemental global styles not expressible in theme.json */

::selection {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--foreground);
}

.wp-block-post-title a {
	text-decoration: none;
}

/* Hairline rule used to divide sections, e.g. in Books listings */
.is-style-hairline {
	border: none;
	border-top: 1px solid var(--wp--preset--color--border);
}

/* Value-stepping backdrop behind book cover art, echoing the Stitch mock */
.jsdraven-cover-frame {
	position: relative;
}

.jsdraven-cover-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--surface);
	transform: translate(12px, 12px);
	z-index: -1;
}

/* Coming-soon books without cover art yet fall back to placeholder text
   instead of an empty frame (post-featured-image renders nothing when unset) */
.query-coming-soon-books .jsdraven-cover-frame:empty::after {
	content: "Coming soon";
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--preset--color--muted);
	text-align: center;
}

/* Author photo on the About page, same fallback approach: placeholder text
   until a Featured Image is set on the page */
.jsdraven-author-frame:empty::after {
	content: "Author photo";
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--preset--color--muted);
	text-align: center;
}

/* Radial fade so the hero photo's edges dissolve into the page background
   instead of ending in a hard rectangle */
.jsdraven-vignette {
	position: relative;
}

.jsdraven-vignette__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: radial-gradient(ellipse at center, transparent 35%, var(--wp--preset--color--background) 100%);
}

/* Atmospheric backdrop for the newsletter band — plain gradient, no image,
   since the Stitch-exported texture asset had a browser-chrome watermark baked in */
.jsdraven-newsletter-band {
	background-image: radial-gradient(ellipse at center, var(--wp--preset--color--surface) 0%, var(--wp--preset--color--surface-lowest) 100%);
}

/* Newsletter signup — replace with a real provider embed later */
.jsdraven-newsletter-form {
	display: flex;
	gap: 0;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 36rem;
	margin: 0 auto;
}

.jsdraven-newsletter-form input[type="email"] {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: var(--wp--preset--font-size--body-lg);
	background: transparent;
	color: var(--wp--preset--color--foreground);
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0.75rem 0;
	min-width: 240px;
	flex: 1 1 240px;
}

.jsdraven-newsletter-form input[type="email"]:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--accent);
}

.jsdraven-newsletter-form button {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--muted);
	border: none;
	padding: 0.9rem 2rem;
	margin-left: 1rem;
	cursor: pointer;
}

.jsdraven-newsletter-form button:hover {
	filter: brightness(1.1);
}

@media (max-width: 600px) {
	.jsdraven-newsletter-form button {
		margin-left: 0;
		width: 100%;
	}
}

/* Journal (post) listing — image + text row, alternating sides per entry */
.jsdraven-journal-row {
	align-items: flex-start;
}

.jsdraven-journal-row__image {
	flex: 0 0 280px;
	width: 280px;
	object-fit: cover;
}

.jsdraven-journal-row__content {
	flex: 1 1 320px;
	min-width: 240px;
}

.wp-block-post-template > li:nth-child(even) .jsdraven-journal-row {
	flex-direction: row-reverse;
}

@media (max-width: 680px) {
	.jsdraven-journal-row,
	.wp-block-post-template > li:nth-child(even) .jsdraven-journal-row {
		flex-direction: column;
	}

	.jsdraven-journal-row__image {
		width: 100%;
	}
}

/* Buy links, grouped by format (physical / ebook / audiobook) on single-book */
.jsdraven-buy-links__group + .jsdraven-buy-links__group {
	margin-top: 1rem;
}

.jsdraven-buy-links__format {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--preset--color--accent-tint);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-bottom: 0.5rem;
}

.jsdraven-buy-links .wp-block-button__link {
	font-family: var(--wp--preset--font-family--source-sans);
}
