.tsc-card {
    position: relative;
}

.tsc-card-link {
    text-decoration: none;
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    transition:
        border-color var(--tsc-htr, 0.3s) ease,
        box-shadow var(--tsc-htr, 0.3s) ease,
        background var(--tsc-htr, 0.3s) ease,
        transform var(--tsc-htr, 0.3s) ease;
}

.tsc-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
}

.tsc-inner img {
    width: 100%;
    height: 100%;
    display: block;
    transition:
        transform var(--tsc-htr, 0.3s) ease,
        filter var(--tsc-htr, 0.3s) ease;
}

.tsc-badge {
    position: absolute;
    z-index: 4;
    pointer-events: none;
    padding: 4px 12px;
    border-radius: 30px;
    transition:
        opacity var(--tsc-htr, 0.3s) ease,
        transform var(--tsc-htr, 0.3s) ease;
}

.tsc-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    box-sizing: border-box;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: background var(--tsc-htr, 0.3s) ease;
}

.tsc-content {
    width: 100%;
}

.tsc-city {
    display: block;
    transition:
        color var(--tsc-htr, 0.3s) ease,
        background var(--tsc-htr, 0.3s) ease;
}

.tsc-country {
    display: block;
    transition: color var(--tsc-htr, 0.3s) ease;
}

.tsc-btn-wrap {
    width: 100%;
    display: flex;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition:
        max-height var(--tsc-htr, 0.3s) ease,
        opacity var(--tsc-htr, 0.3s) ease,
        transform var(--tsc-htr, 0.3s) ease;
}

.tsc-card-link:hover .tsc-btn-wrap {
    max-height: 50px;
    opacity: 1;
    transform: translateY(0);
}

.tsc-btn {
    display: inline-block;
    transition:
        color var(--tsc-htr, 0.3s) ease,
        background var(--tsc-htr, 0.3s) ease,
        border-bottom-color var(--tsc-htr, 0.3s) ease,
        text-shadow var(--tsc-htr, 0.3s) ease;
}