/*
Theme Name: LFW Campus
Theme URI: https://lfw.com/
Author: LFW.com LLC
Author URI: https://lfw.com/
Description: A block theme for colleges and universities: program finders, program pages with costs and next steps, admissions, events, news with real bylines, faculty profiles and campus maps. Two style variations change the whole composition, not only the colors: a university (teal and gold, a hanging name tab, a centered statement over a photo mosaic) and a community college (forest and ember, a full-bleed photo with goal routes, rows of programs). Every section is a pattern. Works alone; LFW Campus Blocks adds programs, events and people, and LFW Filters adds the program and event filters.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lfw-campus
Tags: block-patterns, full-site-editing, style-variations, education, two-columns, custom-colors, editor-style, wide-blocks
*/

/* Short names for the theme.json presets, used by every stylesheet. */
:root {
	--page: var(--wp--preset--color--page);
	--stone: var(--wp--preset--color--stone);
	--mist: var(--wp--preset--color--mist);
	--card: var(--wp--preset--color--card);
	--ink: var(--wp--preset--color--ink);
	--muted: var(--wp--preset--color--muted);
	--line: var(--wp--preset--color--line);
	--accent: var(--wp--preset--color--accent);
	--accent-hover: var(--wp--preset--color--accent-hover);
	--accent-solid: var(--wp--preset--color--accent);
	--accent-solid-hover: var(--wp--preset--color--accent-hover);
	--deep: var(--wp--preset--color--deep);
	--footer: var(--wp--preset--color--footer);
	--highlight: var(--wp--preset--color--highlight);
	--highlight-hover: var(--wp--preset--color--highlight-hover);
	--on-highlight: var(--wp--preset--color--on-highlight);
	--highlight-soft: var(--wp--preset--color--highlight-soft);
	--highlight-text: var(--wp--preset--color--highlight-text);
	--highlight-on-deep: var(--wp--preset--color--highlight-on-deep);
	--notice: var(--wp--preset--color--notice);
	--on-deep: var(--wp--preset--color--on-deep);
	--on-deep-muted: var(--wp--preset--color--on-deep-muted);
	--on-accent: var(--wp--preset--color--on-accent);
	--on-accent-muted: var(--wp--preset--color--on-accent-muted);
	--accent-on-deep: var(--wp--preset--color--accent-on-deep);
	--head: var(--wp--preset--font-family--heading);
	--sans: var(--wp--preset--font-family--body);
	--radius: 10px;

	/* LFW Filters reads these. */
	--lfwf-surface: var(--stone);
	--lfwf-field: var(--card);
	--lfwf-ink: var(--ink);
	--lfwf-muted: var(--muted);
	--lfwf-accent: var(--accent);
	--lfwf-accent-ink: var(--on-accent);
	--lfwf-chip-bg: var(--mist);
	--lfwf-chip-ink: var(--accent);
	--lfwf-font: var(--sans);
}

/* Block wrappers that must not add a box of their own. */
.wp-block-lfw-campus-brand, .wp-block-lfw-campus-search-link { display: contents; }
figure.wp-block-image, figure.wp-block-post-featured-image { margin: 0; }
.wp-block-image img { box-sizing: border-box; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-buttons > .wp-block-button { margin: 0; }
.wp-block-button__link { box-sizing: border-box; word-break: normal; }
.wp-block-quote { margin: 0; }
.wp-block-group:empty { min-height: 0; }

/* Visually hidden text and the core skip link. */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link.screen-reader-text:focus { position: fixed !important; top: 12px; left: 16px; width: auto; height: auto; margin: 0; padding: 10px 16px; clip: auto; z-index: 100000; background: var(--deep); color: var(--on-deep); border-radius: 6px; font-weight: 600; text-decoration: none; white-space: normal; }

/* Search form (core Search block). */
.search-form .wp-block-search__inside-wrapper { display: flex; gap: 10px; max-width: 560px; }
.search-form .wp-block-search__input { flex: 1; min-height: 48px; padding: 0 18px; border: 2px solid var(--muted); border-radius: 999px; font: inherit; color: var(--ink); background: var(--card); }
.search-form .wp-block-search__button { min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--accent); color: var(--on-accent); font: 600 16px/1 var(--sans); cursor: pointer; margin: 0; }

/* The concept notice bar sits outside the header layout. */
.lfw-concept-bar { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
