.sf-favorites { gap:clamp(.9rem,2vw,1.5rem); }
.sf-favorites__page-header { align-items:end; border-bottom:1px solid var(--sf-color-border); display:flex; gap:var(--sf-space-4); justify-content:space-between; min-height:var(--sf-row-normal); padding:.25rem 0 var(--sf-space-3); }
.sf-favorites__heading { display:grid; gap:.25rem; min-width:0; }
.sf-favorites__title-line { align-items:baseline; display:flex; gap:.45rem; }
.sf-favorites__title-line h1 { font-size:clamp(1.55rem,2.4vw,2.05rem); letter-spacing:-.035em; margin:0; }
.sf-favorites__title-line>span { color:var(--sf-color-ink-muted); font-size:1rem; }
.sf-favorites__overview { align-items:center; color:var(--sf-color-ink-muted); display:flex; flex-wrap:wrap; font-size:.86rem; gap:.3rem .7rem; margin:0; }
.sf-favorites__overview span+span::before { content:"·"; color:var(--sf-color-ink-muted); margin-right:.7rem; }
.sf-favorites__availability { color:var(--sf-color-success); font-weight:700; }
.sf-favorites__availability i { background:currentColor; border-radius:50%; display:inline-block; height:.45rem; margin-right:.35rem; width:.45rem; }
.sf-favorites__discover-link { display:inline-flex; font-size:.88rem; gap:.35rem; white-space:nowrap; }
.sf-favorites__reservation-note { color:var(--sf-color-ink-muted); font-size:.78rem; margin:-.5rem 0 0; }
.sf-favorites__workspace { gap:.9rem; }
.sf-favorites__toolbar { align-items:center; display:flex; gap:1rem; justify-content:space-between; min-height:2.75rem; }
.sf-favorites__toolbar p { color:var(--sf-color-ink-muted); margin:0; }
.sf-favorites__toolbar-actions { align-items:center; display:flex; gap:.65rem; }
.sf-favorites__sort { align-items:center; display:flex; font-size:.75rem; font-weight:700; gap:.45rem; }
.sf-favorites select,.sf-favorites input { background:var(--sf-color-surface-raised); border:1px solid var(--sf-color-border); border-radius:var(--sf-radius-control); color:inherit; min-height:var(--sf-touch-target); padding:.45rem .65rem; }
.sf-favorites__organizer { position:relative; }
.sf-favorites__organizer>summary { align-items:center; border:1px solid var(--sf-color-border); border-radius:var(--sf-radius-control); cursor:pointer; display:flex; font-size:.82rem; font-weight:700; min-height:var(--sf-touch-target); padding:.5rem .8rem; }
.sf-favorites__organizer>summary::-webkit-details-marker { display:none; }
.sf-favorites__organizer>summary::after { content:"+"; margin-left:.5rem; }
.sf-favorites__organizer[open]>summary::after { content:"−"; }
.sf-favorites__organizer-panel { background:var(--sf-color-surface-raised); border:1px solid var(--sf-color-border); border-radius:var(--sf-radius-panel); box-shadow:var(--sf-shadow-raised); display:grid; gap:1rem; margin-top:.45rem; padding:1rem; position:absolute; right:0; width:min(36rem,calc(100vw - 2rem)); z-index:30; }
.sf-favorites__organizer-heading { display:grid; gap:.1rem; }
.sf-favorites__organizer-heading span { color:var(--sf-color-ink-muted); font-size:.8rem; }
.sf-favorites__organizer-section-heading,.sf-favorites__section-heading { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.sf-favorites__organizer-section-heading h2,.sf-favorites__section-heading h2 { font-size:1.05rem; margin:0; }
.sf-favorites__new-list-trigger { background:none; border:0; color:inherit; cursor:pointer; font-size:.8rem; font-weight:700; min-height:2.25rem; text-decoration:underline; }
.sf-favorites__folders { display:flex; gap:.45rem; overflow-x:auto; padding:.35rem 0; }
.sf-favorites__folders button,.sf-favorites__view-toggle button { background:transparent; border:1px solid var(--sf-color-border); border-radius:var(--sf-radius-pill); color:inherit; cursor:pointer; flex:0 0 auto; min-height:2.5rem; padding:.45rem .75rem; }
.sf-favorites__folders button[aria-pressed="true"],.sf-favorites__view-toggle button[aria-pressed="true"] { background:var(--sf-color-action); border-color:var(--sf-color-action); color:var(--sf-color-on-action); }
.sf-favorites__folders span { opacity:.68; }
.sf-favorites__new-list { align-items:end; display:grid; gap:.5rem; grid-template-columns:minmax(10rem,1fr) auto; margin-top:.5rem; }
.sf-favorites__new-list label,.sf-favorites__filter-fields>label { display:grid; font-size:.75rem; font-weight:700; gap:.25rem; }
.sf-favorites__filter-fields { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)) auto; }
.sf-favorites__availability-toggle { align-items:center!important; display:flex!important; font-size:.82rem!important; gap:.45rem!important; white-space:nowrap; }
.sf-favorites__availability-toggle input { accent-color:var(--sf-color-action); height:1.1rem; min-height:0; padding:0; width:1.1rem; }
.sf-favorites__view-toggle { display:flex; gap:.4rem; }
.sf-favorites__view-toggle button { border-radius:var(--sf-radius-control); font-size:.78rem; }
.sf-favorites__grid { display:grid; gap:clamp(.8rem,1.7vw,1.25rem); grid-template-columns:repeat(2,minmax(0,1fr)); }
.sf-favorites__grid--list { grid-template-columns:1fr; }
.sf-favorite-item { align-content:start; border:1px solid var(--sf-color-border); border-radius:var(--sf-radius-card); display:grid; min-width:0; overflow:hidden; }
.sf-favorite-item .sf-product-card { border:0; border-radius:0; height:auto; }
.sf-favorite-item .sf-product-card__link { height:auto; }
.sf-favorite-item .sf-product-card__body { gap:.25rem; padding:.65rem .7rem .3rem; }
.sf-favorite-item .sf-product-card__body h3 { display:-webkit-box; font-size:.96rem; line-height:1.2; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.sf-favorite-item .sf-product-card__favorite { height:var(--sf-touch-target); right:.5rem; top:.5rem; transition:color var(--sf-motion-fast) var(--sf-ease),transform var(--sf-motion-fast) var(--sf-ease); width:var(--sf-touch-target); }
.sf-favorite-item .sf-product-card__favorite:active { transform:scale(.94); }
.sf-favorite-item__details { display:grid; gap:.5rem; padding:.1rem .7rem .7rem; }
.sf-favorite-item__metadata { color:var(--sf-color-ink-muted); display:flex; flex-wrap:wrap; font-size:.76rem; gap:.2rem .5rem; margin:0; }
.sf-favorite-item__metadata span+span::before { content:"·"; margin-right:.5rem; }
.sf-favorite-item__status { font-weight:700; }
.sf-favorite-item__status.is-available { color:var(--sf-color-success); }
.sf-favorite-item__previous-price { color:var(--sf-color-ink-muted); font-size:.72rem; margin:0; text-decoration:line-through; }
.sf-favorite-item__price { font-size:1.05rem; font-weight:800; margin:0; }
.sf-favorite-item__move { align-items:center; display:grid; font-size:.72rem; font-weight:700; gap:.35rem; grid-template-columns:auto 1fr; }
.sf-favorite-item__move select { min-height:2.25rem; padding:.3rem .45rem; }
.sf-favorite-item__cart { width:100%; }
.sf-favorite-item__secondary-actions { align-items:center; display:flex; font-size:.76rem; gap:.8rem; justify-content:space-between; }
.sf-favorite-item__secondary-actions .sf-share-control { display:inline-flex; }
.sf-favorite-item__secondary-actions .sf-button { background:none; border:0; color:inherit; min-height:2.25rem; padding:.25rem 0; text-decoration:underline; }
.sf-favorite-item__confirmation { align-items:center; background:var(--sf-color-success-bg); border-radius:var(--sf-radius-control); display:flex; flex-wrap:wrap; font-size:.78rem; gap:.45rem .7rem; padding:.6rem; }
.sf-favorite-item__confirmation button,.sf-favorite-item__confirmation a,.sf-favorites__no-results button { background:none; border:0; color:inherit; cursor:pointer; font:inherit; font-weight:700; padding:0; text-decoration:underline; }
.sf-favorite-item__error { color:var(--sf-color-danger); font-size:.78rem; margin:0; }
.sf-favorites__grid--dense .sf-favorite-item__move,.sf-favorites__grid--dense .sf-favorite-item__secondary-actions { display:none; }
.sf-favorites__grid--list .sf-favorite-item { grid-template-columns:minmax(8rem,13rem) 1fr; }
.sf-favorites__grid--list .sf-product-card { grid-row:1; }
.sf-favorites__grid--list .sf-favorite-item__details { align-content:center; grid-column:2; grid-row:1; padding:1rem; }
.sf-favorites__sold { align-items:flex-start; background:var(--sf-color-warning-bg); border-radius:var(--sf-radius-control); display:flex; flex-direction:column; font-size:.76rem; gap:.2rem; padding:.6rem; }
.sf-favorites__no-results { align-items:center; background:var(--sf-color-surface); border-radius:var(--sf-radius-control); display:flex; gap:1rem; justify-content:space-between; padding:1rem; }
.sf-favorites__toast { align-items:center; animation:sf-toast-in .2s ease-out; background:var(--sf-color-action); border-radius:var(--sf-radius-control); bottom:1.25rem; box-shadow:var(--sf-shadow-raised); color:var(--sf-color-on-action); display:flex; gap:1rem; max-width:min(25rem,calc(100vw - 2rem)); padding:.8rem 1rem; position:fixed; right:1.25rem; z-index:80; }
.sf-favorites__toast button { background:none; border:0; color:inherit; cursor:pointer; font-weight:800; padding:.35rem; text-decoration:underline; text-transform:uppercase; }
.sf-favorites__recommendations { border-top:1px solid var(--sf-color-border); padding-top:1.25rem; }
.sf-favorites__utility { align-items:center; border-block:1px solid var(--sf-color-border); display:flex; gap:1rem; justify-content:space-between; padding:.9rem 0; }
.sf-favorites__utility>div:first-child { display:grid; gap:.15rem; max-width:46rem; }
.sf-favorites__utility span { color:var(--sf-color-ink-muted); font-size:.82rem; }
.sf-favorites__recommendation-grid { display:grid; gap:.8rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sf-favorites__recommendation-grid .sf-product-card__body { padding:.65rem; }
.sf-favorites__recommendation-grid h3 { font-size:.9rem; }
.sf-favorites__state { align-items:flex-start; max-width:32rem; padding:clamp(var(--sf-space-5),4vw,var(--sf-space-7)) 0; text-align:left; }
.sf-favorites__state--empty { gap:.65rem; }
.sf-favorites__state--empty>span { color:var(--sf-color-ink-muted); font-size:2rem; line-height:1; }
.sf-favorites__state h2,.sf-favorites__state p { margin:0; }
@keyframes sf-toast-in { from { opacity:0; transform:translateY(.5rem); } }
@media (min-width:43rem) {
    .sf-favorites__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .sf-favorites__grid--dense { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .sf-favorites__recommendation-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:64rem) {
    .sf-favorites__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .sf-favorites__grid--dense { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:42.99rem) {
    .sf-favorites__page-header { align-items:flex-start; min-height:var(--sf-row-normal); padding-bottom:var(--sf-space-3); }
    .sf-favorites__discover-link { font-size:.76rem; margin-top:.35rem; }
    .sf-favorites__toolbar { align-items:flex-start; }
    .sf-favorites__toolbar-actions { align-items:stretch; flex-direction:column; }
    .sf-favorites__sort { justify-content:flex-end; }
    .sf-favorites__sort select { max-width:9rem; }
    .sf-favorites__organizer-panel { max-height:calc(100dvh - var(--sf-mobile-stack-height) - 1rem); overflow:auto; position:fixed; inset:auto .5rem calc(var(--sf-mobile-stack-height) + .5rem); width:auto; }
    body:has(.sf-favorites__organizer[open]) .sf-contact-bubbles { visibility:hidden; }
    .sf-favorites__filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sf-favorites__availability-toggle { grid-column:1/-1; }
    .sf-favorite-item .sf-product-card__body h3 { font-size:.84rem; }
    .sf-favorite-item__details { padding-inline:.55rem; }
    .sf-favorite-item__metadata { font-size:.7rem; }
    .sf-favorite-item__secondary-actions { align-items:flex-start; flex-direction:column; gap:.1rem; }
    .sf-favorites__new-list { grid-template-columns:1fr; }
    .sf-favorites__utility { align-items:flex-start; flex-direction:column; }
    .sf-favorites__toast { bottom:calc(5rem + env(safe-area-inset-bottom)); left:1rem; right:1rem; }
}
@media (max-width:21.99rem) { .sf-favorites__grid,.sf-favorites__recommendation-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .sf-favorites__toast { animation:none; } .sf-favorite-item .sf-product-card__favorite { transition:none; } }
@media (prefers-color-scheme:dark) {
    .sf-favorites__organizer-panel { background:#1c1917; }
    .sf-favorites select,.sf-favorites input { background:#181513; }
    .sf-favorites__sold { background:#30271c; }
}
