.top-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;scroll-snap-align:center;transition:transform 0.3s ease, box-shadow 0.3s ease;width:17rem}
.top-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}
.top-card__image{height:10rem;overflow:hidden;position:relative}
.top-card__image img{height:100%;object-fit:cover;transition:transform 0.5s;width:100%}
.top-card:hover .top-card__image img{transform:scale(1.05)}
.top-card__rating{align-items:center;backdrop-filter:blur(4px);background:var(--color-surface-overlay-90);border-radius:0.25rem;bottom:0.5rem;box-shadow:var(--shadow-xs);display:flex;font-size:0.75rem;font-weight:700;gap:0.125rem;left:0.5rem;padding:0.125rem 0.375rem;position:absolute}
.top-card__rating .material-symbols-outlined{color:var(--color-star);font-size:14px}
.top-card__info{display:flex;flex:1;flex-direction:column;padding:1rem}
.top-card__name{font-size:1rem;font-weight:700;line-height:1.3;transition:color 0.15s}
.top-card:hover .top-card__name{color:var(--color-link)}
.top-card__location{align-items:center;color:var(--color-text-muted);display:flex;font-size:0.8125rem;gap:0.25rem;margin-top:0.125rem}
.top-card__location .material-symbols-outlined{font-size:16px}
.top-card__stars{align-items:center;color:var(--color-primary);display:flex;gap:1px;line-height:1;margin-top:0.5rem}
.top-card__stars .material-symbols-outlined{font-size:16px}
.top-card__usps{display:flex;flex-direction:column;gap:0.375rem;margin:0.75rem 0 1.25rem}
.top-card__usps li{align-items:flex-start;color:var(--color-text-main);display:flex;font-size:0.8125rem;gap:0.375rem;line-height:1.4}
.top-card__usps .material-symbols-outlined{color:var(--color-success);flex-shrink:0;font-size:16px}
.top-card .btn-primary{background-color:transparent;border:1px solid var(--color-primary-border-strong);box-shadow:none;color:var(--color-primary-dark);margin-top:auto;width:100%}
.top-card:hover .btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-xs);color:var(--color-primary-text)}
@media (min-width: 768px){
#top-picks .alt-carousel{gap:1rem;grid-template-columns:repeat(2, 1fr)}
.top-card{width:auto}
}
@media (min-width: 1024px){
#top-picks .alt-carousel{grid-template-columns:repeat(3, 1fr)}
}
