/* Favorites heart buttons */
.fav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:rgba(183,28,45,.08);color:#B71C2D;cursor:pointer;font-size:16px;transition:all .2s;position:relative}
.fav-btn:hover{background:rgba(183,28,45,.15);transform:scale(1.1)}
.fav-btn.fav-active{background:#B71C2D;color:#fff}
.fav-btn.fav-active::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid #B71C2D;opacity:.3;animation:fav-pulse .6s ease-out}

/* Inline heart (for cards) */
.fav-inline{cursor:pointer;color:#ccc;transition:all .2s;font-size:18px}
.fav-inline:hover{color:#B71C2D;transform:scale(1.2)}
.fav-inline.fav-active{color:#B71C2D}

/* Navbar badge */
.fav-nav-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:50%;background:#B71C2D;color:#fff;font-size:9px;font-weight:800;display:none;align-items:center;justify-content:center;padding:0 4px}

/* Trip planner panel */
.trip-panel{position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#fff;box-shadow:0 -4px 24px rgba(0,0,0,.15);border-radius:20px 20px 0 0;transform:translateY(100%);transition:transform .3s ease;max-height:60vh;overflow-y:auto}
.trip-panel.open{transform:translateY(0)}
.trip-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;border-radius:20px 20px 0 0;z-index:1}
.trip-header h3{font-size:16px;margin:0}.trip-header .close{cursor:pointer;font-size:20px;color:#999}
.trip-list{padding:12px 24px}
.trip-item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f5f5f5}
.trip-item .num{width:28px;height:28px;border-radius:50%;background:#B71C2D;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trip-item .info{flex:1}.trip-item .info h4{font-size:14px;margin:0}.trip-item .info .meta{font-size:11px;color:#999}
.trip-item .remove{cursor:pointer;color:#ccc;font-size:16px}.trip-item .remove:hover{color:#B71C2D}
.trip-actions{padding:16px 24px;display:flex;gap:8px;flex-wrap:wrap}
.trip-btn{padding:10px 20px;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer;border:none}
.trip-btn-primary{background:#B71C2D;color:#fff}.trip-btn-outline{background:none;border:2px solid #ddd;color:#666}

@keyframes fav-pulse{from{opacity:.5;transform:scale(1)} to{opacity:0;transform:scale(1.5)}}
