/*
 * Design 1 · "Sleeve" — the plugin's own components only (home page, cards, tracklists, timeline, members).
 *
 * Everything theme-wide (palette, fonts, header, footer, buttons, forms, archive cards) lives in
 * Appearance → Customise, so it can be tweaked there. These components take their colours from
 * Blocksy's palette and their fonts from Blocksy's typography:
 *   palette 2 = highlight (NOW badge, hovers)   palette 4 = ink (headings, rules, black band)
 *   palette 5 = lines   palette 6 = soft backgrounds   palette 8 = paper (white)
 * --vmc-mono (labels and numbers) and --vmc-muted can be overridden in Customise → Additional CSS.
 */

body.vmc-design-sleeve,
.vmc-home {
	--vmc-ink: var(--theme-palette-color-4, #111111);
	--vmc-paper: var(--theme-palette-color-8, #ffffff);
	--vmc-highlight: var(--theme-palette-color-2, #ff5a1f);
	--vmc-border: var(--theme-palette-color-5, #e3e3e3);
	--vmc-surface: var(--theme-palette-color-6, #f4f4f4);
	--vmc-muted: #5c5c5c;
	--vmc-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--vmc-accent: var(--vmc-ink);
	--vmc-heading: var(--vmc-ink);
	--vmc-text: var(--theme-text-color, var(--vmc-ink));
	--vmc-on-accent: var(--vmc-paper);
	--vmc-radius: 0;
	--vmc-heading-font: inherit;
}

/* ---------------------------------------------------------------- Plugin pieces */
.vmc-design-sleeve .vmc-dossier__img,
.vmc-home .vmc-dossier__img { border-radius: 0; box-shadow: none; border: 2px solid var(--vmc-ink); }
.vmc-design-sleeve .vmc-dossier__kicker,
.vmc-design-sleeve .vmc-card__kicker,
.vmc-design-sleeve .vmc-trailer figcaption,
.vmc-home .vmc-card__kicker {
	font-family: var(--vmc-mono);
	color: var(--vmc-muted);
	letter-spacing: 0.06em;
}
.vmc-design-sleeve .vmc-facts dt { font-family: var(--vmc-mono); opacity: 1; color: var(--vmc-muted); }
.vmc-design-sleeve .vmc-facts__row { border-bottom-color: var(--vmc-border); }
.vmc-design-sleeve .vmc-facts { border-top: 2px solid var(--vmc-ink); }
.vmc-design-sleeve .vmc-card__img,
.vmc-home .vmc-card__img { border-radius: 0; border: 2px solid var(--vmc-ink); }
.vmc-design-sleeve .vmc-card__title,
.vmc-home .vmc-card__title { font-size: 1.15em; letter-spacing: -0.02em; }
.vmc-design-sleeve .vmc-player iframe { border-radius: 0; }
.vmc-design-sleeve .vmc-tracks__len,
.vmc-design-sleeve .vmc-tracks--final .vmc-tracks__row a::before,
.vmc-home .vmc-tracks__len,
.vmc-home .vmc-tracks--final .vmc-tracks__row a::before { font-family: var(--vmc-mono); }
.vmc-design-sleeve .vmc-tracks__img img,
.vmc-design-sleeve .vmc-tracks__noimg,
.vmc-home .vmc-tracks__img img,
.vmc-home .vmc-tracks__noimg { border-radius: 0; }
.vmc-design-sleeve .vmc-timeline__step { border-radius: 0; background: transparent; border: 0; border-top: 4px solid var(--vmc-border); padding-left: 0; }
.vmc-design-sleeve .vmc-timeline__step.is-now { border-top-color: var(--vmc-highlight); }
.vmc-design-sleeve .vmc-timeline__date { font-family: var(--vmc-mono); }
.vmc-design-sleeve .vmc-current { border-radius: 0; background: transparent; border: 2px solid var(--vmc-ink); border-left: 10px solid var(--vmc-highlight); }
.vmc-design-sleeve .vmc-roundlist__meta,
.vmc-design-sleeve .vmc-contributions__member { font-family: var(--vmc-mono); }
.vmc-design-sleeve .vmc-contributions summary { font-weight: 800; }
.vmc-design-sleeve .vmc-repeat__input,
.vmc-home .vmc-repeat__input { border: 2px solid var(--vmc-ink); border-radius: 0; padding: 12px; box-sizing: border-box; }
.vmc-home .vmc-repeat__label { font-weight: 400; color: var(--vmc-muted); }
.vmc-home .vmc-repeat .vmc-btn { background: var(--vmc-ink); color: var(--vmc-paper); border: 0; border-radius: 0; min-height: 48px; padding: 0 22px; }

/* ---------------------------------------------------------------- Home layout */
.vmc-is-home .hero-section,
.vmc-is-home .entry-header,
.vmc-is-home article > .page-title { display: none !important; }
.vmc-is-home #main > [class*="ct-container"],
.vmc-is-home .site-main > [class*="ct-container"] { padding-top: 0 !important; padding-bottom: 0 !important; }
.vmc-is-home .entry-content > .vmc-home { margin-top: 0; margin-bottom: 0; }

.vmc-home,
.entry-content > .vmc-home,
[class*="entry-content"] > .vmc-home.alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background: var(--vmc-paper);
	color: var(--vmc-ink);
	line-height: 1.5;
}
.vmc-home * { box-sizing: border-box; }
.vmc-home a { color: var(--vmc-ink); }
.vmc-home a:hover { color: var(--vmc-ink); text-decoration-color: var(--vmc-highlight); }
.vmc-home__wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.vmc-home__section { padding: 64px 0; }
.vmc-home__section--rule { border-top: 2px solid var(--vmc-ink); padding: 56px 0; }
.vmc-home__section--alerts { padding: 0 0 72px; }
.vmc-home__kicker { margin: 0 0 18px; font-family: var(--vmc-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.vmc-home__title { margin: 0; font-weight: 900; font-size: clamp(56px, 8.5vw, 128px); line-height: 0.88; letter-spacing: -0.05em; color: var(--vmc-ink); overflow-wrap: anywhere; hyphens: auto; }
.vmc-home__lead { margin: 28px 0 0; font-size: 19px; max-width: 34ch; }
.vmc-home__muted { color: var(--vmc-muted); font-size: 14px; }
.vmc-home__hero { padding: 64px 0 56px; }
.vmc-home__hero-grid > * { min-width: 0; }
.vmc-home__hero-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 48px; align-items: end; }
.vmc-home__actions { margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 12px; }
.vmc-home__btn {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 22px;
	background: var(--vmc-ink);
	color: var(--vmc-paper) !important;
	font-weight: 700;
	text-decoration: none;
	border: 2px solid var(--vmc-ink);
}
.vmc-home__btn:hover { background: var(--vmc-highlight); border-color: var(--vmc-highlight); color: var(--vmc-ink) !important; }
.vmc-home__btn--ghost { background: transparent; color: var(--vmc-ink) !important; }
.vmc-home__timeline { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--vmc-ink); }
.vmc-home__timeline li { display: grid; grid-template-columns: 56px 1fr auto; gap: 16px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--vmc-border); margin: 0; }
.vmc-home__timeline strong { font-size: 20px; letter-spacing: -0.01em; }
.vmc-home__timeline li.is-done { color: var(--vmc-muted); }
.vmc-home__now { font-family: var(--vmc-mono); font-size: 13px; background: var(--vmc-highlight); color: var(--vmc-ink); padding: 2px 6px; justify-self: start; }
.vmc-home__step,
.vmc-home__date { font-family: var(--vmc-mono); font-size: 14px; }
.vmc-home__step { color: var(--vmc-muted); }

.vmc-home__band { background: var(--vmc-ink); color: var(--vmc-paper); padding: 56px 0; }
.vmc-home__band a,
.vmc-home__band .vmc-home__h2,
.vmc-home__band .vmc-tracks__title { color: var(--vmc-paper); }
.vmc-home__band .vmc-home__kicker,
.vmc-home__band .vmc-tracks__artist,
.vmc-home__band .vmc-tracks__side { color: var(--vmc-paper); opacity: .7; }
.vmc-home__band .vmc-tracks { border-top: 1px solid rgba(255,255,255,.2); }
.vmc-home__band .vmc-tracks__row { border-bottom-color: rgba(255,255,255,.2); }
.vmc-home__band .vmc-tracks__noimg { background: rgba(255,255,255,.12); }

.vmc-home__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 28px; }
.vmc-home__h2 { margin: 0; font-weight: 900; font-size: 44px; line-height: 1; letter-spacing: -0.04em; color: var(--vmc-ink); }
.vmc-home__h3 { margin: 0 0 16px; font-weight: 800; font-size: 26px; letter-spacing: -0.02em; color: var(--vmc-ink); }
.vmc-home__more { font-weight: 700; font-size: 15px; }
.vmc-home .vmc-cards--catalogue { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px; }
.vmc-home__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 48px; }
.vmc-home__recs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.vmc-home__recs li { margin: 0; }
.vmc-home__recs a { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; text-decoration: none; }
.vmc-home__recimg img,
.vmc-home__noimg { display: grid; place-items: center; width: 52px; height: 76px; object-fit: cover; background: var(--vmc-surface); font-family: var(--vmc-mono); font-size: 11px; }
.vmc-home__rec--album .vmc-home__recimg img,
.vmc-home__rec--album .vmc-home__noimg { height: 52px; }
.vmc-home__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.vmc-home__chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--vmc-ink); text-decoration: none; font-weight: 500; }
.vmc-home__chip:hover { background: var(--vmc-ink); color: var(--vmc-paper) !important; }

/* [vmc_members] */
.vmc-members { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--vmc-ink); }
.vmc-members li { margin: 0; border-bottom: 1px solid var(--vmc-border, #e3e3e3); }
.vmc-members a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 16px 0; text-decoration: none; color: inherit; }
.vmc-members__name { font-weight: 800; font-size: 1.25em; letter-spacing: -0.02em; }
.vmc-members__meta { font-family: var(--vmc-mono, ui-monospace, monospace); color: var(--vmc-muted, #5c5c5c); }

@media (max-width: 640px) {
	.vmc-home__section,
	.vmc-home__hero { padding: 40px 0; }
	.vmc-home__h2 { font-size: 34px; }
	.vmc-home__timeline li { grid-template-columns: 48px 1fr; }
	.vmc-home__date { grid-column: 2; }
}
