.vh-wishlist { position:relative; }
.vh-shell .vh-wishlist.has-wishes { background:var(--wp--preset--color--arcilla); color:var(--wp--preset--color--blanco)!important; border-color:var(--wp--preset--color--arcilla); }
.vh-wishlist.has-wishes svg { fill:currentColor; }
[data-wish-count] { position:absolute; top:-5px; right:-5px; min-width:19px; padding:1px 4px; border-radius:99px; font:12px/17px Georgia,serif; text-align:center; background:var(--wp--preset--color--salvia); color:var(--wp--preset--color--blanco); }
.vwish { padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,5rem); max-width:1680px; margin:auto; color:var(--wp--preset--color--negro); font-family:var(--wp--preset--font-family--body); }
.vwish header { margin-bottom:2rem; max-width:760px; }
.vwish h1 { font:400 clamp(2.5rem,5vw,5rem)/1.1 var(--wp--preset--font-family--heading); margin:.8rem 0 1.5rem; }
.vwish__eyebrow { color:var(--wp--preset--color--arcilla); text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.vwish__note { font-size:.875rem; }
.vwish__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.75rem,2vw,2rem); }
.vwish__card { min-width:0; }
.vwish__image { display:block; aspect-ratio:1; border-radius:24px; overflow:hidden; background:var(--wp--preset--color--beige); }
.vwish .vwish__image img { width:100%; height:100%; object-fit:cover; display:block; }
.vwish h2 { font:400 clamp(1.25rem,2vw,1.8rem)/1.3 var(--wp--preset--font-family--heading); }
.vwish a { color:inherit; }
.vwish h2 a { text-decoration:none; }
.vwish__price ins { color:var(--wp--preset--color--arcilla); text-decoration:none; }
.vwish__card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.vwish__card-actions > a { min-height:44px; display:inline-flex; align-items:center; }
.vwish__save { font:inherit; font-size:.9375rem; display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:44px; max-width:100%; padding:.65rem 1rem; border:1px solid var(--wp--preset--color--arena); border-radius:99px; background:var(--wp--preset--color--beige); color:var(--wp--preset--color--negro); cursor:pointer; }
.vwish__save svg { flex:none; width:20px; height:20px; }
.vwish__save[aria-pressed="true"] { color:var(--wp--preset--color--arcilla); }
.vwish__save[aria-pressed="true"] svg { fill:currentColor; }
.vwish__save[hidden],[data-wish-count][hidden],[data-wish-empty][hidden] { display:none; }
.vwish__empty { padding:clamp(2rem,5vw,4rem); border-radius:24px; background:var(--wp--preset--color--beige); text-align:center; }
.vwish__empty > svg { width:48px; height:48px; color:var(--wp--preset--color--arcilla); }
.vwish__shop { display:inline-flex; align-items:center; gap:1rem; min-height:48px; margin-top:2rem; padding:.75rem 1.25rem; border-radius:99px; background:var(--wp--preset--color--arcilla); color:var(--wp--preset--color--blanco)!important; text-decoration:none; }
.vwish__toast { position:fixed; z-index:100; bottom:1rem; left:50%; transform:translate(-50%,10px); opacity:0; pointer-events:none; max-width:calc(100% - 2rem); width:max-content; padding:.85rem 1.25rem; border-radius:20px; background:var(--wp--preset--color--negro); color:var(--wp--preset--color--blanco); font:400 .9375rem/1.4 var(--wp--preset--font-family--body); transition:opacity .25s,transform .25s; }
.vwish__toast.is-visible { opacity:1; transform:translate(-50%,0); }
@media(min-width:600px) { .vwish__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:1024px) { .vwish__grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .vwish__toast { transition:none; } }

/* Keep narrow two-column cards readable without horizontal overflow. */
.vwish__card h2 { font-size:clamp(1rem,1.5vw,1.5rem); overflow-wrap:anywhere; }
.vwish__card .vwish__image { border-radius:clamp(12px,2vw,24px); }
.vwish__card .vwish__save { width:100%; padding:.5rem; gap:.35rem; font-size:.8125rem; }
.vwish__card .vwish__save span { min-width:0; overflow-wrap:anywhere; }
.vwish__card-actions,.vwish__price { min-width:0; overflow-wrap:anywhere; }
