/* ub-wishlist: wishlist grid (3 per row) and toast */
.wl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1100px){.wl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wl-grid{grid-template-columns:1fr}}
.wl-card{position:relative;background:#fff;border:1px solid #e3eaf3;border-radius:14px;overflow:hidden;transition:opacity .25s,transform .25s}
.wl-card.is-leaving{opacity:0;transform:scale(.97)}
.wl-photo{position:relative;display:block;height:200px;background:#dfe7f1}
.wl-photo img{display:block;width:100%;height:100%;object-fit:cover}
.wl-badge{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:6px;background:#e5484d;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.wl-price{position:absolute;left:14px;bottom:12px;color:#fff;font-size:22px;font-weight:800;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.wl-price small{font-size:13px;font-weight:600}
.wl-heartform{position:absolute;right:14px;top:178px;margin:0}
.wl-heart{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#e5484d;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer}
.wl-heart svg{width:22px;height:22px;fill:currentColor}
.wl-body{padding:18px 16px 12px}
.wl-body h2{margin:0 0 3px;font-size:16px}
.wl-body h2 a{color:#0f2a5c;text-decoration:none}
.wl-loc{margin:0;color:#8794a8;font-size:13px}
.wl-meta{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;border-top:1px solid #e9eef5;color:#64748b;font-size:12.5px}
.wl-meta span{padding:12px 6px;text-align:center;border-right:1px solid #e9eef5}
.wl-details{margin:0 12px;padding:5px 12px;border-radius:6px;background:#dff6fa;color:#0b8aa3;font-size:12px;font-weight:700;text-decoration:none}
.icon-button.is-saved,.button.is-saved{color:#e5484d}
.ub-toast{position:fixed;left:50%;bottom:28px;z-index:10050;padding:12px 20px;border-radius:999px;background:#0f2a5c;color:#fff;font-size:14px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.28);opacity:0;transform:translate(-50%,20px);transition:.25s;pointer-events:none}
.ub-toast::before{content:"\2665  ";color:#ff6b78}
.ub-toast.is-off::before{content:"\2661  ";color:#9fb4d6}
.ub-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ub-header-v2: header actions pulled in from the right edge */
.header-actions{padding-right:22px}
@media (max-width:760px){.header-actions{padding-right:6px}}
