/* Cadence base styles */

:root {
	--cadence-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--cadence-radius: 0.75rem;
	--cadence-radius-lg: 1.25rem;
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.cadence {
	background: var(--wp--preset--color--vinyl, #0A0A0B);
	color: var(--wp--preset--color--bone, #F2F0EA);
	font-family: var(--wp--preset--font-family--sans, system-ui, sans-serif);
	font-size: 17px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.cadence--scheme-bone {
	background: var(--wp--preset--color--bone, #F2F0EA);
	color: var(--wp--preset--color--vinyl, #0A0A0B);
}
@media (prefers-color-scheme: light) {
	body.cadence--scheme-auto {
		background: var(--wp--preset--color--bone, #F2F0EA);
		color: var(--wp--preset--color--vinyl, #0A0A0B);
	}
}

/* Typography */
.cadence h1, .cadence h2, .cadence h3, .cadence h4 {
	font-family: var(--wp--preset--font-family--display, sans-serif);
	letter-spacing: -0.02em;
	line-height: 1.1;
	font-weight: 600;
}
.cadence h1 { letter-spacing: -0.03em; }

a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 30%, transparent); text-underline-offset: 3px; }
a:hover { color: var(--cadence-accent, #B59BFF); }

/* Skip link */
.cadence-skip-link {
	position: absolute;
	left: -9999px; top: -9999px;
	background: var(--cadence-accent, #B59BFF);
	color: var(--wp--preset--color--vinyl, #0A0A0B);
	padding: 0.5rem 1rem;
	border-radius: 0 0 0.5rem 0;
	z-index: 9999;
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: 0.85rem;
}
.cadence-skip-link:focus { left: 0; top: 0; }

/* Wide content overrides */
.cadence main.wp-block-group { width: 100%; }

/* Selection */
::selection { background: var(--cadence-accent, #B59BFF); color: var(--wp--preset--color--vinyl, #0A0A0B); }

/* Buttons */
.cadence .wp-block-button__link {
	transition: background 220ms var(--cadence-ease), color 220ms var(--cadence-ease), transform 120ms var(--cadence-ease);
	font-family: var(--wp--preset--font-family--mono, monospace);
}
.cadence .wp-block-button__link:hover { transform: translateY(-1px); }
.cadence .is-style-cadence-pill-glow .wp-block-button__link {
	box-shadow: 0 14px 40px -16px color-mix(in srgb, var(--cadence-accent, #B59BFF) 60%, transparent);
}
.cadence .is-style-cadence-ghost .wp-block-button__link {
	background: transparent;
}

/* Headings */
.cadence .is-style-cadence-eyebrow {
	margin: 0 0 0.6rem;
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: 0.72rem !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/* Group cards */
.cadence .is-style-cadence-card {
	background: color-mix(in srgb, var(--wp--preset--color--carbon, #0E0E10) 100%, transparent);
	border: 1px solid color-mix(in srgb, currentColor 8%, transparent);
	border-radius: 1rem;
	padding: 1.5rem;
}

/* Quote pull */
.cadence .is-style-cadence-pull {
	border-left: 3px solid var(--cadence-accent, #B59BFF);
	padding: 0.25rem 0 0.25rem 1.25rem;
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: 1.15rem;
	color: color-mix(in srgb, currentColor 88%, transparent);
}

/* Image: vinyl frame */
.cadence .is-style-cadence-vinyl img {
	border-radius: 999px;
	box-shadow: inset 0 0 0 4px var(--wp--preset--color--vinyl, #0A0A0B), 0 24px 60px -20px rgba(0,0,0,0.6);
}

/* Navigation links — mono small caps */
.cadence .wp-block-navigation a {
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: lowercase;
}
.cadence .wp-block-navigation a[aria-current="page"] { color: var(--cadence-accent, #B59BFF); }

/* Sticky mini player target */
.cadence--sticky-player { padding-bottom: 80px; }

.cadence-mini-player {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	background: color-mix(in srgb, var(--wp--preset--color--carbon, #0E0E10) 95%, black);
	color: var(--wp--preset--color--bone, #F2F0EA);
	border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
	padding: 0.75rem clamp(1rem, 2vw, 1.5rem);
	display: none;
	align-items: center;
	gap: 1rem;
	z-index: 9000;
	backdrop-filter: blur(12px);
}
.cadence-mini-player.is-visible { display: flex; }
.cadence-mini-player__title {
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	min-width: 0;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cadence-mini-player__progress {
	flex: 1 1 auto;
	height: 4px;
	background: color-mix(in srgb, currentColor 14%, transparent);
	border-radius: 999px;
	overflow: hidden;
}
.cadence-mini-player__bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--cadence-accent, #B59BFF), var(--cadence-callout, #4FD1C5));
	transition: width 200ms linear;
}
.cadence-mini-player__btn {
	width: 36px; height: 36px;
	border-radius: 999px;
	background: var(--cadence-accent, #B59BFF);
	color: var(--wp--preset--color--vinyl, #0A0A0B);
	border: none;
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
}
.cadence-mini-player__close {
	background: transparent;
	color: inherit;
	border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	width: 30px; height: 30px;
	border-radius: 999px;
	cursor: pointer;
}

/* Comments */
.cadence .comment-form input[type="text"],
.cadence .comment-form input[type="email"],
.cadence .comment-form input[type="url"],
.cadence .comment-form textarea,
.cadence .wp-block-search__input {
	background: color-mix(in srgb, currentColor 6%, transparent);
	color: inherit;
	border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-radius: 0.5rem;
	padding: 0.7rem 0.9rem;
	font: inherit;
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: 0.9rem;
}
.cadence .wp-block-search__input:focus,
.cadence .comment-form textarea:focus,
.cadence .comment-form input:focus {
	outline: none;
	border-color: var(--cadence-accent, #B59BFF);
}
.cadence .wp-block-search__button {
	background: var(--cadence-accent, #B59BFF);
	color: var(--wp--preset--color--vinyl, #0A0A0B);
	border-radius: 999px;
	padding: 0.7rem 1.1rem;
	border: none;
}

/* === WordPress standard accessibility / alignment / gallery / caption classes === */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0,0,0,.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 14px; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }
.alignleft  { float: left;  margin-right: 1.5em; }
.alignright { float: right; margin-left:  1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide { max-width: 100vw; }
.alignfull { max-width: 100vw; }
.sticky { display: block; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.9em; text-align: center; }
.gallery-caption { font-size: 0.85em; }
.bypostauthor { display: block; }
