/* Firmesk Music Core – music outputs. Font and colour are inherited (Divi design options decide);
 * --fmc-accent / --fmc-line can be set by the theme or the Divi bridge. */
.fmc-player, .fmc-tracklist, .fmc-links, .fmc-facts, .fmc-credits, .fmc-cards, .fmc-catalog, .fmc-embed, .fmc-videos { --fmc-line: color-mix(in srgb, currentColor 18%, transparent); --fmc-soft: color-mix(in srgb, currentColor 62%, transparent); --fmc-accent-c: var(--fmc-accent, currentColor); }
.fmc-player { border-top: 1px solid var(--fmc-line); border-bottom: 1px solid var(--fmc-line); padding: 1rem 0; }
.fmc-player button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
.fmc-player__bar { display: flex; align-items: center; gap: .75rem 1rem; flex-wrap: wrap; }
.fmc-player__play { width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid currentColor !important; display: inline-flex; align-items: center; justify-content: center; flex: none; font-size: 1rem; }
.fmc-player.is-playing .fmc-player__play { background: var(--fmc-accent-c); border-color: var(--fmc-accent-c) !important; color: var(--fmc-on-accent, #fff); }
.fmc-player__prev, .fmc-player__next { width: 2.25rem; height: 2.25rem; font-size: .9rem; opacity: .8; }
.fmc-player__main { flex: 1 1 14rem; min-width: 0; }
.fmc-player__now { margin: 0 0 .3rem; padding: 0; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fmc-player__time { display: flex; align-items: center; gap: .6rem; font-size: .8125rem; font-variant-numeric: tabular-nums; color: var(--fmc-soft); }
.fmc-player__seek { flex: 1; min-width: 6rem; accent-color: var(--fmc-accent-c); height: 1.5rem; margin: 0; }
.fmc-player__vol input { width: 6rem; accent-color: var(--fmc-accent-c); }
.fmc-player__auto { display: block; margin: .8rem 0 0; font-size: .8125rem; color: var(--fmc-soft); }
.fmc-player__list { list-style: none; margin: .8rem 0 0; padding: 0; counter-reset: none; }
.fmc-player__item { display: grid !important; grid-template-columns: 2.25rem 1fr auto; gap: .75rem; width: 100%; text-align: left; padding: .55rem 0 !important; border-top: 1px solid var(--fmc-line) !important; }
.fmc-player__item[aria-current="true"] { color: var(--fmc-accent-c); }
.fmc-player__n, .fmc-player__d { font-variant-numeric: tabular-nums; color: var(--fmc-soft); font-size: .875em; }
.fmc-player__dl { margin: .8rem 0 0; padding: 0; font-size: .875rem; }
.fmc-player.has-error .fmc-player__now::after { content: " ⚠"; }
.fmc-player :focus-visible, .fmc-tracklist :focus-visible, .fmc-catalog :focus-visible, .fmc-links :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.fmc-player:not(.is-ready) .fmc-player__bar, .fmc-player:not(.is-ready) .fmc-player__auto, .fmc-player:not(.is-ready) .fmc-player__list { display: none; }
.fmc-player__plain { margin: 0; padding-left: 1.2em; }
.fmc-player__plain audio { display: block; width: 100%; margin: .3rem 0 .8rem; }
@media (max-width: 520px) { .fmc-player__vol { display: none; } }

.fmc-tracklist { list-style: none; margin: 0; padding: 0; }
.fmc-tracklist__item { border-top: 1px solid var(--fmc-line); padding: .6rem 0; }
.fmc-tracklist__item:last-child { border-bottom: 1px solid var(--fmc-line); }
.fmc-tracklist__row { display: grid; grid-template-columns: 2.25rem auto 1fr auto; gap: .75rem; align-items: baseline; }
.fmc-tracklist__row > .fmc-tracklist__t:nth-child(2) { grid-column: 2 / 4; }
.fmc-tracklist__n, .fmc-tracklist__d { font-variant-numeric: tabular-nums; color: var(--fmc-soft); font-size: .875em; }
.fmc-tracklist__play { font: inherit; font-size: .75rem; color: inherit; background: none; border: 1px solid var(--fmc-line); border-radius: 50%; width: 1.75rem; height: 1.75rem; cursor: pointer; padding: 0; align-self: center; }
.fmc-tracklist__play.is-playing { background: var(--fmc-accent-c); border-color: var(--fmc-accent-c); color: var(--fmc-on-accent, #fff); }
.fmc-tracklist__desc, .fmc-tracklist__more { margin: .4rem 0 0 3rem; font-size: .9375em; }
.fmc-tracklist__more summary { cursor: pointer; font-size: .8125rem; color: var(--fmc-soft); }

.fmc-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fmc-links a { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--fmc-line); border-radius: 999px; text-decoration: none; color: inherit; font-size: .875rem; }
.fmc-links a:hover { border-color: currentColor; }

.fmc-facts, .fmc-credits { margin: 0; }
.fmc-facts__row, .fmc-credits__row { display: grid; grid-template-columns: minmax(7rem, 1fr) 2.5fr; gap: 1rem; padding: .5rem 0; border-top: 1px solid var(--fmc-line); }
.fmc-facts dt, .fmc-credits dt { font-size: .8125rem; letter-spacing: .05em; text-transform: uppercase; color: var(--fmc-soft); }
.fmc-facts dd, .fmc-credits dd { margin: 0; }
.fmc-credits__note { color: var(--fmc-soft); }
@media (max-width: 600px) { .fmc-facts__row, .fmc-credits__row { grid-template-columns: 1fr; gap: .15rem; } }

.fmc-embed.is-audio .fmc-video__frame { aspect-ratio: auto; background: color-mix(in srgb, currentColor 8%, transparent); }
.fmc-embed.is-audio .fmc-video__play { color: inherit; }
.fmc-embed.is-audio iframe { position: static; display: block; border: 0; }

.fmc-videos { display: grid; gap: 2rem; }
.fmc-videos__item { margin: 0; }
.fmc-videos figcaption { margin-top: .6rem; }
.fmc-videos__title { font-size: 1.1em; margin: 0 0 .25rem; padding: 0; }

.fmc-catalog__filter { display: flex; gap: 1.25rem; margin: 0 0 1.5rem; flex-wrap: wrap; }
.fmc-catalog__filter a { color: inherit; text-decoration: none; padding-bottom: .2rem; border-bottom: 1px solid transparent; }
.fmc-catalog__filter a[aria-current] { border-bottom-color: currentColor; }
.fmc-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(42%, 13rem), 1fr)); gap: 2rem 1.25rem; }
.fmc-card a { color: inherit; text-decoration: none; display: block; }
.fmc-card__img { display: block; aspect-ratio: 1; overflow: hidden; background: color-mix(in srgb, currentColor 8%, transparent); }
.fmc-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.fmc-card a:hover img, .fmc-card a:focus-visible img { transform: scale(1.03); }
.fmc-card__noimg { display: block; width: 100%; height: 100%; }
.fmc-card__title { display: block; margin-top: .7rem; font-weight: 500; }
.fmc-card__meta { display: block; font-size: .8125rem; color: var(--fmc-soft); }
.fmc-catalog__empty { color: var(--fmc-soft); }
.fmc-onalbums { margin: 0; }

@media (prefers-reduced-motion: reduce) { .fmc-card__img img { transition: none; } .fmc-card a:hover img { transform: none; } }

/* Front page: main release */
.fmc-home__featured { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.fmc-home__cover { margin: 0; aspect-ratio: 1; overflow: hidden; background: color-mix(in srgb, currentColor 8%, transparent); }
.fmc-home__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fmc-home__featured-text > * + * { margin-top: 1.2rem; }
.fmc-home__featured .fmc-home__kicker { margin: 0; }
@media (max-width: 860px) { .fmc-home__featured { grid-template-columns: 1fr; } }

/* Range inputs: thin line, round thumb, colour from the surroundings */
.fmc-player input[type=range] { -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer; }
.fmc-player input[type=range]::-webkit-slider-runnable-track { height: 2px; background: var(--fmc-line); }
.fmc-player input[type=range]::-moz-range-track { height: 2px; background: var(--fmc-line); }
.fmc-player input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -6px; border-radius: 50%; background: var(--fmc-accent-c); border: 0; }
.fmc-player input[type=range]::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--fmc-accent-c); border: 0; }
.fmc-player input[type=range]:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Since 0.5.4: ▶ right before the duration; track player opened under the track; listen button */
.fmc-tracklist__row { grid-template-columns: 2.25rem 1fr auto 3.5rem; }
.fmc-tracklist__row > .fmc-tracklist__t:nth-child(2) { grid-column: auto; }
.fmc-tracklist__p { display: inline-flex; justify-content: flex-end; min-width: 1.75rem; }
.fmc-tracklist__d { text-align: right; }
.fmc-tracklist__play.is-ext.is-playing { background: var(--fmc-accent-c); border-color: var(--fmc-accent-c); color: var(--fmc-on-accent, #fff); }
.fmc-tracklist__embed { margin: .7rem 0 .2rem 3rem; }
.fmc-tracklist__embed iframe { display: block; width: 100%; border: 0; }
.fmc-tracklist__embed.is-video iframe { aspect-ratio: 16 / 9; height: auto; }
.fmc-embedblock { margin-top: 2rem; }
@media (max-width: 600px) { .fmc-tracklist__embed { margin-left: 0; } }

/* Since 0.6.0: listen bar (entries without own audio) */
.fmc-listen { margin: 0; }
.fmc-listen__label { margin: 0 0 .6rem; padding: 0; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.fmc-listen__btns { display: flex; flex-wrap: wrap; gap: .5rem; }
.fmc-listen__btn { font: inherit; font-size: .9375rem; color: inherit; background: transparent; display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1.15rem; border: 1px solid color-mix(in srgb, currentColor 45%, transparent); border-radius: 999px; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.fmc-listen__btn > span { font-size: .7em; }
.fmc-listen__btn:hover, .fmc-listen__btn.is-playing { background: var(--fmc-accent, currentColor); border-color: var(--fmc-accent, currentColor); color: var(--fmc-on-accent, #fff); }
.fmc-listen__btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.fmc-listen .fmc-ext-embed { margin: 1rem 0 0; max-width: 40rem; }
.fmc-listen .fmc-ext-embed iframe { border-radius: 12px; }
@media (prefers-reduced-motion: reduce) { .fmc-listen__btn { transition: none; } }

/* Since 0.6.0: front page – albums large, singles as a swipeable row, photos as a gallery */
.fmc-cards.is-albums { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 2.75rem 2rem; }
.fmc-cards.is-albums .fmc-card__title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: clamp(1.25rem, 1.05rem + .7vw, 1.6rem); font-weight: 400; line-height: 1.2; margin-top: .9rem; }
.fmc-cards.is-singles { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(9.5rem, 17vw, 13rem); grid-template-columns: none; gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding-bottom: .75rem; scrollbar-width: thin; }
.fmc-cards.is-singles > .fmc-card { scroll-snap-align: start; }
.fmc-cards.is-singles .fmc-card__title { font-size: .9375rem; }
.fmc-card__img { position: relative; }
.fmc-card a:hover .fmc-card__title, .fmc-card a:focus-visible .fmc-card__title { text-decoration: underline; text-underline-offset: .2em; }
.fmc-photos { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: clamp(9rem, 16vw, 15rem); gap: clamp(.75rem, 1.4vw, 1.25rem); }
.fmc-photos__item { margin: 0; position: relative; overflow: hidden; grid-column: span 2; }
.fmc-photos__item:nth-child(5n+1) { grid-column: span 4; grid-row: span 2; }
.fmc-photos__item:nth-child(5n+4), .fmc-photos__item:nth-child(5n+5) { grid-column: span 3; }
.fmc-photos.is-1 .fmc-photos__item { grid-column: 1 / -1; grid-row: span 3; }
.fmc-photos.is-2 .fmc-photos__item { grid-column: span 3; grid-row: span 2; }
.fmc-photos__item a { display: block; width: 100%; height: 100%; }
.fmc-photos__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.fmc-photos__item a:hover img { transform: scale(1.03); }
.fmc-photos__item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem .9rem .7rem; font-size: .8125rem; color: #f4f0e8; background: linear-gradient(transparent, rgba(14, 14, 13, .65)); opacity: 0; transition: opacity .3s; }
.fmc-photos__item:hover figcaption, .fmc-photos__item a:focus-visible + figcaption { opacity: 1; }
@media (max-width: 760px) {
	.fmc-photos { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 42vw; }
	.fmc-photos__item, .fmc-photos__item:nth-child(n) { grid-column: span 1; grid-row: span 1; }
	.fmc-photos__item:nth-child(3n+1) { grid-column: 1 / -1; }
	.fmc-photos__item figcaption { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .fmc-photos__item img, .fmc-photos__item figcaption { transition: none; } .fmc-photos__item a:hover img { transform: none; } }
/* Since 0.6.0: inside Divi each front-page part is its own block – Divi rows provide the rhythm */
.fmc-home.is-divi > section { padding: clamp(28px, 3.5vw, 52px) 0 0; }
.fmc-home.is-divi > section:last-child { padding-bottom: clamp(12px, 2vw, 24px); }
.fmc-photos__item { background: color-mix(in srgb, currentColor 7%, transparent); }
/* Since 0.6.0: audio embeds wait as a slim bar (no large empty box) until clicked */
.fmc-embed.is-audio .fmc-video__frame { aspect-ratio: auto; min-height: 0; border-radius: 12px; background: color-mix(in srgb, currentColor 7%, transparent); }
.fmc-embed.is-audio .fmc-video__frame:not(.is-loaded) .fmc-video__play { position: static; padding: 1.15rem 1rem; }
.fmc-embed.is-audio .fmc-video__frame.is-loaded { background: transparent; }
.fmc-embed.is-audio iframe { border-radius: 12px; }

/* Since 0.6.1: overviews of albums and singles */
.fmc-archive-head__count { margin: 0 0 1rem; padding: 0; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.fmc-archive-head__intro { margin: 0 0 1.75rem; padding: 0; max-width: 40rem; font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem); line-height: 1.55; }
.fmc-archive-head__nav { display: flex; gap: 1.5rem; }
.fmc-archive-head__nav a { color: inherit; text-decoration: none !important; padding-bottom: .3rem; border-bottom: 1px solid transparent; opacity: .7; }
.fmc-archive-head__nav a[aria-current], .fmc-archive-head__nav a:hover { opacity: 1; border-bottom-color: currentColor; }
.fmc-archive-grid.is-albums { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 2.25rem; }
.fmc-archive-grid.is-singles { grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)); gap: 2.25rem 1.5rem; }
.fmc-archive-grid.is-albums .fmc-card__title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: clamp(1.25rem, 1.05rem + .7vw, 1.65rem); font-weight: 400; line-height: 1.2; margin-top: 1rem; }
.fmc-card.is-full .fmc-card__meta { margin-top: .3rem; letter-spacing: .02em; }
.fmc-card__hover { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .95rem; border-radius: 999px; background: rgba(23, 20, 15, .82); color: #f4f0e8; font-size: .8125rem; opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; }
.fmc-card__hover > span { font-size: .7em; }
.fmc-card.is-full a:hover .fmc-card__hover, .fmc-card.is-full a:focus-visible .fmc-card__hover { opacity: 1; transform: none; }
.fmc-card.is-soon .fmc-card__meta { color: var(--fmc-accent, inherit); }
.fmc-card__noimg { display: flex !important; align-items: flex-end; padding: 1rem; box-sizing: border-box; background: linear-gradient(135deg, color-mix(in srgb, currentColor 10%, transparent), color-mix(in srgb, currentColor 4%, transparent)); }
.fmc-card__noimg > span { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: clamp(1.1rem, 1rem + .6vw, 1.5rem); line-height: 1.15; opacity: .8; }
.fmc-archive-empty { margin: 0 0 .75rem; font-size: 1.05rem; }
.fmc-archive-empty.is-admin { font-size: .875rem; padding: .8rem 1rem; border: 1px dashed color-mix(in srgb, currentColor 35%, transparent); border-radius: 8px; max-width: 44rem; }
.fmc-archive-foot { margin-top: clamp(3rem, 6vw, 5rem); padding-top: 2rem; border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
.fmc-archive-foot__label { margin: 0 0 .9rem; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
/* plugin page (no Divi template) */
.fmc-archive__in { max-width: 1280px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 4rem); box-sizing: content-box; }
.fmc-archive__top { background: #17140f; color: #f4f0e8; padding: clamp(3rem, 7vw, 6rem) 0 clamp(2.5rem, 5vw, 4rem); }
.fmc-archive__title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 300; font-size: clamp(2.75rem, 2rem + 4vw, 5.5rem); line-height: 1.02; margin: 0 0 1.25rem; padding: 0; color: inherit; }
.fmc-archive__body { padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.fmc-archive-wrap { background: var(--wp--preset--color--paper, #f4f0e8); color: var(--wp--preset--color--ink, #1c1b19); }
@media (max-width: 1100px) { .fmc-archive-grid.is-albums { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .fmc-archive-grid.is-albums, .fmc-archive-grid.is-singles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; } .fmc-card__hover { display: none; } }
@media (prefers-reduced-motion: reduce) { .fmc-card__hover { transition: none; transform: none; } }
.fmc-card a, .fmc-card a:hover { text-decoration: none !important; }
.fmc-archive-head__nav a { color: inherit !important; }

/* Since 0.6.3: showcase grids for free Divi layouts – albums 2 large, singles 3 per row */
.fmc-showcase { grid-auto-flow: row !important; grid-auto-columns: auto !important; overflow: visible !important; scroll-snap-type: none !important; padding-bottom: 0 !important; }
.fmc-showcase.is-albums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4.5rem); }
.fmc-showcase.is-singles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.fmc-showcase .fmc-card__title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 400; line-height: 1.2; margin-top: 1rem; }
.fmc-showcase.is-albums .fmc-card__title { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.4rem); }
.fmc-showcase.is-singles .fmc-card__title { font-size: clamp(1.2rem, 1rem + .7vw, 1.6rem); }
@media (max-width: 980px) { .fmc-showcase.is-singles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .fmc-showcase.is-albums { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .fmc-showcase.is-singles { grid-template-columns: 1fr; } }
.fdb-hero { justify-content: flex-end; }

/* Since 0.7.0: album rows, singles by year, playlist */
.fmc-albumrows { display: grid; gap: clamp(4rem, 9vw, 8rem); }
.fmc-albumrow { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.fmc-albumrow.is-flip .fmc-albumrow__cover { order: 2; }
.fmc-albumrow > p:empty, .fmc-albumrows > p:empty, .fmc-years > p:empty { display: none; }
.fmc-albumrow__cover a { display: block; height: 100%; }
.fmc-albumrow__cover { margin: 0; display: block; aspect-ratio: 1; overflow: hidden; background: color-mix(in srgb, currentColor 8%, transparent); }
.fmc-albumrow__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.fmc-albumrow__cover:hover img { transform: scale(1.025); }
.fmc-albumrow__meta { margin: 0 0 1rem; padding: 0; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.fmc-albumrow__title { margin: 0 0 1.25rem; padding: 0; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 300; font-size: clamp(2.4rem, 1.6rem + 3vw, 4.5rem); line-height: 1.02; }
.fmc-albumrow__title a, .fmc-albumrow__more { color: inherit; text-decoration: none !important; }
.fmc-albumrow__short { margin: 0 0 2rem; padding: 0; max-width: 34rem; font-size: 1.0625rem; line-height: 1.65; }
.fmc-albumrow__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin: 0; padding: 0; }
.fmc-albumrow__more { border-bottom: 1px solid currentColor; padding-bottom: .15rem; font-size: .9375rem; }
.fmc-years__group + .fmc-years__group { margin-top: clamp(3rem, 7vw, 5.5rem); }
.fmc-years__year { margin: 0 0 1.5rem; padding: 0 0 .9rem; border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 300; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); }
.fmc-playlist__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; }
.fmc-playlist__info { margin: 0; padding: 0; font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.fmc-playlist__head .fmc-ext-embed { flex-basis: 100%; max-width: none; }
.fmc-playall small { opacity: .7; font-size: .8em; }
.fmc-tracklist.is-playlist .fmc-tracklist__item { position: relative; padding-left: .5rem; padding-right: .5rem; transition: background-color .2s; }
.fmc-tracklist.is-playlist .fmc-tracklist__item:hover { background: color-mix(in srgb, currentColor 4%, transparent); }
.fmc-tracklist.is-playlist .fmc-tracklist__item.is-current { background: color-mix(in srgb, var(--fmc-accent, currentColor) 9%, transparent); }
.fmc-tracklist.is-playlist .fmc-tracklist__item.is-current .fmc-tracklist__t { color: var(--fmc-accent, inherit); }
.fmc-tracklist.is-playlist .fmc-tracklist__item.is-current::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: var(--fmc-p, 0%); background: var(--fmc-accent, currentColor); }
@media (max-width: 860px) { .fmc-albumrow { grid-template-columns: 1fr; } .fmc-albumrow.is-flip .fmc-albumrow__cover { order: 0; } }
@media (prefers-reduced-motion: reduce) { .fmc-albumrow__cover img, .fmc-tracklist.is-playlist .fmc-tracklist__item { transition: none; } }

/* 0.8.0 – play button on covers (cards, album rows) and the dock player */
.fmc-card, .fmc-albumrow__cover { position: relative; }
.fmc-qp-wrap { position: absolute; left: 0; top: 0; width: 100%; aspect-ratio: 1; pointer-events: none; }
.fmc-albumrow__cover .fmc-qp-wrap { aspect-ratio: auto; height: 100%; }
.fmc-qp { pointer-events: auto; position: absolute; right: .75rem; bottom: .75rem; width: 3rem; height: 3rem; border-radius: 50%; border: 0 !important; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: rgba(23, 20, 15, .78); color: #f4f0e8 !important; font-size: .95rem; line-height: 1; cursor: pointer; text-decoration: none !important; box-shadow: 0 2px 12px rgba(0, 0, 0, .25); opacity: .9; transition: opacity .2s, transform .2s, background .2s; }
.fmc-qp > span { margin-left: .12em; }
.fmc-qp.is-playing > span { margin-left: 0; font-size: .8em; letter-spacing: -.1em; }
.fmc-qp:hover, .fmc-qp:focus-visible, .fmc-qp.is-playing, .fmc-qp[aria-expanded="true"] { opacity: 1; background: var(--fmc-accent, #d27a4b); color: #17140f !important; }
.fmc-qp:focus-visible { outline: 2px solid #f4f0e8; outline-offset: 2px; }
.fmc-qp.is-link > span { margin: 0; }
@media (hover: hover) and (min-width: 768px) { .fmc-qp { opacity: .72; transform: scale(.94); } .fmc-card:hover .fmc-qp, .fmc-albumrow__cover:hover .fmc-qp { opacity: 1; transform: none; } }
@media (max-width: 767px) { .fmc-qp { width: 2.75rem; height: 2.75rem; right: .5rem; bottom: .5rem; } }
.fmc-dock { position: fixed; z-index: 99990; right: 1rem; bottom: 1rem; width: min(380px, calc(100vw - 2rem)); background: #17140f; color: #f4f0e8; border-radius: 14px; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); padding: .75rem 2.75rem .75rem .9rem; --fmc-accent-c: var(--fmc-accent, #d27a4b); --fmc-on-accent: #17140f; }
.fmc-dock[hidden] { display: none; }
.fmc-dock .fmc-player { border: 0; padding: 0; --fmc-line: rgba(244, 240, 232, .2); }
.fmc-dock .fmc-player__bar { flex-wrap: nowrap; gap: .5rem; }
.fmc-dock .fmc-player__play { width: 2.5rem; height: 2.5rem; color: inherit; }
.fmc-dock .fmc-player__prev, .fmc-dock .fmc-player__next { background: none; border: 0; color: inherit; padding: .25rem; font-size: .85rem; cursor: pointer; }
.fmc-dock .fmc-player__main { min-width: 0; flex: 1; }
.fmc-dock__rel { margin: 0; padding: 0; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; opacity: .7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fmc-dock__rel a { color: inherit !important; text-decoration: none; }
.fmc-dock .fmc-player__now { margin: 0; padding: 0; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fmc-dock .fmc-player__time { font-size: .72rem; gap: .4rem; }
.fmc-dock.has-ext .fmc-player { display: none; }
.fmc-dock__ext .fmc-ext-embed { margin: 0; }
.fmc-dock__ext iframe { width: 100%; border: 0; border-radius: 10px; display: block; }
.fmc-dock__ext .is-video iframe { aspect-ratio: 16 / 9; height: auto; }
.fmc-dock__ext .fmc-video__note { font-size: .72rem; margin: .4rem 0 0; opacity: .75; }
.fmc-dock__ext .fmc-video__note a { color: inherit !important; }
.fmc-dock__close { position: absolute; top: .4rem; right: .4rem; width: 2rem; height: 2rem; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.fmc-dock__close:hover, .fmc-dock__close:focus-visible { background: rgba(244, 240, 232, .12); }
.fmc-dock button:focus-visible { outline: 2px solid var(--fmc-accent-c); outline-offset: 2px; }
@media (max-width: 767px) { .fmc-dock { left: .5rem; right: .5rem; bottom: .5rem; width: auto; } body.fmc-dock-on { padding-bottom: 6rem; } }
@media (prefers-reduced-motion: reduce) { .fmc-qp { transition: none; transform: none !important; } }

/* 0.8.0 – front page statements (font, size, colour from the surrounding Divi text module) */
.fmc-statements { display: grid; gap: 2.5rem; }
.fmc-statement { margin: 0; }
.fmc-statement blockquote { margin: 0; padding: 0; border: 0; font: inherit; color: inherit; quotes: none; }
.fmc-statement blockquote p { margin: 0; padding: 0; }
.fmc-statement figcaption { margin-top: 1rem; font-size: clamp(13px, .32em, 18px); letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.fmc-musicline { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem 2.5rem; }
.fmc-musicline li { margin: 0; padding: 0; }
.fmc-musicline a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .15em; }
.fmc-musicline strong { font-weight: 500; }

/* 1.0.0 – playlists */
.fmc-showcase.is-playlists { display: grid; grid-auto-flow: row !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
@media (max-width: 980px) { .fmc-showcase.is-playlists { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fmc-showcase.is-playlists { grid-template-columns: 1fr; } }
.fmc-playlist__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin: 1.25rem 0 .5rem; }
.fmc-playlist__meta { margin: 0; letter-spacing: .08em; text-transform: uppercase; font-size: .8125rem; opacity: .7; }
.fmc-playlist__list .fmc-tracklist__row { align-items: center; min-height: 56px; }
.fmc-playlist__list .fmc-tracklist__t { display: flex; align-items: center; gap: .9rem; min-width: 0; }
.fmc-playlist__list .fmc-tracklist__t a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.fmc-playlist__thumb { flex: none; width: 48px; height: 48px; overflow: hidden; border-radius: 4px; }
.fmc-playlist__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fmc-tracklist__play.is-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: inherit; }
.fmc-playlist .fmc-tracklist__play { min-width: 44px; min-height: 44px; }
@media (max-width: 560px) { .fmc-playlist__thumb { width: 40px; height: 40px; } .fmc-playlist__list .fmc-tracklist__row { grid-template-columns: 1.75rem 1fr auto 2.75rem; gap: .5rem; } }
