/*
Theme Name: Jevins Coastal
Theme URI: https://jevins.com
Author: Paul Jevins
Description: A California coastal block theme for the Jevins family journal. Soft white and warm sand, muted ocean blue, Cormorant Garamond and Jost, linen and grain textures, and arched photo frames.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jevins-coastal
*/

/* ---------- Textures (block styles: Group › Styles) ---------- */
.is-style-linen { position: relative; background-image: url("assets/images/linen.svg"); background-repeat: repeat; }
.is-style-grain { position: relative; background-image: url("assets/images/grain.svg"); background-repeat: repeat; }

/* ---------- Arched photos (block style: Image › Styles › Arch) ---------- */
.wp-block-image.is-style-arch img,
.wp-block-post-featured-image.is-style-arch img {
	border-radius: 999px 999px 0 0;
	aspect-ratio: 4 / 5;
	width: 100%;
	object-fit: cover;
}
.jv-hero__image { position: relative; padding: 0 0 1.75rem 1.75rem; margin: 0; }
.jv-hero__image::before {
	content: ""; position: absolute; left: 0; bottom: 0; width: 78%; height: 78%;
	background: var(--wp--preset--color--sand); border-radius: 999px 999px 0 0;
}
.jv-hero__image img { position: relative; max-height: 600px; }

/* ---------- Small labels (block style: Paragraph › Styles › Label) ---------- */
.is-style-label {
	font-size: 0.75rem; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 400;
	color: var(--wp--preset--color--ocean); margin-bottom: 0;
}

/* ---------- Header ---------- */
.jv-header { border-bottom: 1px solid var(--wp--preset--color--line); padding-top: 1.75rem; padding-bottom: 1.75rem; }
.jv-header .wp-block-site-tagline { margin-top: 0.25rem; }
.jv-header .wp-block-navigation-item__content { padding: 0.75rem 0; }
.jv-header .current-menu-item > .wp-block-navigation-item__content { border-bottom: 1px solid var(--wp--preset--color--ocean); }
.wp-block-navigation a:where(:not(.wp-element-button)):hover { text-decoration: none; color: var(--wp--preset--color--ocean); }

/* ---------- Sections ---------- */
.jv-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.jv-hero { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--70); }
.jv-hero h1 em { font-style: italic; color: var(--wp--preset--color--ocean); }
.jv-lede { font-size: 1.125rem; color: #4A4A44; max-width: 30rem; }
.jv-rule.wp-block-separator { width: 4rem; border-top-width: 1px; margin-left: 0; color: var(--wp--preset--color--ink); }
.jv-section-head { margin-bottom: var(--wp--preset--spacing--50); }
.jv-link-caps a, a.jv-link-caps {
	font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 400;
	border-bottom: 1px solid currentColor; padding-bottom: 0.25rem;
}
.jv-link-caps a:hover { text-decoration: none; }

/* ---------- Journal ---------- */
.jv-featured { padding-bottom: var(--wp--preset--spacing--60); margin-bottom: var(--wp--preset--spacing--60); border-bottom: 1px solid var(--wp--preset--color--line); }
.jv-featured .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); }
.jv-featured .wp-block-post-excerpt__excerpt { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 1.5rem; line-height: 1.4; color: #4A4A44; }
.jv-card-grid .wp-block-post-featured-image img { aspect-ratio: 5 / 4; object-fit: cover; width: 100%; }
.jv-card-grid .wp-block-post-featured-image { margin-bottom: 0.5rem; }
.jv-card-grid .wp-block-post-title { font-size: 1.75rem; margin-top: 0.5rem; }
.jv-card-grid .wp-block-post-excerpt { font-size: 0.9375rem; color: #4A4A44; }
.wp-block-post-excerpt__more-link {
	font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 400;
}

/* ---------- Gallery collections ---------- */
.jv-card { text-align: center; }
.jv-card .wp-block-image { margin-bottom: 0.75rem; }
.jv-card-title { font-size: 1.5rem; }
.jv-card-title a { color: var(--wp--preset--color--ink); }
.jv-card-title a:hover { color: var(--wp--preset--color--ocean); text-decoration: none; }

/* ---------- Single post reading column ---------- */
.jv-prose {
	font-family: var(--wp--preset--font-family--serif); font-weight: 400;
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.4375rem); line-height: 1.7; color: #2F3132;
}
.jv-prose > p:first-of-type { font-size: 1.15em; line-height: 1.6; color: var(--wp--preset--color--ink); }
.jv-prose .wp-block-quote { text-align: center; padding: 2rem 0; margin: 2.5rem 0; border-top: 1px solid #D8CDBA; border-bottom: 1px solid #D8CDBA; }
.jv-prose .wp-block-quote cite { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; }
.jv-prose figcaption { font-family: var(--wp--preset--font-family--sans); }
.jv-post-head { text-align: center; }
.jv-post-head .wp-block-post-terms { font-size: 0.75rem; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 400; }
.jv-byline { font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--wp--preset--color--driftwood); }
.jv-byline .wp-block-post-date { font-size: inherit; }
.jv-post-nav .wp-block-post-navigation-link { font-family: var(--wp--preset--font-family--serif); font-size: 1.75rem; line-height: 1.2; }
.jv-post-nav .post-navigation-link__label { display: block; font-family: var(--wp--preset--font-family--sans); font-size: 0.75rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--wp--preset--color--driftwood); margin-bottom: 0.5rem; }
.jv-post-nav a { color: var(--wp--preset--color--ink); }

/* ---------- Footer ---------- */
.jv-footer a { color: #F3EEE4; }
.jv-footer .wp-block-site-title a { color: #F3EEE4; }
.jv-footer .wp-block-navigation { font-size: 0.8125rem; }
.jv-footer .wp-block-button.is-style-outline .wp-block-button__link { color: #F3EEE4; border-color: #F3EEE4; }
.jv-footer .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #F3EEE4; color: var(--wp--preset--color--ocean-deep); }
.jv-footer-base { border-top: 1px solid #4E6573; padding-top: 1.75rem; font-size: 0.8125rem; color: #C3CDD2; }

/* ---------- Outline buttons ---------- */
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #FFFFFF; }

/* ---------- Pagination ---------- */
.wp-block-query-pagination { font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; }

@media (max-width: 781px) {
	.jv-hero__image { padding: 0 0 1rem 1rem; }
}
