/*
Theme Name: Lori Bassham
Theme URI: https://www.loribassham.com
Author: Lori Bassham
Description: Editorial portfolio theme for loribassham.com. A child theme of Twenty Twenty-Five: warm paper background, Fraunces display serif, Instrument Sans text, one yellow accent.
Template: twentytwentyfive
Version: 0.4.3
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lori-bassham
*/

/* Fraunces optical size + softness for display headings. */
h1, h2, .wp-block-post-title, .wp-block-query-title {
	font-variation-settings: "opsz" 144, "SOFT" 40;
	text-wrap: balance;
}

/* Underlines carry the accent; text stays ink. */
.entry-content a:not(.wp-block-button__link),
.wp-block-post-excerpt a,
p a {
	text-decoration-color: var(--wp--preset--color--accent-1);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

/* Current menu item marker. */
.wp-block-navigation .current-menu-item > a {
	color: var(--wp--preset--color--accent-3);
}

/* Gallery grid: quiet zoom on hover. */
.lori-gallery .wp-block-post-featured-image {
	overflow: hidden;
	background: var(--wp--preset--color--accent-6);
}
.lori-gallery .wp-block-post-featured-image img {
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lori-gallery li:hover .wp-block-post-featured-image img {
	transform: scale(1.025);
}

/* Site logo: cap its height so the wordmark stays small and crisp. */
.wp-block-site-logo img {
	height: auto;
}

/* Jetpack contact form: match the editorial field styling. */
.jetpack-contact-form-container {
	width: 100%;
}
form.contact-form {
	width: 100%;
	max-width: none;
}
form.contact-form .grunion-field-wrap {
	width: 100%;
	margin-bottom: var(--wp--preset--spacing--40);
}
form.contact-form .grunion-field-label {
	display: block;
	margin-bottom: 0.4em;
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
}
form.contact-form .grunion-field-label .grunion-label-required {
	color: var(--wp--preset--color--accent-3);
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}
form.contact-form .grunion-field {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	background: var(--wp--preset--color--accent-5);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 2px;
	padding: 0.85em 1em;
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
}
form.contact-form textarea.grunion-field {
	min-height: 9em;
}
form.contact-form .grunion-field:focus {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--contrast);
}
form.contact-form .wp-block-button__link,
form.contact-form button[type="submit"] {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border: 0;
	border-radius: 999px;
	padding: 0.9em 1.8em;
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.04em;
	cursor: pointer;
}
form.contact-form .wp-block-button__link:hover,
form.contact-form button[type="submit"]:hover {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--contrast);
}

/* Vertical "phone" video for social clips inside case studies. */
.wp-block-video.lori-phone-video {
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-video.lori-phone-video video {
	display: block;
	width: 100%;
	aspect-ratio: 910 / 1480;
	object-fit: cover;
	border-radius: 14px;
	background: var(--wp--preset--color--contrast);
	box-shadow: 0 24px 48px -28px rgba(31, 29, 26, 0.45);
}
.wp-block-video.lori-phone-video figcaption {
	margin-top: var(--wp--preset--spacing--30);
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-4);
}

/* Gallery tiles: let an image choose which part survives the crop. */
.wp-block-gallery.is-cropped figure.lori-focus-bottom img {
	object-position: center 78%;
}
.wp-block-gallery.is-cropped figure.lori-focus-top img {
	object-position: center 15%;
}

/* Testimonial quote style: the client's words get the yellow rule and the display serif. */
.wp-block-quote.is-style-testimonial {
	border-left: 0;
	border-top: 4px solid var(--wp--preset--color--accent-1);
	margin: 0;
	padding: var(--wp--preset--spacing--40) 0 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(1.5rem, 1.05rem + 1.6vw, 2.5rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	font-variation-settings: "opsz" 144, "SOFT" 40;
	text-wrap: balance;
	color: var(--wp--preset--color--contrast);
}
.wp-block-quote.is-style-testimonial + .wp-block-quote.is-style-testimonial {
	margin-top: var(--wp--preset--spacing--70);
}
.wp-block-quote.is-style-testimonial p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}
.wp-block-quote.is-style-testimonial p + p {
	margin-top: 0.6em;
}
.wp-block-quote.is-style-testimonial cite {
	display: block;
	margin-top: var(--wp--preset--spacing--40);
	font-family: var(--wp--preset--font-family--instrument-sans);
	font-style: normal;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-3);
}
.wp-block-quote.is-style-testimonial cite a {
	color: inherit;
	text-decoration-color: var(--wp--preset--color--accent-1);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}
.wp-block-quote.is-style-testimonial cite a:hover {
	color: var(--wp--preset--color--contrast);
}
