.personal-preferences{border:1px solid var(--cc-border);border-radius:var(--cc-radius-md);background:var(--cc-surface);padding:16px 20px;margin:20px 0;font-size:14px;line-height:1.6}.personal-preferences summary{font-weight:650;min-height:44px;cursor:pointer;display:list-item}.personal-preferences h3{font-size:18px;line-height:1.4;margin:20px 0 8px}.personal-preferences ul{padding:0;list-style:none}.personal-preferences li{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--cc-border);overflow-wrap:anywhere}.personal-preferences li span{min-width:0}.personal-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.personal-controls button,.personal-preferences button{min-height:44px;font-size:14px;text-align:left;white-space:normal}.personal-filter-note{font-size:14px;line-height:1.6;color:var(--cc-muted);border-left:3px solid var(--cc-border);padding-left:12px}.personal-preferences :focus-visible{outline:3px solid var(--cc-accent);outline-offset:3px}@media(max-width:600px){.personal-preferences{padding:16px}.personal-preferences li{align-items:start;flex-direction:column}.personal-controls{align-items:stretch}.personal-controls button{flex:1 1 180px}}
.personal-preferences li a{min-width:0;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere;color:var(--cc-accent);text-underline-offset:3px}

/* Retained/unavailable saved IDs also need to fit while their scoped fetch is pending. */
[data-saved-products] .saved-watchlist-item>*{min-width:0;max-width:100%}
@media(max-width:600px){[data-saved-products] .saved-watchlist-item{flex-direction:column;align-items:stretch}}

/* Reserve the actual collapsed panel (44px summary + padding, border and margins).
   Contain its margins so mounting does not change the reserved outer geometry. */
#personal-preferences{display:flow-root;min-height:118px}
