.merchant-font-picker { min-width:0; margin:22px 0 18px; padding:0; border:0; }
.merchant-font-picker legend { padding:0; color:var(--ink); font-size:15px; font-weight:700; }
.merchant-font-picker>p { margin:8px 0 14px; color:var(--muted); font-size:12px; line-height:1.6; }
.merchant-font-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.merchant-font-option { display:flex; flex-direction:column; gap:9px; min-width:0; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fffdf9; cursor:pointer; }
.merchant-font-option.selected { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); background:#fff8ee; }
.merchant-font-option:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.merchant-font-option-heading { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.merchant-font-option-heading input { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.merchant-font-option-heading strong { color:var(--ink); font-size:13px; }
.merchant-font-option small { color:var(--muted); font-size:10px; line-height:1.5; }
.merchant-font-option .merchant-font-saved { padding:2px 6px; border-radius:6px; color:#43644c; background:#eaf2e8; }
.merchant-font-sample { display:block; margin-top:4px; color:var(--ink); font-size:20px; line-height:1.8; overflow-wrap:anywhere; }
.merchant-font-sample-number { display:block; color:var(--accent); font-size:16px; line-height:1.8; }
.merchant-font-selection-note { margin-top:12px; color:var(--muted); font-size:11px; line-height:1.6; }
.merchant-font-licenses { margin-top:8px; color:var(--muted); font-size:10px; line-height:1.6; }
.merchant-font-licenses a { color:var(--accent); text-underline-offset:3px; }
@media(max-width:680px) { .merchant-font-options { grid-template-columns:1fr; } }
