.sp-card{background:#fffdf9;border:1px solid #d9d0c5;border-radius:12px;padding:24px;margin:18px 0;color:#302c29;font-family:inherit}.sp-card h3{margin:8px 0 16px;font-size:1.3rem}.sp-card p{line-height:1.6}.sp-eyebrow{font-size:.7rem;letter-spacing:.12em;color:#805044}.sp-badge{display:inline-block;background:#efe7dc;padding:5px 10px;border-radius:16px;font-size:.78rem}.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.sp-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}.sp-button{font:inherit;font-size:.87rem;border:1px solid #703344;border-radius:6px;background:#703344;color:white;padding:11px 16px;cursor:pointer}.sp-secondary{background:transparent;color:#703344}.sp-button:disabled{opacity:.5;cursor:wait}.sp-field{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:.9rem}.sp-field input,.sp-field textarea{box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid #cfc3b5;border-radius:5px;background:white;color:#302c29}.sp-field textarea{min-height:90px}.sp-check{display:flex;gap:12px;line-height:1.5}.sp-check input{flex:0 0 auto;width:18px;height:18px;margin-top:4px}.sp-small,.sp-muted{font-size:.82rem;line-height:1.5;color:#71685f}.sp-error{color:#9a2032;font-size:.9rem}.sp-success{color:#25543f}.sp-proposal{max-width:680px;width:100%;box-sizing:border-box}.sp-proposal dl>div{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:10px;padding:5px 0}.sp-proposal dt{color:#77685e;font-size:.83rem}.sp-proposal dd{margin:0;overflow-wrap:anywhere;font-size:.9rem}.sp-pending{margin-top:32px}.sp-link{display:inline-block;margin:10px 0;color:#703344} [data-sophie-personal-area]{margin:28px 0}.message-row>.sp-proposal{flex-basis:100%}.message-row:has(.sp-proposal){flex-wrap:wrap}.sp-personal-note{font-size:.78rem;color:#74695e;padding:10px 0}.sp-button:focus-visible,.sp-field input:focus-visible,.sp-field textarea:focus-visible{outline:3px solid #c79665;outline-offset:3px}

/* Explicit wishlist actions on recommendation cards, with or without an image. */
.wine-product-card .sp-heart{display:block;width:100%;margin-top:12px;padding:9px 12px;border:1px solid #7c2332;border-radius:8px;background:transparent;color:#7c2332;font:inherit;cursor:pointer;text-align:center}
.wine-product-card .sp-heart.is-saved{background:#7c2332;color:#fff}
.wine-product-card .sp-heart:focus-visible{outline:3px solid #7c2332;outline-offset:3px}
.wine-product-card .sp-heart:disabled{opacity:.55;cursor:wait}
.wine-product-card .sp-heart-name{display:block;margin-top:10px;font-size:12px}
.wine-product-card .sp-heart-name input{box-sizing:border-box;width:100%;padding:8px;margin-top:5px}

