/*
Theme Name: Composer Portfolio
Theme URI: https://linesandwaves.com
Author: Lines/Waves
Author URI: https://linesandwaves.com
Description: Block-based (FSE) theme for an individual composer's site — portrait + bio, a news feed, a music feed for audio posts, and contact. Boxed layout, centered navigation, staff-line dividers and a waveform signature carried over from the Lines/Waves visual system.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
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: composer-portfolio
Tags: block-based, portfolio, music, minimal
*/

/* -----------------------------------------------------------
   Everything structural lives in theme.json. This file only
   holds things the editor's design tools can't express:
   the boxed page frame, centered nav spacing, the staff-line
   rule, the waveform signature, and the music-feed list.
   ----------------------------------------------------------- */

/* === Boxed layout ==============================================
   WordPress wraps every root-level template block in a single
   .wp-site-blocks element. That's the hook we use to "box" the
   whole page: a contained card centered on a darker stage color,
   collapsing to edge-to-edge on small screens. */
body {
	background-color: #E3E0D3;
}
.wp-site-blocks {
	max-width: 1120px;
	margin: 0 auto;
	background-color: var(--wp--preset--color--paper, #EEEDE7);
	box-shadow:
		0 0 0 1px var(--wp--preset--color--staff-line, #B7B2A3),
		0 30px 70px rgba(20, 19, 17, 0.10);
}
body {
	padding: clamp(0px, 4vw, 48px) 0;
}
@media (max-width: 782px) {
	.wp-site-blocks {
		max-width: 100%;
		box-shadow: none;
	}
	body {
		padding: 0;
	}
}

/* === Centered navigation ======================================= */
.lw-masthead {
	text-align: center;
}
.lw-masthead .wp-block-navigation {
	justify-content: center;
}
.lw-masthead .wp-block-navigation__container {
	justify-content: center;
}

/* === Staff-line divider =====================================
   A horizontal rule drawn as a 5-line music staff instead of a
   single bar. Used between major sections. Apply via the
   "lw-staff" class on a Separator or Group block. */
.lw-staff {
	position: relative;
	height: 18px;
	margin: var(--wp--preset--spacing--60, 3rem) 0;
	background-image: repeating-linear-gradient(
		to bottom,
		var(--wp--preset--color--staff-line, #B7B2A3) 0px,
		var(--wp--preset--color--staff-line, #B7B2A3) 1px,
		transparent 1px,
		transparent 5px
	);
	background-position: top;
	opacity: 0.9;
}
.lw-staff.is-style-tight {
	height: 12px;
	background-size: 100% 3.5px;
}

/* === Waveform signature ======================================
   The single recurring brand mark. Used once per page, in the
   footer colophon — never as decoration elsewhere. */
.lw-waveform {
	display: block;
	width: 100%;
	height: 28px;
	max-width: 220px;
}
.lw-waveform path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	stroke-linecap: round;
}

/* === Music feed entries =========================================
   Each music post: title + date on one line, the post's audio
   block underneath, a staff-line rule to close it. Keeps focus on
   the player rather than a card/thumbnail treatment. */
.lw-music-entry {
	border-bottom: 1px solid var(--wp--preset--color--staff-line, #B7B2A3);
	padding: 1.75rem 0;
}
.lw-music-entry:first-child {
	padding-top: 0;
}
.lw-music-entry .wp-block-post-title {
	margin-bottom: 0.15rem;
}
.lw-music-entry audio {
	width: 100%;
	margin-top: 0.75rem;
}

/* === Focus states (accessibility floor) ====================== */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--signal-red, #D6321C);
	outline-offset: 3px;
}

/* === Reduced motion ============================================ */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}
