/* aminimusic.nl — aanvullingen voor Joomla/Gantry. Laadt na site.css. De vier ontwerp-stylesheets blijven ongewijzigd.
   Bevat: mobiel menu, skip-link, utility-classes in plaats van inline styles (strikte CSP), haarlijnen tussen bands
   ondanks Gantry-wrappers, footer-onderregel, placeholderkleuren (gegenereerd uit content/catalogue.json). */

/* Toegankelijkheid */
.am-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.am-skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--surface); color: var(--ink); padding: var(--space-2) var(--space-3); border: 1px solid var(--line-strong); }
.am-skip:focus { left: var(--space-4); top: var(--space-2); }

/* Utility (vervangen inline style-attributen uit het ontwerp) */
.am-m0 { margin: 0; }
.am .am-link-ink { color: var(--ink); }
.am .am-link-plain { color: inherit; text-decoration: none; }

/* Gantry-wrappers: neutraal houden */
.am #g-page-surround, .am .g-grid, .am .g-block, .am .g-content { margin: 0; padding: 0; }
/* "band + band"-haarlijn werkt niet door de Gantry-rijen; hier per rij opnieuw */
.am .g-grid:has(.band) + .g-grid .band { border-top: 1px solid var(--line); }

/* Header: hamburger onder 760 px */
.am-header__toggle { display: none; }
@media (max-width: 760px) {
  .am-header { flex-wrap: wrap; }
  .am-header__toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); cursor: pointer; }
  .am-header__bars, .am-header__bars::before, .am-header__bars::after { display: block; width: 18px; height: 1px; background: currentColor; position: relative; content: ""; }
  .am-header__bars::before { position: absolute; top: -6px; }
  .am-header__bars::after { position: absolute; top: 6px; }
  .am-header[data-open="true"] .am-header__bars { background: transparent; }
  .am-header[data-open="true"] .am-header__bars::before { top: 0; transform: rotate(45deg); }
  .am-header[data-open="true"] .am-header__bars::after { top: 0; transform: rotate(-45deg); }
  .am-js .am-header__nav { display: none; }
  .am-header__nav { width: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line); }
  .am-js .am-header[data-open="true"] .am-header__nav { display: flex; }
}

/* Footer-onderregel */
.am-footer__legal { grid-column: 1 / -1; margin: 0; padding-top: var(--space-6); border-top: 1px solid var(--line); font-size: 13px; line-height: 20px; }

/* Joomla-systeemmeldingen */
.am #system-message-container:not(:empty) { max-width: var(--content-max); margin: var(--space-6) auto 0; padding-inline: var(--space-12); }
@media (max-width: 760px) { .am #system-message-container:not(:empty) { padding-inline: var(--space-4); } }

/* Paginakop (catalogus, labs e.d.) — vervangt inline styles uit design/catalogue.html */
.am-page { padding-block: var(--space-16) var(--space-24); }
.am-page-head { align-items: start; margin-bottom: var(--space-12); }
.am-page-head .am-eyebrow { padding-top: var(--space-4); }
.am-page-title { font-family: var(--font-display); font-size: 48px; line-height: 54px; font-weight: 300; margin: 0 0 var(--space-6); color: var(--ink); text-wrap: balance; }
.am-page-foot { margin-top: var(--space-12); }
@media (max-width: 760px) { .am-page-title { font-size: 36px; line-height: 42px; } }

/* Gefilterde kaarten echt verbergen (display:flex van de kaart wint anders van [hidden]) */
.am .am-artist-card[hidden] { display: none; }

/* Beelden in <picture> laten vullen */
.am-artist-card__photo picture, .am-profile__portrait picture { display: block; width: 100%; height: 100%; }
.am-gallery figure { aspect-ratio: auto; background: none; overflow: visible; display: grid; gap: var(--space-2); }
.am-gallery figure picture { display: block; aspect-ratio: 3 / 2; overflow: hidden; background-color: var(--surface-sunken); }

/* Alleen met / zonder JavaScript */
.am-js-only { display: none; }
.am-js .am-js-only { display: inline-flex; }
.am-js p.am-js-only { display: block; }
.am-js .am-nojs-only { display: none; }

/* Spotify-stand-in */
.am-player__stand-in .player-link .title { font-family: var(--font-display); font-size: 22px; line-height: 28px; color: var(--ink); }
.am-player__stand-in .small { font-size: 14px; line-height: 22px; max-width: 30em; }
.am-player.is-loaded { background: none; }

/* Labs-register — vervangt inline grid uit design/labs.html */
.am-register { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 480px), 1fr)); gap: var(--space-6); }
.am .am-exp[hidden] { display: none; }

