.pfs{--saved-ink:#591525;--saved-gold:#edb750;--saved-cream:#faf3e7;padding:42px 0 70px;color:var(--saved-ink);font-size:1rem}.pfs-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px}.pfs-heading h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin:8px 0 14px}.pfs-heading p{margin:0 0 8px;line-height:1.6}.pfs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pfs-group-title{margin:36px 0 18px;font-size:1.55rem}.pfs-card{border:1px solid #e9ddcf;border-radius:18px;overflow:hidden;background:#fff;min-width:0}.pfs-image{width:100%;height:210px;object-fit:cover;background:var(--saved-cream)}.pfs-copy{padding:22px;display:flex;flex-direction:column;gap:12px}.pfs-copy h3{font-size:1.25rem;margin:0}.pfs-copy p{line-height:1.6;margin:0;overflow-wrap:anywhere}.pfs-price{font-size:1.45rem}.pfs-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;background:var(--saved-ink,#591525);color:#fff;border:1px solid var(--saved-ink,#591525);border-radius:10px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer;gap:8px}.pfs-outline{background:transparent;color:var(--saved-ink,#591525)}.pfs-button:hover{filter:brightness(1.12)}.pfs-button:disabled{opacity:.6;cursor:wait}.pfs-button:focus-visible,.pfs-heart:focus-visible,.pfs-remove:focus-visible,.pfs summary:focus-visible{outline:3px solid #d99a23;outline-offset:3px}.pfs-copy form .pfs-button{width:100%}.pfs-details,.pfs-rename{font-size:.9375rem;line-height:1.6}.pfs summary{cursor:pointer;padding:8px 0;font-weight:650}.pfs-details p{margin:8px 0}.pfs-rename input{width:100%;min-height:44px;border:1px solid #c9b7ba;padding:9px;border-radius:8px;font:inherit;margin:8px 0}.pfs-remove{border:0;background:none;font:inherit;color:#6c5260;text-decoration:underline;min-height:44px;cursor:pointer}.pfs-product-link{font-size:.9375rem;color:inherit}.pfs-empty{padding:clamp(24px,5vw,60px);background:var(--saved-cream);border-radius:20px;max-width:760px}.pfs-empty h2{font-size:1.7rem}.pfs-empty p{line-height:1.65;margin-bottom:22px}.pfs-notice,.pfs-warning{line-height:1.6;font-size:.9375rem;padding:12px 16px;border-radius:10px;background:#fff5df}.pfs-check{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.pfs-check input{width:18px;height:18px;flex:none;margin-top:4px;accent-color:#591525}.pfs-save-row{display:flex;gap:12px;align-items:center;margin:14px 0;flex-wrap:wrap}.pfs-save-row button{font-size:.9375rem}.pfm-card{position:relative}.pfs-favorite-form{position:absolute;right:12px;top:12px;z-index:1}.pfs-heart{display:grid;place-items:center;width:46px;height:46px;border:1px solid #e7d8ca;border-radius:50%;background:#fff9ef;color:#591525;font:inherit;font-size:1.75rem;cursor:pointer;box-shadow:0 3px 12px #59152515}.pfs-heart[aria-pressed=true]{background:#591525;color:white}.pfs-feedback{font-size:.9375rem;line-height:1.5;color:#591525;background:#fff4dd;padding:10px 14px;border-radius:8px;margin:10px 0}.pfs-favorite-form .pfs-feedback{position:absolute;right:0;top:48px;width:min(240px,65vw);font-size:.875rem;box-shadow:0 5px 20px #59152520}.pfs-feedback a{color:inherit;text-decoration:underline}.pfs-feedback[role=alert]{border-left:3px solid #ad3446}@media(max-width:1000px){.pfs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pfs{padding-top:25px}.pfs-heading{display:block}.pfs-heading>.pfs-button{margin-top:12px}.pfs-grid{grid-template-columns:1fr}.pfs-image{height:220px}.pfs-copy{padding:20px}.pfs-save-row .pfs-button{width:100%}}
.pf-component #pf-public-menu .pfs-heart { display:grid; place-items:center; width:46px; height:46px; min-height:46px; padding:7px; border:1px solid #e7d8ca; border-radius:50%; background:#fff9ef; color:var(--pf-wine,#591525); }
.pf-component #pf-public-menu .pfs-heart svg { width:30px; height:30px; fill:none; transition:transform .18s; }
.pf-component #pf-public-menu .pfs-heart[aria-pressed=true] { color:var(--pf-wine,#591525); background:#fff2e7; }
.pf-component #pf-public-menu .pfs-heart[aria-pressed=true] svg { fill:currentColor; }
.pf-component #pf-public-menu .pfs-heart:hover svg { transform:scale(1.06); }
@media(prefers-reduced-motion:reduce) { .pf-component #pf-public-menu .pfs-heart svg { transition:none; } }
