/* MIDDERMUSIC Affiliate Links v1.2.0: boxes, tables, grids. Mobile-first; colours and type
   come from the theme tokens (--mm-*), with brand fallbacks for themes without them.
   Every rule is scoped to .ml-aff-*; the --ml-aff-* properties stay overridable. */
:where(.ml-aff-box,.ml-aff-cta,.ml-aff-table,.ml-aff-grid,.ml-aff-table__note){--ml-aff-ink:var(--mm-ink,#0B0B0C);--ml-aff-paper:var(--mm-paper,#F6F5F1);--ml-aff-meta:var(--mm-meta,#5A5A5E);--ml-aff-rule:var(--mm-rule,#CFCDC6);--ml-aff-lilac:var(--mm-lilac,#B9A6DB);--ml-aff-sans:var(--mm-font-sans,Arimo,Arial,sans-serif);--ml-aff-mono:var(--mm-font-mono,"IBM Plex Mono",ui-monospace,monospace);--ml-aff-gap:16px;--ml-aff-padding:16px;--ml-aff-border:1px solid var(--ml-aff-ink);--ml-aff-radius:0;--ml-aff-bg:transparent;--ml-aff-media-width:180px;--ml-aff-button-bg:var(--ml-aff-ink);--ml-aff-button-border:2px solid var(--ml-aff-ink);--ml-aff-button-color:var(--ml-aff-paper);--ml-aff-button-padding:12px 18px;--ml-aff-button-radius:0}
.ml-aff-box,.ml-aff-cta,.ml-aff-table,.ml-aff-grid{font-family:var(--ml-aff-sans);font-size:16px;line-height:1.45;color:var(--ml-aff-ink);margin-block:24px}
.ml-aff-box{display:grid;gap:12px var(--ml-aff-gap);padding:var(--ml-aff-padding);border:var(--ml-aff-border);border-radius:var(--ml-aff-radius);background:var(--ml-aff-bg)}
.ml-aff-box p,.ml-aff-box ul,.ml-aff-box h2,.ml-aff-box h3,.ml-aff-box h4,.ml-aff-grid p,.ml-aff-table ul{margin:0}
.ml-aff-box__badge,.ml-aff-table__badge,.ml-aff-tag{font-family:var(--ml-aff-mono);font-size:12px;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;font-weight:500}
.ml-aff-box__badge{justify-self:start;background:var(--ml-aff-lilac);color:var(--mm-ink,#0B0B0C);padding:3px 8px}
.ml-aff-box__media{margin:0;max-width:var(--ml-aff-media-width)}
.ml-aff-box__img,.ml-aff-grid__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.ml-aff-box__body{display:grid;gap:10px;min-width:0}
.ml-aff-box__title{font:700 19px/1.3 var(--ml-aff-sans)}
.ml-aff-box a{color:inherit}
.ml-aff-box__title-link{text-decoration:none}
.ml-aff-box__features,.ml-aff-table__features{list-style:none;padding:0}
.ml-aff-box__features li,.ml-aff-table__features li{position:relative;padding-left:16px}
.ml-aff-box__features li+li,.ml-aff-table__features li+li{margin-top:4px}
.ml-aff-box__features li::before,.ml-aff-table__features li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:currentColor}
.ml-aff-box__price small,.ml-aff-box__note,.ml-aff-table__note{font-size:13px;color:var(--ml-aff-meta)}
.ml-aff-box__cta{display:flex;flex-wrap:wrap;gap:8px}
.ml-aff-box .ml-aff-box__button,.ml-aff-cta .ml-aff-box__button,.ml-aff-table .ml-aff-box__button,.ml-aff-grid .ml-aff-box__button{display:inline-flex;align-items:center;justify-content:center;gap:.25em;min-height:44px;box-sizing:border-box;padding:var(--ml-aff-button-padding);border:var(--ml-aff-button-border);border-radius:var(--ml-aff-button-radius);background:var(--ml-aff-button-bg);color:var(--ml-aff-button-color);font:700 15px/1.2 var(--ml-aff-sans);text-decoration:none;text-align:center}
.ml-aff-box__button:not(.ml-aff-box__button--secondary)::after{content:" \2192";content:" \2192"/""}
.ml-aff-box .ml-aff-box__button--secondary{background:transparent;color:var(--ml-aff-ink)}
.ml-aff-box__button:hover{background:var(--mm-deck,#2A2A2D);color:var(--ml-aff-paper)}
.ml-aff-box a:focus-visible,.ml-aff-cta a:focus-visible,.ml-aff-table a:focus-visible,.ml-aff-grid a:focus-visible{outline:var(--mm-focus,2px solid #0B0B0C);outline-offset:2px}
.ml-aff-tag{display:inline-block;padding:2px 6px;border:1px solid currentColor;color:var(--ml-aff-ink);margin-right:6px}
.ml-aff-cta{display:grid;gap:8px;justify-items:start}
.ml-aff-cta .ml-aff-box__note{margin:0}
/* Table: stacked cards on phones, a real table from 640px. */
.ml-aff-table__table{width:100%;border-collapse:collapse;margin:0}
.ml-aff-table caption{caption-side:top;text-align:left;font:500 12px/1.4 var(--ml-aff-mono);text-transform:uppercase;letter-spacing:.04em;padding-bottom:8px}
.ml-aff-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ml-aff-table tr{display:grid;gap:8px;padding:16px 0;border-top:1px solid var(--ml-aff-rule)}
.ml-aff-table tbody tr:first-child{border-top:3px solid var(--ml-aff-ink)}
.ml-aff-table th,.ml-aff-table td{display:block;padding:0;border:0;text-align:left;font-weight:400;vertical-align:top}
.ml-aff-table td[data-label]::before{content:attr(data-label);display:block;font:500 12px/1.4 var(--ml-aff-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ml-aff-meta)}
.ml-aff-table__product{display:flex!important;gap:12px;align-items:center}
.ml-aff-table__media{flex:0 0 72px}
.ml-aff-table__img{display:block;width:72px;height:48px;object-fit:contain}
.ml-aff-table__id{display:grid;gap:2px}
.ml-aff-table__badge{color:var(--ml-aff-meta)}
.ml-aff-table .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ml-aff-table__name{font-weight:700;color:inherit;text-decoration:none}
.ml-aff-box__score,.ml-aff-table__score{font-weight:700;font-size:24px;line-height:1}
.ml-aff-box__score{margin:0 0 8px}
.ml-aff-box__score small,.ml-aff-table__score small{font:500 12px var(--ml-aff-mono);margin-left:2px}
.ml-aff-table__cta,.ml-aff-grid__cta{display:grid!important;gap:6px;justify-items:start}
@media (max-width:639.98px){.ml-aff-table td:empty{display:none}}
@media (min-width:640px){
.ml-aff-box--media{grid-template-columns:var(--ml-aff-media-width) 1fr;align-items:start}
.ml-aff-box--media .ml-aff-box__badge{grid-column:1/-1}
.ml-aff-table{overflow-x:auto}
.ml-aff-table thead{position:static;width:auto;height:auto;clip-path:none;display:table-header-group}
.ml-aff-table tr{display:table-row;padding:0}
.ml-aff-table th,.ml-aff-table td{display:table-cell;padding:14px 10px;border-top:1px solid var(--ml-aff-rule)}
.ml-aff-table thead th{background:var(--ml-aff-lilac);color:var(--mm-ink,#0B0B0C);font:500 12px/1.4 var(--ml-aff-mono);text-transform:uppercase;letter-spacing:.04em;border:0}
.ml-aff-table td[data-label]::before{display:none}
.ml-aff-table__product{display:table-cell!important}
.ml-aff-table__product>*{vertical-align:middle}
.ml-aff-table__media{display:inline-block;margin-right:10px}
.ml-aff-table__id{display:inline-grid}
.ml-aff-table__cta{display:table-cell!important;white-space:nowrap}
.ml-aff-table__cta>*+*{margin-top:6px}
.ml-aff-table__cta .ml-aff-tag{display:table}
}
.ml-aff-grid{display:grid;gap:var(--ml-aff-gap,16px);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ml-aff-grid__item{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid var(--ml-aff-ink)}
.ml-aff-grid__item .ml-aff-box__badge{justify-self:start}
.ml-aff-grid__name{font-weight:700;font-size:17px}
.ml-aff-grid__name a{color:inherit;text-decoration:none}
.ml-aff-grid__for{color:var(--ml-aff-meta);font-size:15px}