/* Tekstpagina's (Services, About, ...) */
.am-prose > p { max-width: var(--text-max); margin: 0 0 var(--space-4); }
.am-prose > .am-section, .am-prose > div > .am-section { margin-top: var(--space-12); }
.am-prose .am-section__body > * + * { margin-top: var(--space-4); }
.am-prose .am-facts { margin-bottom: var(--space-6); }
.am-list { margin: 0; padding-left: 1.1em; }
.am-prose .am-page-foot { margin-top: var(--space-12); }

/* Formulier (contact) — haarlijnen, scherpe hoeken, accent alleen voor focus en knop */
.am-form { display: grid; gap: var(--space-6); max-width: var(--text-max); }
.am-field { display: grid; gap: var(--space-2); }
.am-field label { font: 600 12px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.am-field .star { color: var(--accent); }
.am-field input, .am-field select, .am-field textarea { width: 100%; font: 400 16px/24px var(--font-sans); color: var(--ink); background: var(--surface-raised); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); }
.am-field textarea { min-height: 10em; resize: vertical; }
.am-field input:focus-visible, .am-field select:focus-visible, .am-field textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--ink); }
.am-field .invalid, .am-field input[aria-invalid="true"], .am-field textarea[aria-invalid="true"] { border-color: var(--accent); }
.am-field .form-control-feedback, .am-field .invalid-feedback { font-size: 14px; color: var(--accent); }
.am-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Venture-artwork (tijdelijk: donkere vlakken uit het ontwerp) */
.am-art-meat-energy { background-color: #2a1a12; }
.am-art-strategyx { background-color: #0f1f2e; }
.am-art-neon-shelter { background-color: #2b0f2a; }

/* Placeholderkleuren artiesten (uit content/catalogue.json) */
.am-ph-backbone { background-color: #604265; }
.am-ph-beauregarde { background-color: #827871; }
.am-ph-boner { background-color: #27221e; }
.am-ph-brian-james { background-color: #66707b; }
.am-ph-coolscool { background-color: #9c8d83; }
.am-ph-david-cok { background-color: #907a68; }
.am-ph-diamond-wave { background-color: #4d3b4d; }
.am-ph-doctors-orders { background-color: #686260; }
.am-ph-hugo-buiten { background-color: #a8675d; }
.am-ph-jackie-t { background-color: #b68983; }
.am-ph-klopje-popje { background-color: #737777; }
.am-ph-myshkin { background-color: #5a5a71; }
.am-ph-nieuw-bloed { background-color: #c0645c; }
.am-ph-rob-gerritsen { background-color: #8f8a84; }
.am-ph-the-time-being { background-color: #90857f; }
.am-ph-tuesday-child { background-color: #9b5284; }
.am-ph-vandegarde { background-color: #4f2c1a; }
.am-ph-wim-mijs { background-color: #675b4a; }
.am-ph-witteman-groen { background-color: #434143; }

/* =====================================================================
   Content v2 (9-10-2026): Labs-register, experiment, rapport, Notes, Policy, venture-pagina's
   ===================================================================== */

/* LAB-nummer: vaste typografie (monospace, kleine kapitalen, ruime spatiëring) */
.am-labno { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }
.am-labno--l { font-size: 15px; padding-top: var(--space-4); margin: 0; color: var(--accent); }
.am-labno--xl { font-size: clamp(40px, 6vw, 72px); line-height: 1; font-weight: 400; letter-spacing: .04em; color: var(--ink); }
.am-status--paused::before { background: var(--line-strong); }
.am-status { font-variant-caps: all-small-caps; }

/* Register */
.am-labgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: var(--space-8) var(--space-6); }
.am .am-labtile { display: grid; gap: var(--space-3); color: var(--ink); text-decoration: none; }
.am-labtile__art { aspect-ratio: 16 / 10; overflow: hidden; background: var(--surface-sunken); border: 1px solid var(--line); }
.am-labtile__art picture, .am-labtile__art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.am-labtile__art--type { display: grid; place-items: center; background-image:
  repeating-linear-gradient(0deg, var(--line) 0 1px, transparent 1px 20.785px),
  repeating-linear-gradient(60deg, var(--line) 0 1px, transparent 1px 20.785px),
  repeating-linear-gradient(120deg, var(--line) 0 1px, transparent 1px 20.785px); }
.am-labtile__top { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.am-labtile__title { font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 400; margin: 0; border-bottom: 1px solid transparent; justify-self: start; }
.am-labtile:hover .am-labtile__title { border-bottom-color: var(--accent); }

/* Experimentpagina */
.am-labhead__media picture, .am-labhead__media img, .am-vhead picture, .am-vhead img { display: block; width: 100%; height: auto; }
.am-labhead__media, .am-vhead { aspect-ratio: 21 / 9; overflow: hidden; background: var(--surface-sunken); }
.am-crumbs { margin: 0 0 var(--space-8); }
.am-crumbs a { color: var(--ink-muted); }
.am-labfacts { margin-top: var(--space-6); }
.am-box { border: 1px solid var(--line); background: var(--surface-raised); padding: var(--space-6); display: grid; gap: var(--space-3); }
.am-box p { margin: 0; }
.am-reports { list-style: none; margin: 0; padding: 0; }
.am-reports li { padding: var(--space-4) 0; border-bottom: 1px solid var(--line); display: grid; gap: var(--space-1); }
.am-reports a { display: grid; grid-template-columns: 4em 1fr auto; gap: var(--space-4); align-items: baseline; color: var(--ink); text-decoration: none; }
.am-reports a:hover .am-reports__title { border-bottom-color: var(--accent); }
.am-reports__title { font-family: var(--font-display); font-size: 20px; line-height: 26px; border-bottom: 1px solid transparent; justify-self: start; }
.am-reports__first { margin: 0 0 0 calc(4em + var(--space-4)); color: var(--ink-muted); font-size: 15px; line-height: 24px; }
@media (max-width: 760px) { .am-reports a { grid-template-columns: 3.5em 1fr; } .am-reports a .am-data { grid-column: 2; } .am-reports__first { margin-left: 0; } }

/* Rapport en essay: leesbreedte */
.am-read { max-width: 68ch; }
.am-report__head, .am-note__head { margin-bottom: var(--space-8); }
.am-report__media { margin: 0 0 var(--space-8); max-width: 760px; }
.am-report__media picture, .am-report__media img { display: block; width: 100%; height: auto; }
.am-report .am-box { margin: var(--space-8) 0; }
.am-prose h2 { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 400; margin: var(--space-12) 0 var(--space-4); color: var(--ink); }
.am-prose h3 { font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 400; margin: var(--space-8) 0 var(--space-3); }
.am-prose ul, .am-prose ol { margin: 0 0 var(--space-4); padding-left: 1.2em; }
.am-prose li { margin-bottom: var(--space-2); }
.am-prose blockquote { margin: var(--space-6) 0; padding-left: var(--space-4); border-left: 2px solid var(--accent); }
.am-prose hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-8) 0; }
.am-prose code { font-family: var(--font-mono); font-size: .9em; }

/* Notes */
.am-notes { list-style: none; margin: 0; padding: 0; max-width: 68ch; }
.am-notes__item { padding: var(--space-6) 0; border-bottom: 1px solid var(--line); }
.am-notes__title { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 400; margin: var(--space-2) 0; }
.am-notes__title a { color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; }
.am-notes__title a:hover { border-bottom-color: var(--accent); }
.am-notes__sub, .am-note__sub { margin: 0; color: var(--ink-muted); font-size: 17px; line-height: 27px; }
.am-note__sub { margin-bottom: var(--space-4); }
.am-note__legal { font-size: 14px; color: var(--ink-muted); margin: var(--space-4) 0; }

/* Policy */
.am-policy__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--space-8); align-items: start; }
.am-toc { position: sticky; top: var(--space-6); max-height: calc(100vh - 48px); overflow: auto; }
.am-toc ol { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; gap: var(--space-1); }
.am-toc a { color: var(--ink-muted); text-decoration: none; }
.am-toc a:hover { color: var(--accent); }
.am-policy__body { grid-column: 2; }
.am-inshort { border: 1px solid var(--line-strong); border-left: 4px solid var(--accent); background: var(--surface-raised); padding: var(--space-6); margin-bottom: var(--space-8); }
.am-inshort h2 { margin-top: 0; }
@media (max-width: 760px) { .am-policy__grid { grid-template-columns: minmax(0, 1fr); } .am-toc { position: static; max-height: none; } .am-policy__body { grid-column: 1; } }

/* Venture-pagina (music-stand) */
.am-vtitle { margin-bottom: var(--space-4); }
.am-vlogo { width: min(480px, 100%); height: auto; }
.am-vgallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.am-vgallery__item { grid-column: span 2; display: block; overflow: hidden; background: var(--surface-sunken); }
.am-vgallery__item.is-portrait { grid-column: span 1; }
.am-vgallery__item picture, .am-vgallery__item img { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.am-vgallery__item:hover img { transform: scale(1.02); }
.am-credit { margin-top: var(--space-4); }
.am-vcovers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-6) var(--space-4); }
.am-vcovers li { display: grid; gap: var(--space-2); }
.am-vcovers picture, .am-vcovers img { display: block; width: 100%; height: auto; }
.am-vlab { margin-top: var(--space-12); }
.am-vendorse { margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--line); display: block; }
@media (max-width: 760px) { .am-vgallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .am-vgallery__item { grid-column: span 2; } .am-vgallery__item.is-portrait { grid-column: span 1; } }

/* Lightbox (am.js) */
.am-lightbox { padding: 0; border: 0; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; background: rgba(13, 11, 10, .94); color: #F2EDE6; }
.am-lightbox::backdrop { background: rgba(13, 11, 10, .94); }
.am-lightbox__fig { margin: 0; height: 100%; display: grid; place-items: center; padding: var(--space-12) var(--space-16); }
.am-lightbox__fig img { max-width: 100%; max-height: calc(100vh - 96px); width: auto; height: auto; }
.am-lightbox button { position: absolute; background: transparent; color: inherit; border: 1px solid rgba(242, 237, 230, .4); border-radius: var(--radius-sm); font: 500 15px/20px var(--font-sans); padding: var(--space-2) var(--space-3); cursor: pointer; }
.am-lightbox button:focus-visible { outline: 2px solid #F07A4F; outline-offset: 2px; }
.am-lightbox__close { top: var(--space-4); right: var(--space-4); }
.am-lightbox__prev { left: var(--space-4); top: 50%; }
.am-lightbox__next { right: var(--space-4); top: 50%; }

/* Home: Latest from the studio */
.am .am-latest__item { text-decoration: none; color: var(--ink); }
.am-latest__item:hover .am-exp__title { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.am .am-pager__prev::after { content: none; }
.am .am-pager__prev::before { content: "←"; transition: transform .15s; }
.am .am-pager__prev:hover::before { transform: translateX(-3px); }
/* Venture-logo's zijn gemaakt voor een donkere ondergrond (eigen beeldwereld): op een donker vlak tonen */
.am-vtitle:has(.am-vlogo) { display: inline-block; background: #0D0B0A; padding: var(--space-6) var(--space-8); margin-bottom: var(--space-6); }
.am-vlogo { display: block; width: min(420px, 70vw); }
/* Tabellen in tekst (bijv. releases StrategyX) */
.am-table { overflow-x: auto; margin: 0 0 var(--space-6); }
.am-table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 22px; }
.am-table th { text-align: left; font: 600 12px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); padding: var(--space-2) var(--space-3) var(--space-2) 0; border-bottom: 1px solid var(--line-strong); }
.am-table td { padding: var(--space-3) var(--space-3) var(--space-3) 0; border-bottom: 1px solid var(--line); vertical-align: top; }

/* Footer: beleidsregel */
.am-footer__policy { grid-column: 1 / -1; margin: 0; padding-top: var(--space-6); border-top: 1px solid var(--line); font-size: 13px; line-height: 20px; }
.am-footer__policy + .am-footer__legal { border-top: 0; padding-top: 0; }

/* Eyebrow als echte kop (toegankelijke koppenstructuur) */
.am h2.am-eyebrow { margin: 0; }

/* Footer: nieuwsbrief (Laposta, server-side) */
.am-nl { grid-column: 1 / -1; padding-top: var(--space-6); border-top: 1px solid var(--line); display: grid; gap: var(--space-2); max-width: 560px; }
.am-nl__label { font-size: 13px; color: var(--ink-muted); }
.am-nl__row { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.am-nl__row input { flex: 1 1 240px; min-width: 0; font: 400 16px/24px var(--font-sans); color: var(--ink); background: var(--surface-raised); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); }
.am-nl__row input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.am-nl__note { margin: 0; font-size: 13px; line-height: 20px; }
.am-nl__msg { margin: var(--space-2) 0 0; font-size: 14px; color: var(--ink); }
.am-nl__msg.is-error { color: var(--accent); }

/* Artiestenpagina: credits per release (uitklapbaar) */
.am-credits { grid-column: 1 / -1; margin: 0; }
.am-credits summary { cursor: pointer; display: inline-block; padding: var(--space-1) 0; }
.am-credits summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.am-credits .am-facts { margin: var(--space-3) 0 var(--space-2); }
.am-credits[open] summary { color: var(--ink); }

/* Catalogue v2 (/catalogue en /catalogue/artist/<slug>) — tegels per release, filters, highlights, releasevenster */
.am-cat2__ventures { margin: var(--space-4) 0 0; font-size: 16px; line-height: 26px; }
.am-cat2 section + section, .am-cat2__all { margin-top: var(--space-16); }
.am-cat2 h2.am-eyebrow { margin: 0 0 var(--space-6); }
.am-filter { display: grid; gap: var(--space-3); margin-bottom: var(--space-8); }
.am-filter .chip { cursor: pointer; }
.am-filter .chip[aria-pressed="true"] { background: var(--ink); color: var(--surface); border-color: var(--ink); }
.am-filter .chip .am-n { color: var(--ink-muted); margin-left: 2px; }
.am-filter .chip[aria-pressed="true"] .am-n { color: inherit; opacity: .75; }
.am-filter__row { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-8); align-items: end; justify-content: space-between; }
.am-filter__search { display: grid; gap: var(--space-1); flex: 1 1 260px; max-width: 420px; }
.am-filter__search input { font: 400 16px/24px var(--font-sans); color: var(--ink); background: var(--surface-raised); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); width: 100%; }
.am-filter__search input:focus-visible, .am-rel__cover:focus-visible, .am-filter .chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.am-filter__count { margin: 0; color: var(--ink-muted); }
.am-rel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-4); }
@media (min-width: 700px) { .am-rel-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); } }
@media (min-width: 1000px) { .am-rel-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .am-cat2 .am-rel-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.am .am-rel[hidden] { display: none; }
.am-rel { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.am-rel__cover { display: block; padding: 0; border: 0; background: var(--surface-sunken); aspect-ratio: 1 / 1; overflow: hidden; cursor: pointer; margin-bottom: var(--space-2); }
.am-rel__cover picture, .am-rel__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.am-rel__cover img { transition: transform .4s ease; }
.am-rel__cover:hover img { transform: scale(1.03); }
.am-rel__ph { display: block; width: 100%; height: 100%; }
.am-rel__title { font-family: var(--font-display); font-size: 18px; line-height: 24px; font-weight: 400; margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.am-rel__artist { margin: 0; font-size: 14px; line-height: 20px; color: var(--ink); overflow-wrap: anywhere; }
.am .am-rel__artist a { color: var(--ink); }
.am-rel__meta { margin: 0; font-family: var(--font-mono); font-size: 12px; line-height: 18px; color: var(--ink-muted); }
.am-rel__listen { display: flex; gap: var(--space-2); margin: var(--space-1) 0 0; }
.am-rel__listen a { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; color: var(--ink-muted); border-radius: var(--radius-sm); }
.am-rel__listen a:hover, .am-rel__listen a:focus-visible { color: var(--accent); }
.am-ico { width: 20px; height: 20px; }
.am-reldlg__listen .am-ico { width: 18px; height: 18px; vertical-align: -3px; }
/* Highlights: iets grotere tegels; mobiel een horizontaal scrollende rij (binnen de pagina, geen paginascroll) */
.am-hl-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); }
.am-rel--hl .am-rel__title { font-size: 22px; line-height: 28px; }
@media (max-width: 999px) {
  .am-hl-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--space-4); gap: var(--space-4); padding-bottom: var(--space-3); margin-inline: calc(var(--space-4) * -1); padding-inline: var(--space-4); }
  .am-hl-row .am-rel { flex: 0 0 min(62vw, 280px); scroll-snap-align: start; }
}
.am-cat2__more { text-align: center; margin: var(--space-8) 0 0; }
.am-cat2__empty { margin: var(--space-6) 0 0; }
.am-cat2__artist-list { list-style: none; margin: 0; padding: 0; columns: 3 220px; column-gap: var(--space-8); }
.am-cat2__artist-list li { padding: var(--space-2) 0; border-bottom: 1px solid var(--line); break-inside: avoid; display: flex; justify-content: space-between; gap: var(--space-3); }
/* Releasevenster */
.am-reldlg { padding: 0; border: 0; width: min(960px, calc(100vw - 32px)); max-height: calc(100vh - 32px); background: var(--surface); color: var(--ink); border-radius: var(--radius-md); }
.am-reldlg::backdrop { background: rgba(13, 11, 10, .72); }
.am-reldlg__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); padding: var(--space-8); position: relative; }
.am-reldlg { font-family: var(--font-sans); }
.am-reldlg__close { position: absolute; top: var(--space-3); right: var(--space-3); background: transparent; color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); font: 500 14px/20px var(--font-sans); padding: var(--space-1) var(--space-3); cursor: pointer; }
.am-reldlg__close:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.am-reldlg__cover img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: var(--surface-sunken); }
.am-reldlg__title { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 300; margin: var(--space-6) 0 var(--space-2); }
.am-reldlg__artist { margin: 0 0 var(--space-2); font-size: 16px; line-height: 24px; }
.am .am-reldlg__artist a { color: var(--ink); }
.am-reldlg__released { margin: 0 0 var(--space-4); font-family: var(--font-mono); font-size: 13px; line-height: 20px; color: var(--ink-muted); }
.am-reldlg__listen { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-4) 0; }
.am-reldlg__preview { margin-top: var(--space-4); }
.am-reldlg__preview .small { color: var(--ink-muted); margin: var(--space-2) 0 0; }
.am-reldlg__preview iframe { display: block; width: 100%; height: 352px; border: 0; border-radius: var(--radius-md); }
.am-reldlg__extra .am-eyebrow { margin: var(--space-6) 0 0; }
@media (max-width: 760px) {
  .am-reldlg__in { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding: var(--space-12) var(--space-4) var(--space-6); }
  .am-reldlg__title { font-size: 26px; line-height: 32px; margin-top: 0; }
  .am-reldlg__preview iframe { height: 152px; }
}
/* Artiestpagina v2 */
.am-artist2__back { margin: 0; }
.am-artist2__hero--type { grid-template-columns: minmax(0, 1fr); }
.am-artist2__releases .am-rel-grid { margin-top: var(--space-2); }
.am #am-cat-more[hidden] { display: none; }
.am-artist2__back { font-size: 15px; line-height: 24px; }
/* Our talents: typografische kaart als er geen beeld is */
.am-talent__type { display: grid; place-items: end start; padding: var(--space-4); background: var(--surface-sunken); border-top: 2px solid var(--accent); }
.am-talent__type span { font-family: var(--font-display); font-size: 28px; line-height: 32px; font-weight: 300; color: var(--ink); overflow-wrap: anywhere; }
.am-talents .am-artist-card__name { font-size: 22px; }
.am-home-cat__line { margin: 0 0 var(--space-6); color: var(--ink-muted); }

/* Services v2 — /services-blokken, bestel- en boekpagina */
.am-svc__name { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 300; margin: 0 0 var(--space-3); color: var(--ink); }
.am-svc .lead { margin: var(--space-3) 0; }
.am-svc .am-btn { margin-top: var(--space-4); }
.am-svc--entry > .am-eyebrow { color: var(--accent); }
.am-svc__note { margin: var(--space-8) 0 0; }
.am-svc__priceline { margin: 0 0 var(--space-8); font-size: 17px; }
.am-service__sub { margin: 0 0 var(--space-2); color: var(--ink-muted); font-size: 15px; line-height: 22px; }
.am-tools { gap: var(--space-6); }
.am-tools .am-service { border-top: 1px solid var(--line); padding-top: var(--space-4); }
.am-faq { margin: 0; }
.am-faq dt { font-family: var(--font-display); font-size: 20px; line-height: 26px; margin: var(--space-6) 0 var(--space-2); }
.am-faq dt:first-child { margin-top: 0; }
.am-faq dd { margin: 0; max-width: var(--text-max); }
.am-book__lead { max-width: var(--text-max); margin: 0 0 var(--space-6); }
.am-book__author { margin: 0 0 var(--space-8); }
.am-book__body { max-width: var(--text-max); margin-bottom: var(--space-12); }
.am-book__small { color: var(--ink-muted); margin-top: var(--space-4); }
@media (max-width: 760px) { .am-svc__name { font-size: 26px; line-height: 32px; } }

/* RSForm in de huisstijl (eigen layout; RSForm front.min.css blijft voor tonen/verbergen van fouten) */
.am-rsform .formContainer { display: grid; gap: var(--space-6); max-width: var(--text-max); }
.am-rsform .am-field__label { font: 600 12px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.am-rsform .am-req { color: var(--accent); }
.am-rsform .formBody { display: grid; gap: var(--space-2); }
.am-rsform .rsformVerticalClear label, .am-rsform .am-field--checkboxgroup label { display: flex; gap: var(--space-3); align-items: flex-start; font: 400 16px/24px var(--font-sans); letter-spacing: 0; text-transform: none; color: var(--ink); cursor: pointer; padding: var(--space-1) 0; }
.am-rsform input[type="radio"], .am-rsform input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; margin: 3px 0 0; accent-color: var(--accent); }
.am-rsform .formDescription { margin: 0; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.am-rsform .formDescription:empty { display: none; }
.am-rsform .formError { color: var(--accent); font: 500 14px/20px var(--font-sans); }
.am-rsform .rsform-block.formError input, .am-rsform .rsform-block.formError textarea, .am-rsform .rsform-block.formError select { border-color: var(--accent); }
.am-rsform__error { padding: var(--space-3) var(--space-4); border: 1px solid var(--accent); border-radius: var(--radius-sm); color: var(--ink); margin-bottom: var(--space-4); }
.am-rsform .rsform-block[hidden] { display: none; }
.am-rsform .am-field--submit .am-btn { justify-self: start; cursor: pointer; }
.am-rsform .rsfp-char-count, .am-rsform [id$="_chars"] { font-size: 13px; color: var(--ink-muted); }
/* Honeypot: buiten beeld, niet voor schermlezers */
.am-rsform .am-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.am-order-total { margin: 0; padding: var(--space-3) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font: 500 16px/24px var(--font-sans); color: var(--ink); }

/* Services v3 — verrekenregel (dunne lijn boven en onder), "counts towards" */
.am-prose > .am-creditline, .am-creditline { margin: calc(var(--space-12) * -1 + var(--space-4)) 0 var(--space-12) calc((100% - var(--space-8)) * 3 / 12 + var(--space-8)); padding: var(--space-3) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 15px; line-height: 22px; color: var(--ink-muted); max-width: var(--text-max); }
.am-svc__counts { margin: var(--space-2) 0 0; color: var(--ink-muted); font-size: 15px; }
@media (max-width: 760px) { .am-prose > .am-creditline, .am-creditline { margin: 0 0 var(--space-8); } }
.am-svc__cta { margin: 0 0 var(--space-2); }
.am-order-note { margin: var(--space-1) 0 0; font-size: 14px; color: var(--accent); }

.am-hero__alt { margin: var(--space-3) 0 0; }

/* Formulieren: native onderdelen in de huisstijl, in elke browser gelijk (select-pijl, keuzerondjes, vinkjes, focus) */
.am-rsform select, .am-field select { -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238A8178' stroke-width='1.5'/%3E%3C/svg%3E");
  background-position: calc(100% - 16px) 50%; background-size: 12px 8px; background-repeat: no-repeat; }
.am-rsform input[type="radio"], .am-rsform input[type="checkbox"] { -webkit-appearance: none; appearance: none; display: inline-grid; place-content: center;
  width: 20px; height: 20px; flex: 0 0 20px; margin: 2px 0 0; padding: 0; background: var(--surface-raised); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); cursor: pointer; }
.am-rsform input[type="radio"] { border-radius: 50%; }
.am-rsform input[type="checkbox"]::before { content: ""; width: 10px; height: 5px; margin-top: -3px; border-left: 2px solid var(--surface-raised); border-bottom: 2px solid var(--surface-raised); transform: rotate(-45deg) scale(0); transition: transform .12s ease-out; }
.am-rsform input[type="radio"]::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); transform: scale(0); transition: transform .12s ease-out; }
.am-rsform input[type="checkbox"]:checked { background: var(--accent); border-color: var(--accent); }
.am-rsform input[type="checkbox"]:checked::before { transform: rotate(-45deg) scale(1); }
.am-rsform input[type="radio"]:checked { border-color: var(--accent); }
.am-rsform input[type="radio"]:checked::before { transform: scale(1); }
.am-rsform input[type="radio"]:hover, .am-rsform input[type="checkbox"]:hover { border-color: var(--ink); }
.am-rsform input[type="radio"]:focus-visible, .am-rsform input[type="checkbox"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.am-rsform .rsform-block.formError input[type="radio"], .am-rsform .rsform-block.formError input[type="checkbox"] { border-color: var(--accent); }
.am-rsform .rsformVerticalClear { margin: 0; }
.am-rsform .rsfp-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: var(--space-2); }
/* Link en melding onder een vinkje uitlijnen met de tekst van het vinkje */
.am-rsform .am-field--checkboxgroup .formDescription, .am-rsform .am-field--checkboxgroup .formValidation { padding-left: calc(20px + var(--space-3)); }
.am-rsform .formDescription a { color: var(--accent); text-underline-offset: 3px; }
.am-rsform ::placeholder { color: var(--ink-muted); opacity: .8; }
.am-rsform .am-field--submit .am-btn:disabled { opacity: .6; cursor: progress; }
.am-rsform .am-field--checkboxgroup .formBody { gap: var(--space-1); }

/* /about/david-cok — over-pagina (layout amabout): am-profile-kop, secties met haarlijn, één blok in dark stand (data-theme="labs") */
.am-about__hero { align-items: center; }
.am-about__portrait { display: grid; place-items: center; padding: var(--space-6); }
.am-about__todo { text-align: center; }
.am-profile__name.am-about__title { font-size: clamp(44px, 4.2vw, 60px); line-height: 1.08; }
.am-about__sec { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
.am-about__h2 { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 400; margin: 0; color: var(--ink); text-wrap: balance; }
.am-about__label { margin: 0; }
.am-about__lenses p { margin: 0; }
.am-about__lenses .am-service__name { margin: var(--space-2) 0 var(--space-3); }
.am-about__muted { margin: 0; color: var(--ink-muted); }
.am-about__dark { background: var(--surface); color: var(--ink); padding: var(--space-16) var(--space-12); border-top: 0; }
.am-about__narrow { max-width: var(--text-max); display: grid; gap: var(--space-6); }
.am-about__narrow p { margin: 0; font-size: 19px; line-height: 30px; }
.am-facts.am-about__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin: 0; }
.am-about__stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: var(--space-1); }
.am-about__stats dd { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 300; color: var(--ink); }
.am .am-about__book { display: grid; gap: var(--space-2); max-width: var(--text-max); padding: var(--space-6); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.am-about__book .am-eyebrow { margin: 0; }
.am-about__more { color: var(--accent); font-weight: 500; }
.am-about__book:hover .am-about__more, .am-about__book:focus-visible .am-about__more { text-decoration: underline; }
.am-about__list { margin: var(--space-3) 0 0; padding-left: 1.1em; display: grid; gap: var(--space-2); }
.am-about__offers .am-btn { justify-self: start; }
.am-service.am-about__recommended { border-top-color: var(--accent); }
.am-about__recommended .am-endorse { color: var(--accent); }
.am-facts.am-about__bg { margin: 0; }
.am-about__faq { max-width: var(--text-max); }
.am-about__faq details { border-bottom: 1px solid var(--line); padding: var(--space-4) 0; }
.am-about__faq details:first-child { border-top: 1px solid var(--line); }
.am-about__faq summary { display: flex; justify-content: space-between; gap: var(--space-4); cursor: pointer; list-style: none; font: 500 17px/26px var(--font-sans); color: var(--ink); }
.am-about__faq summary::-webkit-details-marker { display: none; }
.am-about__faq summary::after { content: "+"; font-family: var(--font-mono); color: var(--ink-muted); }
.am-about__faq details[open] summary::after { content: "–"; }
.am-about__faq summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.am-about__faq p { margin: var(--space-3) 0 0; }
.am-about__closing { justify-items: center; text-align: center; padding-block: var(--space-12); }
.am-about__closing p { margin: 0; max-width: 34em; }
@media (max-width: 760px) {
  .am-about__h2 { font-size: 26px; line-height: 32px; }
  .am-about__dark { padding: var(--space-12) var(--space-4); }
  .am-facts.am-about__stats { grid-template-columns: minmax(0, 1fr); }
  .am-facts.am-about__bg { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .am-about__bg dd { margin-bottom: var(--space-3); }
}

/* Footer: makersvermelding in de onderste regel (rechts op desktop, eronder op mobiel); hover in --ember-deep (accent haalt op de footerkleur geen 4,5:1) */
.am-footer__legal { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2) var(--space-6); flex-wrap: wrap; }
.am-footer__credit { font-size: 12px; line-height: 20px; color: var(--ink-muted); }
.am-footer .am-footer__credit a { color: var(--ink-muted); text-decoration: none; }
.am-footer .am-footer__credit a:hover, .am-footer .am-footer__credit a:focus-visible { color: var(--ember-deep); text-decoration: underline; text-underline-offset: 3px; }
[data-theme="labs"] .am-footer .am-footer__credit a:hover, [data-theme="labs"] .am-footer .am-footer__credit a:focus-visible { color: var(--accent); }
@media (max-width: 760px) { .am-footer__legal { flex-direction: column; } }
