.jmfm-catalog{margin:28px 0;padding:clamp(22px,4vw,36px);border:1px solid #ffffff24;border-radius:20px;background:#1a1e22}.jmfm-catalog h2{font-size:clamp(25px,4vw,36px);margin:8px 0}.jmfm-catalog>p:not(.eyebrow){color:#c4cbd0;line-height:1.6}.jmfm-catalog label{display:block;margin:20px 0 8px;font-weight:700}.catalog-controls{display:flex;gap:10px}.catalog-controls input{flex:1;min-width:0;padding:13px 15px;border:1px solid #ffffff50;border-radius:10px;background:#101412;color:#fff;font:inherit}.catalog-controls button,.catalog-pages button{padding:10px 18px}.catalog-controls button:disabled,.catalog-pages button:disabled{opacity:.45}.catalog-pages{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px 0 0}.catalog-pages span{color:#d9dfdf;font-size:13px}.catalog-song{padding:14px 0;border-top:1px solid #ffffff20;display:flex;gap:12px;align-items:baseline;justify-content:space-between}.catalog-song strong{display:block}.catalog-song span{color:#c5cbd0;font-size:13px}.catalog-song small{color:#9ca7ad;font-size:12px}.jmfm-catalog #catalog-status{min-height:22px;color:#e4d36d;font-size:13px}@media(max-width:540px){.catalog-controls,.catalog-song{flex-direction:column;align-items:stretch}.catalog-song{gap:4px}.catalog-controls button{width:100%}}
.catalog-ask{white-space:nowrap;padding:9px 15px;cursor:pointer}.catalog-ask:focus-visible,#catalog-request-dialog button:focus-visible{outline:3px solid #e4d36d;outline-offset:3px}
#catalog-request-dialog{width:min(480px,calc(100vw - 28px));padding:0;border:1px solid #ffffff38;border-radius:18px;background:#1a1e22;color:#fff;box-shadow:0 20px 70px #000b}
#catalog-request-dialog::backdrop{background:#000a}.catalog-dialog{padding:clamp(20px,5vw,32px)}.catalog-dialog h3{font-size:24px;margin:0 0 14px}.catalog-dialog p{line-height:1.5}.catalog-dialog #catalog-request-status{min-height:24px;color:#e4d36d}.catalog-dialog-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.catalog-dialog-actions button{padding:11px 16px;cursor:pointer}

/* La confirmation est l'action principale, y compris sur mobile. */
#catalog-request-confirm{background:#e4d36d;color:#172027;border:1px solid #e4d36d;border-radius:12px;min-height:50px;min-width:205px;padding:12px 19px;font-size:16px;font-weight:800;line-height:1.2;box-shadow:0 4px 18px #e4d36d33}
#catalog-request-confirm:hover:not(:disabled){background:#f4e481;border-color:#f4e481}
#catalog-request-confirm:disabled{opacity:.48;box-shadow:none;cursor:default}
#catalog-request-cancel{background:transparent;color:#f3f5ef;border:1px solid #ffffff38;border-radius:12px;min-height:44px;font-size:14px;font-weight:600}
@media(max-width:460px){.catalog-dialog-actions{flex-direction:column;align-items:stretch}.catalog-dialog-actions button{width:100%}}
